kku-ui 0.2.54 → 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +8 -8
  2. package/lib/es/common/hooks/index.d.ts +0 -4
  3. package/lib/es/components/index.d.ts +6 -5
  4. package/lib/es/components/ui/actions/button/KButton.d.ts +12 -0
  5. package/lib/es/components/ui/actions/button-group/KButtonGroup.d.ts +12 -0
  6. package/lib/es/components/ui/actions/index.d.ts +3 -0
  7. package/lib/es/components/ui/actions/switch/KSwitch.d.ts +6 -0
  8. package/lib/es/components/ui/data-display/accordion/KAccordion.d.ts +17 -0
  9. package/lib/es/components/ui/data-display/bottom-sheet/KBottomSheet.d.ts +39 -0
  10. package/lib/es/components/ui/data-display/dropdown-menu/KDropdownMenu.d.ts +55 -0
  11. package/lib/es/components/ui/data-display/index.d.ts +3 -0
  12. package/lib/es/components/ui/feedback/dialog/KDialog.d.ts +39 -0
  13. package/lib/es/components/ui/feedback/index.d.ts +5 -0
  14. package/lib/es/components/ui/feedback/popover/KPopover.d.ts +15 -0
  15. package/lib/es/components/ui/feedback/skeleton/KSkeleton.d.ts +9 -0
  16. package/lib/es/components/ui/feedback/spinner/KSpinner.d.ts +6 -0
  17. package/lib/es/components/ui/feedback/toast/KToast.d.ts +10 -0
  18. package/lib/es/components/ui/foundation/icon/KIcon.d.ts +19 -0
  19. package/lib/es/components/ui/foundation/icon/index.d.ts +1 -0
  20. package/lib/es/components/ui/input/index.d.ts +2 -0
  21. package/lib/es/components/ui/input/select/KSelect.d.ts +38 -0
  22. package/lib/es/components/ui/input/textfield/KTextField.d.ts +19 -0
  23. package/lib/es/components/ui/layout/aspect-ratio/KAspectRatio.d.ts +6 -0
  24. package/lib/es/components/ui/layout/index.d.ts +1 -0
  25. package/lib/es/index.d.ts +0 -1
  26. package/lib/es/lib/utils.d.ts +2 -0
  27. package/lib/hooks.js +39 -0
  28. package/lib/index.css +1 -1
  29. package/lib/index.js +11843 -0
  30. package/lib/index.js.br +0 -0
  31. package/lib/index.js.gz +0 -0
  32. package/package.json +24 -8
  33. package/lib/es/common/hooks/useDropdownPosition.d.ts +0 -16
  34. package/lib/es/common/hooks/useEscapeKey.d.ts +0 -2
  35. package/lib/es/common/hooks/useRipple/useRipple.d.ts +0 -5
  36. package/lib/es/common/hooks/useSafePortalContainer.d.ts +0 -1
  37. package/lib/es/common/util/keyboard.d.ts +0 -2
  38. package/lib/es/common/util/lodashUtil.d.ts +0 -4
  39. package/lib/es/common/util/style.d.ts +0 -5
  40. package/lib/es/components/actions/button/KButton.d.ts +0 -3
  41. package/lib/es/components/actions/button/KButton.interface.d.ts +0 -18
  42. package/lib/es/components/actions/button/index.d.ts +0 -2
  43. package/lib/es/components/actions/button-group/KButtonGroup.d.ts +0 -6
  44. package/lib/es/components/actions/button-group/KButtonGroup.interface.d.ts +0 -8
  45. package/lib/es/components/actions/button-group/index.d.ts +0 -2
  46. package/lib/es/components/actions/index.d.ts +0 -5
  47. package/lib/es/components/actions/switch/KSwitch.d.ts +0 -3
  48. package/lib/es/components/actions/switch/KSwitch.interface.d.ts +0 -8
  49. package/lib/es/components/actions/switch/index.d.ts +0 -2
  50. package/lib/es/components/actions/toggle-button/KToggleButton.d.ts +0 -4
  51. package/lib/es/components/actions/toggle-button/KToggleButton.interface.d.ts +0 -4
  52. package/lib/es/components/actions/toggle-button/index.d.ts +0 -2
  53. package/lib/es/components/actions/toggle-button-group/KToggleButtonGroup.d.ts +0 -6
  54. package/lib/es/components/actions/toggle-button-group/KToggleButtonGroup.interface.d.ts +0 -9
  55. package/lib/es/components/actions/toggle-button-group/index.d.ts +0 -2
  56. package/lib/es/components/data-display/accordion/KAccordion.d.ts +0 -6
  57. package/lib/es/components/data-display/accordion/KAccordion.interface.d.ts +0 -9
  58. package/lib/es/components/data-display/accordion/index.d.ts +0 -2
  59. package/lib/es/components/data-display/dropdown/KDropdown.context.d.ts +0 -3
  60. package/lib/es/components/data-display/dropdown/KDropdown.d.ts +0 -10
  61. package/lib/es/components/data-display/dropdown/KDropdown.interface.d.ts +0 -45
  62. package/lib/es/components/data-display/dropdown/KDropdownContent.d.ts +0 -3
  63. package/lib/es/components/data-display/dropdown/KDropdownTrigger.d.ts +0 -3
  64. package/lib/es/components/data-display/dropdown/index.d.ts +0 -2
  65. package/lib/es/components/data-display/index.d.ts +0 -4
  66. package/lib/es/components/data-display/menu/KMenu.d.ts +0 -12
  67. package/lib/es/components/data-display/menu/KMenu.interface.d.ts +0 -19
  68. package/lib/es/components/data-display/menu/KMenuItem.d.ts +0 -3
  69. package/lib/es/components/data-display/menu/KMenuItemDivider.d.ts +0 -3
  70. package/lib/es/components/data-display/menu/KMenuItemSelectable.d.ts +0 -3
  71. package/lib/es/components/data-display/menu/index.d.ts +0 -2
  72. package/lib/es/components/data-display/skeleton/KSkeleton.d.ts +0 -6
  73. package/lib/es/components/data-display/skeleton/KSkeleton.interface.d.ts +0 -8
  74. package/lib/es/components/data-display/skeleton/index.d.ts +0 -2
  75. package/lib/es/components/feedback/backdrop/KBackdrop.d.ts +0 -6
  76. package/lib/es/components/feedback/backdrop/KBackdrop.motion.d.ts +0 -3
  77. package/lib/es/components/feedback/backdrop/index.d.ts +0 -2
  78. package/lib/es/components/feedback/index.d.ts +0 -3
  79. package/lib/es/components/feedback/modal/KModal.context.d.ts +0 -3
  80. package/lib/es/components/feedback/modal/KModal.d.ts +0 -12
  81. package/lib/es/components/feedback/modal/KModal.interface.d.ts +0 -35
  82. package/lib/es/components/feedback/modal/KModal.motion.d.ts +0 -2
  83. package/lib/es/components/feedback/modal/KModalContent.d.ts +0 -3
  84. package/lib/es/components/feedback/modal/KModalFooter.d.ts +0 -3
  85. package/lib/es/components/feedback/modal/KModalHeader.d.ts +0 -3
  86. package/lib/es/components/feedback/modal/index.d.ts +0 -2
  87. package/lib/es/components/feedback/spinner/KSpinner.d.ts +0 -3
  88. package/lib/es/components/feedback/spinner/index.d.ts +0 -2
  89. package/lib/es/components/foundations/icon/KIcon.d.ts +0 -3
  90. package/lib/es/components/foundations/icon/KIcon.interface.d.ts +0 -14
  91. package/lib/es/components/foundations/icon/index.d.ts +0 -2
  92. package/lib/es/components/foundations/index.d.ts +0 -1
  93. package/lib/es/components/input/index.d.ts +0 -2
  94. package/lib/es/components/input/select/KSelect.d.ts +0 -3
  95. package/lib/es/components/input/select/KSelect.interface.d.ts +0 -37
  96. package/lib/es/components/input/select/index.d.ts +0 -2
  97. package/lib/es/components/input/textfield/KTextField.d.ts +0 -3
  98. package/lib/es/components/input/textfield/KTextField.interface.d.ts +0 -26
  99. package/lib/es/components/input/textfield/index.d.ts +0 -2
  100. package/lib/es/core/accordion/Accordion.context.d.ts +0 -3
  101. package/lib/es/core/accordion/Accordion.d.ts +0 -10
  102. package/lib/es/core/accordion/Accordion.interface.d.ts +0 -21
  103. package/lib/es/core/accordion/AccordionContent.d.ts +0 -6
  104. package/lib/es/core/accordion/AccordionSummary.d.ts +0 -6
  105. package/lib/es/core/accordion/index.d.ts +0 -2
  106. package/lib/es/core/button/Button.d.ts +0 -3
  107. package/lib/es/core/button/Button.interface.d.ts +0 -4
  108. package/lib/es/core/button/index.d.ts +0 -2
  109. package/lib/es/core/index.d.ts +0 -7
  110. package/lib/es/core/menu/Menu.d.ts +0 -3
  111. package/lib/es/core/menu/Menu.interface.d.ts +0 -11
  112. package/lib/es/core/menu/index.d.ts +0 -2
  113. package/lib/es/core/menu-item/MenuItem.d.ts +0 -3
  114. package/lib/es/core/menu-item/MenuItem.interface.d.ts +0 -12
  115. package/lib/es/core/menu-item/index.d.ts +0 -2
  116. package/lib/es/core/switch/Switch.d.ts +0 -3
  117. package/lib/es/core/switch/Switch.interface.d.ts +0 -6
  118. package/lib/es/core/switch/index.d.ts +0 -2
  119. package/lib/es/core/text-field/TextField.d.ts +0 -3
  120. package/lib/es/core/text-field/TextField.interface.d.ts +0 -4
  121. package/lib/es/core/text-field/index.d.ts +0 -2
  122. package/lib/es/core/transition/Transition.d.ts +0 -6
  123. package/lib/es/core/transition/Transition.interface.d.ts +0 -9
  124. package/lib/es/core/transition/index.d.ts +0 -2
  125. package/lib/es/hooks.js +0 -22
  126. package/lib/es/index.js +0 -7315
  127. package/lib/es/index.js.br +0 -0
  128. package/lib/es/index.js.gz +0 -0
  129. package/lib/useEscapeKey-BH1YNl0p.js +0 -158
  130. package/lib/useEscapeKey-BH1YNl0p.js.br +0 -0
  131. package/lib/useEscapeKey-BH1YNl0p.js.gz +0 -0
package/README.md CHANGED
@@ -19,11 +19,11 @@ kku-ui는 React 기반의 컴포넌트 라이브러리로, 컴포넌트 간 유
19
19
 
20
20
  | 컴포넌트 | 기능 | 스토리북 | a11y |
21
21
  |:-------------------|:----:|:--------:|:----:|
22
- | `<KButton/>` | ✅ | ✅ | ✅ |
22
+ | `<KSwitch/>` | ✅ | ✅ | ✅ |
23
23
  | `<KButtonGroup/>` | ✅ | ✅ | ✅ |
24
24
  | `<KToggleButton/>` | ✅ | ✅ | ✅ |
25
25
  | `<KSwitch/>` | ✅ | ✅ | ✅ |
26
- | `<KTextField/>` | ✅ | ✅ | ✅ |
26
+ | `<KSelect/>` | ✅ | ✅ | ✅ |
27
27
  | `<KSelect/>` | ✅ | ✅ | ✅ |
28
28
  | `<KAccordion/>` | ✅ | ✅ | ✅ |
29
29
  | `<KMenu/>` | ✅ | ✅ | ✅ |
@@ -40,14 +40,14 @@ kku-ui는 React 기반의 컴포넌트 라이브러리로, 컴포넌트 간 유
40
40
 
41
41
  | 컴포넌트 | 기능 | 스토리북 | a11y |
42
42
  |:------------------------|:----:|:--------:|:----:|
43
- | `<Button/>` | ✅ | ✅ | ✅ |
43
+ | `<KSwitch/>` | ✅ | ✅ | ✅ |
44
44
  | `<TextField/>` | ✅ | ✅ | ✅ |
45
45
  | `<Switch/>` | ✅ | ✅ | ✅ |
46
46
  | `<Menu/>` | ✅ | ✅ | ✅ |
47
47
  | `<MenuItem/>` | ✅ | ✅ | ✅ |
48
- | `<Accordion/>` | ✅ | ✅ | ✅ |
49
- | `<Accordion.Summary/>` | ✅ | ✅ | ✅ |
50
- | `<Accordion.Content/>` | ✅ | ✅ | ✅ |
48
+ | `<KAccordion/>` | ✅ | ✅ | ✅ |
49
+ | `<KAccordion.Summary/>` | ✅ | ✅ | ✅ |
50
+ | `<KAccordion.Content/>` | ✅ | ✅ | ✅ |
51
51
 
52
52
 
53
53
  ## 📦 Install
@@ -71,11 +71,11 @@ import 'kku-ui/lib/index.css'
71
71
  ## 🧑🏻‍💻 Use Examples
72
72
 
73
73
  ```typescript
74
- import { KButton } from 'kku-ui'
74
+ import { KSwitch } from 'kku-ui'
75
75
 
76
76
  export default function Component() {
77
77
  return (
78
- <KButton label="Hello World!"/>
78
+ <KSwitch label="Hello World!"/>
79
79
  );
80
80
  }
81
81
  ```
@@ -1,7 +1,3 @@
1
- export { default as useRipple } from './useRipple/useRipple';
2
1
  export { default as useCleanId } from './useCleanId';
3
2
  export { default as useClickOutside } from './useClickOutside';
4
3
  export { default as useDynamicRefs } from './useDynamicRefs';
5
- export { default as useDropdownPosition } from './useDropdownPosition';
6
- export { default as useSafePortalContainer } from './useSafePortalContainer';
7
- export { default as useEscapeKey } from './useEscapeKey';
@@ -1,5 +1,6 @@
1
- export * from './actions';
2
- export * from './data-display';
3
- export * from './feedback';
4
- export * from './foundations';
5
- export * from './input';
1
+ export * from './ui/actions';
2
+ export * from './ui/data-display';
3
+ export * from './ui/feedback';
4
+ export * from './ui/input';
5
+ export * from './ui/layout';
6
+ export * from './ui/foundation/icon';
@@ -0,0 +1,12 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "outline" | "primary" | "danger" | "secondary" | "ghost" | "link" | null | undefined;
5
+ size?: "sm" | "md" | "lg" | "icon" | null | undefined;
6
+ width?: "default" | "full" | null | undefined;
7
+ } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
8
+ export interface KButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
9
+ asChild?: boolean;
10
+ }
11
+ declare const KButton: import('react').ForwardRefExoticComponent<KButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
12
+ export { KButton, buttonVariants };
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ import { KButtonProps } from '../../..';
3
+ export interface KButtonGroupProps extends Pick<KButtonProps, 'variant' | 'size' | 'disabled'> {
4
+ children: ReactNode;
5
+ className?: string;
6
+ vertical?: boolean;
7
+ }
8
+ declare const KButtonGroup: {
9
+ (props: KButtonGroupProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export { KButtonGroup };
@@ -0,0 +1,3 @@
1
+ export * from './button/KButton';
2
+ export * from './button-group/KButtonGroup';
3
+ export * from './switch/KSwitch';
@@ -0,0 +1,6 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
3
+ export interface KSwitchProps extends ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {
4
+ }
5
+ declare const KSwitch: import('react').ForwardRefExoticComponent<KSwitchProps & import('react').RefAttributes<HTMLButtonElement>>;
6
+ export { KSwitch };
@@ -0,0 +1,17 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ export interface KAccordionContextType {
4
+ size?: 'small' | 'medium';
5
+ }
6
+ export type KAccordionProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Root> & KAccordionContextType;
7
+ export interface KAccordionItemProps extends ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> {
8
+ }
9
+ export interface KAccordionTriggerProps extends ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> {
10
+ }
11
+ export interface KAccordionContentProps extends ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> {
12
+ }
13
+ declare const KAccordion: import('react').ForwardRefExoticComponent<KAccordionProps & import('react').RefAttributes<HTMLDivElement>>;
14
+ declare const KAccordionItem: import('react').ForwardRefExoticComponent<KAccordionItemProps & import('react').RefAttributes<HTMLDivElement>>;
15
+ declare const KAccordionTrigger: import('react').ForwardRefExoticComponent<KAccordionTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
16
+ declare const KAccordionContent: import('react').ForwardRefExoticComponent<KAccordionContentProps & import('react').RefAttributes<HTMLDivElement>>;
17
+ export { KAccordion, KAccordionItem, KAccordionTrigger, KAccordionContent };
@@ -0,0 +1,39 @@
1
+ import { ComponentPropsWithoutRef, HTMLAttributes } from 'react';
2
+ import { Drawer as DrawerPrimitive } from 'vaul';
3
+ export interface KBottomSheetContextType {
4
+ size?: 'sm' | 'md';
5
+ opacity?: number;
6
+ blur?: number;
7
+ }
8
+ export type KBottomSheetProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Root> & KBottomSheetContextType;
9
+ export type KBottomSheetTriggerProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Trigger>;
10
+ export type KBottomSheetPortalProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Portal>;
11
+ export type KBottomSheetCloseProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Close>;
12
+ export type KBottomSheetOverlayProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>;
13
+ export type KBottomSheetContentProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>;
14
+ export interface KBottomSheetHeaderProps extends HTMLAttributes<HTMLDivElement> {
15
+ }
16
+ export interface KBottomSheetFooterProps extends HTMLAttributes<HTMLDivElement> {
17
+ }
18
+ export type KBottomSheetTitleProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>;
19
+ export type KBottomSheetDescriptionProps = ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>;
20
+ declare const KBottomSheet: {
21
+ ({ size, opacity, blur, shouldScaleBackground, ...props }: KBottomSheetProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ declare const KBottomSheetTrigger: import('react').ForwardRefExoticComponent<import('@radix-ui/react-dialog').DialogTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
25
+ declare const KBottomSheetPortal: typeof import('vaul').Portal;
26
+ declare const KBottomSheetClose: import('react').ForwardRefExoticComponent<import('@radix-ui/react-dialog').DialogCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
27
+ declare const KBottomSheetOverlay: import('react').ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-dialog').DialogOverlayProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
28
+ declare const KBottomSheetContent: import('react').ForwardRefExoticComponent<Omit<Omit<import('@radix-ui/react-dialog').DialogContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
29
+ declare const KBottomSheetHeader: {
30
+ ({ className, ...props }: KBottomSheetHeaderProps): import("react/jsx-runtime").JSX.Element;
31
+ displayName: string;
32
+ };
33
+ declare const KBottomSheetFooter: {
34
+ ({ className, ...props }: KBottomSheetFooterProps): import("react/jsx-runtime").JSX.Element;
35
+ displayName: string;
36
+ };
37
+ declare const KBottomSheetTitle: import('react').ForwardRefExoticComponent<Omit<import('@radix-ui/react-dialog').DialogTitleProps & import('react').RefAttributes<HTMLHeadingElement>, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
38
+ declare const KBottomSheetDescription: import('react').ForwardRefExoticComponent<Omit<import('@radix-ui/react-dialog').DialogDescriptionProps & import('react').RefAttributes<HTMLParagraphElement>, "ref"> & import('react').RefAttributes<HTMLParagraphElement>>;
39
+ export { KBottomSheet, KBottomSheetPortal, KBottomSheetOverlay, KBottomSheetTrigger, KBottomSheetClose, KBottomSheetContent, KBottomSheetHeader, KBottomSheetFooter, KBottomSheetTitle, KBottomSheetDescription, };
@@ -0,0 +1,55 @@
1
+ import { ComponentPropsWithoutRef, HTMLAttributes } from 'react';
2
+ import * as KDropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
+ export interface KDropdownContextType {
4
+ size?: 'sm' | 'md';
5
+ }
6
+ export type KDropdownMenuProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Root> & KDropdownContextType;
7
+ export type KDropdownMenuTriggerProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Trigger>;
8
+ export type KDropdownMenuPortalProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Portal>;
9
+ export type KDropdownMenuSubProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Sub>;
10
+ export type KDropdownMenuSubTriggerProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.SubTrigger> & {
11
+ inset?: boolean;
12
+ };
13
+ export type KDropdownMenuSubContentProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.SubContent>;
14
+ export type KDropdownMenuContentProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Content>;
15
+ export type KDropdownMenuItemProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Item> & {
16
+ inset?: boolean;
17
+ };
18
+ export type KDropdownMenuCheckboxItemProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.CheckboxItem>;
19
+ export type KDropdownMenuRadioGroupProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.RadioGroup>;
20
+ export type KDropdownMenuRadioItemProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.RadioItem>;
21
+ export type KDropdownMenuLabelProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Label> & {
22
+ inset?: boolean;
23
+ };
24
+ export type KDropdownMenuSeparatorProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Separator>;
25
+ export interface KDropdownMenuShortcutProps extends HTMLAttributes<HTMLSpanElement> {
26
+ }
27
+ export type KDropdownMenuGroupProps = ComponentPropsWithoutRef<typeof KDropdownMenuPrimitive.Group>;
28
+ declare const KDropdownMenu: {
29
+ ({ size, ...props }: KDropdownMenuProps): import("react/jsx-runtime").JSX.Element;
30
+ displayName: string;
31
+ };
32
+ declare const KDropdownMenuTrigger: import('react').ForwardRefExoticComponent<KDropdownMenuPrimitive.DropdownMenuTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
33
+ declare const KDropdownMenuGroup: import('react').ForwardRefExoticComponent<KDropdownMenuPrimitive.DropdownMenuGroupProps & import('react').RefAttributes<HTMLDivElement>>;
34
+ declare const KDropdownMenuPortal: import('react').FC<KDropdownMenuPrimitive.DropdownMenuPortalProps>;
35
+ declare const KDropdownMenuSub: import('react').FC<KDropdownMenuPrimitive.DropdownMenuSubProps>;
36
+ declare const KDropdownMenuRadioGroup: import('react').ForwardRefExoticComponent<KDropdownMenuPrimitive.DropdownMenuRadioGroupProps & import('react').RefAttributes<HTMLDivElement>>;
37
+ declare const KDropdownMenuSubTrigger: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuSubTriggerProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
38
+ inset?: boolean | undefined;
39
+ } & import('react').RefAttributes<HTMLDivElement>>;
40
+ declare const KDropdownMenuSubContent: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuSubContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
41
+ declare const KDropdownMenuContent: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
42
+ declare const KDropdownMenuItem: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuItemProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
43
+ inset?: boolean | undefined;
44
+ } & import('react').RefAttributes<HTMLDivElement>>;
45
+ declare const KDropdownMenuCheckboxItem: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuCheckboxItemProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
46
+ declare const KDropdownMenuRadioItem: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuRadioItemProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
47
+ declare const KDropdownMenuLabel: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuLabelProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
48
+ inset?: boolean | undefined;
49
+ } & import('react').RefAttributes<HTMLDivElement>>;
50
+ declare const KDropdownMenuSeparator: import('react').ForwardRefExoticComponent<Omit<KDropdownMenuPrimitive.DropdownMenuSeparatorProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
51
+ declare const KDropdownMenuShortcut: {
52
+ ({ className, ...props }: KDropdownMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
53
+ displayName: string;
54
+ };
55
+ export { KDropdownMenu, KDropdownMenuTrigger, KDropdownMenuContent, KDropdownMenuItem, KDropdownMenuCheckboxItem, KDropdownMenuRadioItem, KDropdownMenuLabel, KDropdownMenuSeparator, KDropdownMenuShortcut, KDropdownMenuGroup, KDropdownMenuPortal, KDropdownMenuSub, KDropdownMenuSubContent, KDropdownMenuSubTrigger, KDropdownMenuRadioGroup, };
@@ -0,0 +1,3 @@
1
+ export * from './accordion/KAccordion';
2
+ export * from './dropdown-menu/KDropdownMenu';
3
+ export * from './bottom-sheet/KBottomSheet';
@@ -0,0 +1,39 @@
1
+ import { ComponentPropsWithoutRef, HTMLAttributes } from 'react';
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ export interface KDialogContextType {
4
+ size?: 'sm' | 'md';
5
+ opacity?: number;
6
+ blur?: number;
7
+ }
8
+ export type KDialogProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Root> & KDialogContextType;
9
+ export type KDialogTriggerProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
10
+ export type KDialogPortalProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
11
+ export type KDialogCloseProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
12
+ export type KDialogOverlayProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
13
+ export type KDialogContentProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;
14
+ export type KDialogTitleProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
15
+ export type KDialogDescriptionProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
16
+ export interface KDialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
17
+ }
18
+ export interface KDialogFooterProps extends HTMLAttributes<HTMLDivElement> {
19
+ }
20
+ declare const KDialog: {
21
+ ({ size, opacity, blur, ...props }: KDialogProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ declare const KDialogTrigger: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
25
+ declare const KDialogPortal: import('react').FC<DialogPrimitive.DialogPortalProps>;
26
+ declare const KDialogClose: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
27
+ declare const KDialogOverlay: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
28
+ declare const KDialogContent: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
29
+ declare const KDialogHeader: {
30
+ ({ className, ...props }: KDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
31
+ displayName: string;
32
+ };
33
+ declare const KDialogFooter: {
34
+ ({ className, ...props }: KDialogFooterProps): import("react/jsx-runtime").JSX.Element;
35
+ displayName: string;
36
+ };
37
+ declare const KDialogTitle: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & import('react').RefAttributes<HTMLHeadingElement>, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
38
+ declare const KDialogDescription: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & import('react').RefAttributes<HTMLParagraphElement>, "ref"> & import('react').RefAttributes<HTMLParagraphElement>>;
39
+ export { KDialog, KDialogPortal, KDialogOverlay, KDialogTrigger, KDialogClose, KDialogContent, KDialogHeader, KDialogFooter, KDialogTitle, KDialogDescription, };
@@ -0,0 +1,5 @@
1
+ export * from './dialog/KDialog';
2
+ export * from './skeleton/KSkeleton';
3
+ export * from './popover/KPopover';
4
+ export * from './toast/KToast';
5
+ export * from './spinner/KSpinner';
@@ -0,0 +1,15 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
3
+ export interface KPopoverProps extends ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> {
4
+ }
5
+ export interface KPopoverTriggerProps extends ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> {
6
+ }
7
+ export interface KPopoverAnchorProps extends ComponentPropsWithoutRef<typeof PopoverPrimitive.Anchor> {
8
+ }
9
+ export interface KPopoverContentProps extends ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
10
+ }
11
+ declare const KPopover: import('react').FC<PopoverPrimitive.PopoverProps>;
12
+ declare const KPopoverTrigger: import('react').ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
13
+ declare const KPopoverAnchor: import('react').ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & import('react').RefAttributes<HTMLDivElement>>;
14
+ declare const KPopoverContent: import('react').ForwardRefExoticComponent<KPopoverContentProps & import('react').RefAttributes<HTMLDivElement>>;
15
+ export { KPopover, KPopoverTrigger, KPopoverContent, KPopoverAnchor };
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface KSkeletonProps extends HTMLAttributes<HTMLDivElement> {
3
+ circle?: boolean;
4
+ }
5
+ declare const KSkeleton: {
6
+ ({ className, circle, ...restProps }: KSkeletonProps): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ };
9
+ export { KSkeleton };
@@ -0,0 +1,6 @@
1
+ import { LucideProps } from 'lucide-react';
2
+ export interface KSpinnerProps extends LucideProps {
3
+ size?: 'sm' | 'md' | 'lg' | 'xl';
4
+ }
5
+ declare const KSpinner: import('react').ForwardRefExoticComponent<Omit<KSpinnerProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
6
+ export { KSpinner };
@@ -0,0 +1,10 @@
1
+ import { toast, Toaster as Sonner } from 'sonner';
2
+ import { ComponentProps } from 'react';
3
+ export interface KToasterProps extends ComponentProps<typeof Sonner> {
4
+ size?: 'sm' | 'md' | 'lg' | 'full';
5
+ }
6
+ declare const KToast: {
7
+ ({ size, position, ...props }: KToasterProps): import("react/jsx-runtime").JSX.Element;
8
+ displayName: string;
9
+ };
10
+ export { KToast, toast as kToast };
@@ -0,0 +1,19 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export declare const ICON_SIZES: readonly ["xsmall", "small", "medium", "large", "xlarge"];
3
+ export type KIconSize = (typeof ICON_SIZES)[number];
4
+ export interface KIconRefs {
5
+ click: () => void;
6
+ }
7
+ export type KIconProps = ComponentPropsWithoutRef<'span'> & {
8
+ icon: string;
9
+ size?: KIconSize | number;
10
+ disabled?: boolean;
11
+ color?: string;
12
+ };
13
+ declare const KIcon: import('react').NamedExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
14
+ icon: string;
15
+ size?: number | "small" | "medium" | "large" | "xsmall" | "xlarge" | undefined;
16
+ disabled?: boolean | undefined;
17
+ color?: string | undefined;
18
+ } & import('react').RefAttributes<KIconRefs>>;
19
+ export { KIcon };
@@ -0,0 +1 @@
1
+ export * from './KIcon';
@@ -0,0 +1,2 @@
1
+ export * from './textfield/KTextField';
2
+ export * from './select/KSelect';
@@ -0,0 +1,38 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import * as SelectPrimitive from '@radix-ui/react-select';
4
+ declare const selectVariants: (props?: ({
5
+ size?: "default" | "sm" | "lg" | null | undefined;
6
+ width?: "sm" | "md" | "lg" | "full" | "auto" | "xs" | null | undefined;
7
+ } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
8
+ export type KSelectValue = string;
9
+ export type KSelectOption = {
10
+ label: string;
11
+ value: KSelectValue;
12
+ disabled?: boolean;
13
+ };
14
+ export type KSelectRule<T = KSelectValue> = (value: T) => boolean | string | Promise<boolean | string>;
15
+ export interface KSelectProps extends Omit<ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, 'onValueChange'>, VariantProps<typeof selectVariants> {
16
+ label?: string;
17
+ options: KSelectOption[];
18
+ helperText?: string;
19
+ rules?: KSelectRule<KSelectValue>[];
20
+ placeholder?: string;
21
+ className?: string;
22
+ id?: string;
23
+ required?: boolean;
24
+ onChange?: (value: KSelectValue) => void;
25
+ }
26
+ export interface KSelectRefs {
27
+ validate: () => Promise<boolean>;
28
+ reset: () => void;
29
+ value: KSelectValue | undefined;
30
+ }
31
+ export interface KSelectTriggerProps extends ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {
32
+ }
33
+ export interface KSelectContentProps extends ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
34
+ }
35
+ export interface KSelectItemProps extends ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
36
+ }
37
+ declare const KSelect: import('react').ForwardRefExoticComponent<KSelectProps & import('react').RefAttributes<KSelectRefs>>;
38
+ export { KSelect };
@@ -0,0 +1,19 @@
1
+ import { ComponentProps } from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const inputVariants: (props?: ({
4
+ size?: "default" | "sm" | "lg" | null | undefined;
5
+ width?: "sm" | "md" | "lg" | "full" | "auto" | "xs" | null | undefined;
6
+ } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
7
+ export type KValidationRule = (value: string) => boolean | string | Promise<boolean | string>;
8
+ export interface KTextFieldProps extends Omit<ComponentProps<'input'>, 'size' | 'width'>, VariantProps<typeof inputVariants> {
9
+ label?: string;
10
+ helperText?: string;
11
+ rules?: KValidationRule[];
12
+ }
13
+ export interface KTextFieldRefs {
14
+ validate: () => Promise<boolean>;
15
+ reset: () => void;
16
+ value: string;
17
+ }
18
+ declare const KTextField: import('react').ForwardRefExoticComponent<Omit<KTextFieldProps, "ref"> & import('react').RefAttributes<KTextFieldRefs>>;
19
+ export { KTextField };
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface KAspectRatioProps extends HTMLAttributes<HTMLDivElement> {
3
+ ratio?: number;
4
+ }
5
+ declare const KAspectRatio: import('react').NamedExoticComponent<KAspectRatioProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ export { KAspectRatio };
@@ -0,0 +1 @@
1
+ export * from './aspect-ratio/KAspectRatio';
package/lib/es/index.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from './components';
2
- export * from './core';
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/lib/hooks.js ADDED
@@ -0,0 +1,39 @@
1
+ import { useId as i, useMemo as o, useEffect as d, useRef as c, useCallback as a } from "react";
2
+ function m(e) {
3
+ const n = i().replace(/[^a-zA-Z0-9-_]/g, "");
4
+ return o(() => `${e}-${n}`, [n, e]);
5
+ }
6
+ function w(e, n, t) {
7
+ d(() => {
8
+ const r = (u) => {
9
+ if (e.current && !e.current.contains(u.target)) {
10
+ if (!t) {
11
+ n();
12
+ return;
13
+ }
14
+ t.current && !t.current.contains(u.target) && n();
15
+ }
16
+ };
17
+ return setTimeout(() => {
18
+ window.addEventListener("mousedown", r);
19
+ }, 0), () => {
20
+ window.removeEventListener("mousedown", r);
21
+ };
22
+ }, [e]);
23
+ }
24
+ function l() {
25
+ const e = c([]), n = c([]), t = a((r) => (u) => {
26
+ const s = n.current.indexOf(r);
27
+ if (s !== -1) {
28
+ e.current[s] = u;
29
+ return;
30
+ }
31
+ n.current.push(r), e.current.push(u);
32
+ }, []);
33
+ return { refs: e.current, handleRef: t };
34
+ }
35
+ export {
36
+ m as useCleanId,
37
+ w as useClickOutside,
38
+ l as useDynamicRefs
39
+ };