@neuctra/ui 0.2.1 → 0.2.3

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 (98) hide show
  1. package/dist/components/basic/Accordation.d.ts +27 -18
  2. package/dist/components/basic/Alert.d.ts +15 -2
  3. package/dist/components/basic/Avatar.d.ts +5 -3
  4. package/dist/components/basic/Badge.d.ts +3 -3
  5. package/dist/components/basic/Button.d.ts +15 -17
  6. package/dist/components/basic/Card.d.ts +7 -49
  7. package/dist/components/basic/CheckRadioInput.d.ts +3 -1
  8. package/dist/components/basic/Container.d.ts +28 -26
  9. package/dist/components/basic/Drawer.d.ts +20 -11
  10. package/dist/components/basic/Flexbox.d.ts +18 -10
  11. package/dist/components/basic/GridView.d.ts +7 -5
  12. package/dist/components/basic/Image.d.ts +31 -6
  13. package/dist/components/basic/Input.d.ts +18 -10
  14. package/dist/components/basic/List.d.ts +11 -3
  15. package/dist/components/basic/Modal.d.ts +15 -2
  16. package/dist/components/basic/Section.d.ts +36 -0
  17. package/dist/components/basic/Stack.d.ts +27 -0
  18. package/dist/components/basic/Table.d.ts +18 -54
  19. package/dist/components/basic/Tabs.d.ts +28 -28
  20. package/dist/components/basic/Text.d.ts +19 -32
  21. package/dist/index.cjs.js +68 -223
  22. package/dist/index.cjs.js.map +1 -0
  23. package/dist/index.d.ts +17 -19
  24. package/dist/index.es.js +3169 -6313
  25. package/dist/index.es.js.map +1 -0
  26. package/dist/src/components/avatar/AvatarGroup.js +9 -0
  27. package/dist/src/components/avatar/AvatarWithStatus.js +18 -0
  28. package/dist/src/components/basic/Accordation.js +74 -0
  29. package/dist/src/components/basic/Alert.js +126 -0
  30. package/dist/src/components/basic/AudioGallery.js +425 -0
  31. package/dist/src/components/basic/AudioPlayer.js +116 -0
  32. package/dist/src/components/basic/Avatar.js +181 -0
  33. package/dist/src/components/basic/Badge.js +66 -0
  34. package/dist/src/components/basic/Button.js +101 -0
  35. package/dist/src/components/basic/Card.js +45 -0
  36. package/dist/src/components/basic/CheckRadioInput.js +83 -0
  37. package/dist/src/components/basic/Container.js +45 -0
  38. package/dist/src/components/basic/Drawer.js +94 -0
  39. package/dist/src/components/basic/DropDown.js +316 -0
  40. package/dist/src/components/basic/Flexbox.js +67 -0
  41. package/dist/src/components/basic/GridView.js +51 -0
  42. package/dist/src/components/basic/Image.js +95 -0
  43. package/dist/src/components/basic/Input.js +123 -0
  44. package/dist/src/components/basic/List.js +71 -0
  45. package/dist/src/components/basic/Modal.js +88 -0
  46. package/dist/src/components/basic/Section.js +100 -0
  47. package/dist/src/components/basic/Stack.js +75 -0
  48. package/dist/src/components/basic/Table.js +32 -0
  49. package/dist/src/components/basic/Tabs.js +149 -0
  50. package/dist/src/components/basic/Text.js +117 -0
  51. package/dist/src/index.js +44 -0
  52. package/dist/types/src/components/basic/Accordation.d.ts +44 -0
  53. package/dist/types/{components → src/components}/basic/Alert.d.ts +15 -2
  54. package/dist/types/{components → src/components}/basic/Avatar.d.ts +5 -3
  55. package/dist/types/{components → src/components}/basic/Badge.d.ts +3 -3
  56. package/dist/types/src/components/basic/Button.d.ts +26 -0
  57. package/dist/types/src/components/basic/Card.d.ts +28 -0
  58. package/dist/types/{components → src/components}/basic/CheckRadioInput.d.ts +3 -1
  59. package/dist/types/src/components/basic/Container.d.ts +32 -0
  60. package/dist/types/src/components/basic/Drawer.d.ts +33 -0
  61. package/dist/types/src/components/basic/Flexbox.d.ts +25 -0
  62. package/dist/types/{components → src/components}/basic/GridView.d.ts +7 -5
  63. package/dist/types/src/components/basic/Image.d.ts +58 -0
  64. package/dist/types/{components → src/components}/basic/Input.d.ts +18 -10
  65. package/dist/types/{components → src/components}/basic/List.d.ts +11 -3
  66. package/dist/types/src/components/basic/Modal.d.ts +24 -0
  67. package/dist/types/src/components/basic/Section.d.ts +36 -0
  68. package/dist/types/src/components/basic/Stack.d.ts +27 -0
  69. package/dist/types/src/components/basic/Table.d.ts +23 -0
  70. package/dist/types/src/components/basic/Tabs.d.ts +47 -0
  71. package/dist/types/src/components/basic/Text.d.ts +26 -0
  72. package/dist/types/{index.d.ts → src/index.d.ts} +17 -19
  73. package/dist/types/vite.config.d.ts +2 -0
  74. package/dist/ui.css +1 -1
  75. package/dist/vite.config.js +34 -0
  76. package/package.json +2 -1
  77. package/dist/components/basic/ImageGallery.d.ts +0 -21
  78. package/dist/components/basic/VideoGallery.d.ts +0 -136
  79. package/dist/components/basic/VideoPlayer.d.ts +0 -36
  80. package/dist/types/components/basic/Accordation.d.ts +0 -35
  81. package/dist/types/components/basic/Button.d.ts +0 -28
  82. package/dist/types/components/basic/Card.d.ts +0 -70
  83. package/dist/types/components/basic/Container.d.ts +0 -30
  84. package/dist/types/components/basic/Drawer.d.ts +0 -24
  85. package/dist/types/components/basic/Flexbox.d.ts +0 -17
  86. package/dist/types/components/basic/Image.d.ts +0 -33
  87. package/dist/types/components/basic/ImageGallery.d.ts +0 -21
  88. package/dist/types/components/basic/Modal.d.ts +0 -11
  89. package/dist/types/components/basic/Table.d.ts +0 -59
  90. package/dist/types/components/basic/Tabs.d.ts +0 -47
  91. package/dist/types/components/basic/Text.d.ts +0 -39
  92. package/dist/types/components/basic/VideoGallery.d.ts +0 -136
  93. package/dist/types/components/basic/VideoPlayer.d.ts +0 -36
  94. /package/dist/types/{components → src/components}/avatar/AvatarGroup.d.ts +0 -0
  95. /package/dist/types/{components → src/components}/avatar/AvatarWithStatus.d.ts +0 -0
  96. /package/dist/types/{components → src/components}/basic/AudioGallery.d.ts +0 -0
  97. /package/dist/types/{components → src/components}/basic/AudioPlayer.d.ts +0 -0
  98. /package/dist/types/{components → src/components}/basic/DropDown.d.ts +0 -0
@@ -0,0 +1,27 @@
1
+ import { default as React } from 'react';
2
+ type ScreenSize = "sm" | "md" | "lg";
3
+ type ResponsiveValue<T> = T | Partial<Record<ScreenSize, T>>;
4
+ interface StackProps {
5
+ direction?: ResponsiveValue<"vertical" | "horizontal">;
6
+ gap?: ResponsiveValue<number | string>;
7
+ align?: ResponsiveValue<"flex-start" | "flex-end" | "center" | "stretch" | "baseline">;
8
+ justify?: ResponsiveValue<"flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly">;
9
+ wrap?: ResponsiveValue<"nowrap" | "wrap" | "wrap-reverse">;
10
+ padding?: ResponsiveValue<number | string>;
11
+ margin?: ResponsiveValue<number | string>;
12
+ width?: ResponsiveValue<string>;
13
+ maxWidth?: ResponsiveValue<string>;
14
+ height?: ResponsiveValue<string>;
15
+ backgroundColor?: ResponsiveValue<string>;
16
+ borderRadius?: ResponsiveValue<string>;
17
+ border?: ResponsiveValue<string>;
18
+ boxShadow?: ResponsiveValue<string>;
19
+ overflow?: ResponsiveValue<"visible" | "hidden" | "auto" | "scroll">;
20
+ style?: React.CSSProperties;
21
+ className?: string;
22
+ children: React.ReactNode;
23
+ }
24
+ export declare const Stack: React.FC<StackProps>;
25
+ export declare const HStack: React.FC<StackProps>;
26
+ export declare const VStack: React.FC<StackProps>;
27
+ export {};
@@ -1,59 +1,23 @@
1
- import { default as React, ReactNode } from 'react';
2
- interface Column {
3
- key: string;
4
- label: string;
5
- sortable?: boolean;
6
- icon?: ReactNode;
7
- width?: string | number;
8
- align?: "left" | "center" | "right";
9
- headerClassName?: string;
10
- cellClassName?: string;
11
- render?: (value: any, row: Record<string, any>) => ReactNode;
12
- }
1
+ import { default as React, ReactNode, CSSProperties } from 'react';
13
2
  interface TableProps {
14
- columns: Column[];
15
- data: Record<string, any>[];
3
+ children: ReactNode;
4
+ style?: CSSProperties;
5
+ className?: string;
6
+ }
7
+ interface TableSectionProps {
8
+ children: ReactNode;
9
+ style?: CSSProperties;
10
+ className?: string;
11
+ }
12
+ interface TableCellProps {
13
+ children: ReactNode;
14
+ style?: CSSProperties;
16
15
  className?: string;
17
- pagination?: boolean;
18
- rowsPerPage?: number;
19
- colors?: {
20
- headerBg?: string;
21
- headerText?: string;
22
- rowBg?: string;
23
- rowText?: string;
24
- borderColor?: string;
25
- hoverBg?: string;
26
- paginationBg?: string;
27
- paginationText?: string;
28
- evenRowBg?: string;
29
- selectedRowBg?: string;
30
- };
31
- borderRadius?: {
32
- table?: string;
33
- header?: string;
34
- pagination?: string;
35
- };
36
- sortable?: boolean;
37
- defaultSort?: {
38
- column: string;
39
- direction: "asc" | "desc";
40
- };
41
- bodyAlign?: "left" | "center" | "right";
42
- headerAlign?: "left" | "center" | "right";
43
- rowSelection?: {
44
- enabled?: boolean;
45
- onSelect?: (selectedRows: Record<string, any>[]) => void;
46
- selectionColumnWidth?: string;
47
- selectionColumnHeader?: ReactNode;
48
- };
49
- emptyState?: ReactNode;
50
- onRowClick?: (row: Record<string, any>, index: number) => void;
51
- rowClassName?: (row: Record<string, any>, index: number) => string;
52
- cellPadding?: string;
53
- headerCellPadding?: string;
54
- stickyHeader?: boolean;
55
- maxHeight?: string;
56
- scrollShadow?: boolean;
57
16
  }
58
17
  export declare const Table: React.FC<TableProps>;
18
+ export declare const THead: React.FC<TableSectionProps>;
19
+ export declare const TBody: React.FC<TableSectionProps>;
20
+ export declare const TRow: React.FC<TableSectionProps>;
21
+ export declare const TH: React.FC<TableCellProps>;
22
+ export declare const TD: React.FC<TableCellProps>;
59
23
  export {};
@@ -1,4 +1,5 @@
1
1
  import { default as React, CSSProperties } from 'react';
2
+ /** 🧩 Types */
2
3
  interface TabItem {
3
4
  label: React.ReactNode;
4
5
  content: React.ReactNode;
@@ -6,42 +7,41 @@ interface TabItem {
6
7
  disabled?: boolean;
7
8
  ariaLabel?: string;
8
9
  }
9
- interface TabsBaseProps {
10
+ interface TabsProps {
10
11
  tabs: TabItem[];
11
12
  defaultActive?: number;
12
- activeTabClassName?: string;
13
- inactiveTabClassName?: string;
14
- tabContainerClassName?: string;
15
- contentContainerClassName?: string;
16
- className?: string;
17
- activeTabStyle?: CSSProperties;
18
- inactiveTabStyle?: CSSProperties;
19
- tabContainerStyle?: CSSProperties;
20
- contentContainerStyle?: CSSProperties;
21
- style?: CSSProperties;
22
- tabsWidth?: string | number;
23
- tabGap?: number;
24
- tabPadding?: string;
25
- tabBorderRadius?: number;
13
+ position?: "top" | "left" | "right";
14
+ variant?: "solid" | "outline" | "underline";
15
+ fullWidth?: boolean;
16
+ gap?: number;
17
+ radius?: number;
18
+ padding?: string;
19
+ transitionDuration?: number;
20
+ elevation?: number;
21
+ bordered?: boolean;
22
+ /** 🎨 Colors */
26
23
  primaryColor?: string;
27
- textColor?: string;
28
24
  backgroundColor?: string;
29
- hoverTextColor?: string;
25
+ textColor?: string;
26
+ hoverColor?: string;
27
+ activeColor?: string;
28
+ borderColor?: string;
30
29
  disabledColor?: string;
30
+ /** 📱 Responsive */
31
31
  responsiveBreakpoint?: number;
32
32
  showDrawerLabel?: string;
33
33
  drawerIcon?: React.ReactNode;
34
- transitionDuration?: number;
34
+ /** ⚙️ Callbacks */
35
35
  onTabChange?: (index: number) => void;
36
- role?: string;
37
- ariaOrientation?: "horizontal" | "vertical";
36
+ /** 🧱 Classes and Styles */
37
+ className?: string;
38
+ style?: CSSProperties;
39
+ tabClassName?: string;
40
+ contentClassName?: string;
41
+ activeTabStyle?: CSSProperties;
42
+ inactiveTabStyle?: CSSProperties;
43
+ contentStyle?: CSSProperties;
38
44
  }
39
- export declare const LeftTabs: React.FC<TabsBaseProps>;
40
- export declare const TopTabs: React.FC<TabsBaseProps>;
41
- export declare const RightTabs: React.FC<TabsBaseProps>;
42
- export declare const Tabs: {
43
- Left: React.FC<TabsBaseProps>;
44
- Top: React.FC<TabsBaseProps>;
45
- Right: React.FC<TabsBaseProps>;
46
- };
45
+ /** 💎 Modern, Fully Customizable Tabs */
46
+ export declare const Tabs: React.FC<TabsProps>;
47
47
  export {};
@@ -1,39 +1,26 @@
1
- import { default as React, JSX } from 'react';
2
- interface TextProps {
3
- as?: keyof JSX.IntrinsicElements;
1
+ import { default as React } from 'react';
2
+ /** 🎯 Limit to only HTML elements to avoid SVG union explosion */
3
+ type HTMLElementTag = keyof HTMLElementTagNameMap;
4
+ type TextProps<T extends HTMLElementTag = "p"> = {
5
+ as?: T;
4
6
  children: React.ReactNode;
5
- className?: string;
6
7
  color?: string;
7
- bgColor?: string;
8
- fontSize?: string;
9
- fontWeight?: "normal" | "bold" | "lighter" | "bolder" | number;
10
- textAlign?: "left" | "center" | "right" | "justify";
11
- textTransform?: "uppercase" | "lowercase" | "capitalize" | "none";
12
- lineHeight?: string;
13
- letterSpacing?: string;
14
- maxWidth?: string;
15
- padding?: string;
16
- margin?: string;
17
- borderRadius?: string;
18
- boxShadow?: string;
19
- shadowColor?: string;
20
- wordBreak?: "normal" | "break-word" | "break-all" | "keep-all";
8
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | string;
9
+ weight?: React.CSSProperties["fontWeight"];
10
+ align?: React.CSSProperties["textAlign"];
11
+ transform?: React.CSSProperties["textTransform"];
21
12
  italic?: boolean;
22
- bold?: boolean;
23
13
  underline?: boolean;
24
14
  strikethrough?: boolean;
25
- selectable?: boolean;
26
15
  truncate?: boolean;
27
- hoverColor?: string;
28
- hoverBgColor?: string;
29
- hoverTextDecoration?: "underline" | "line-through" | "none";
30
- activeColor?: string;
31
- activeBgColor?: string;
32
- transitionDuration?: string;
16
+ selectable?: boolean;
17
+ hoverable?: boolean;
18
+ darkMode?: boolean;
19
+ baseColor?: string;
20
+ className?: string;
21
+ style?: React.CSSProperties;
33
22
  onClick?: () => void;
34
- href?: string;
35
- target?: "_blank" | "_self" | "_parent" | "_top";
36
- rel?: string;
37
- }
38
- export declare const Text: React.FC<TextProps>;
39
- export {};
23
+ } & Omit<React.HTMLAttributes<HTMLElementTagNameMap[HTMLElementTag]>, "color" | "style">;
24
+ /** 💬 Main Component (HTML-only tags) */
25
+ export declare function Text<T extends HTMLElementTag = "p">({ as, children, color, size, weight, align, transform, italic, underline, strikethrough, truncate, selectable, hoverable, onClick, darkMode, baseColor, className, style, ...rest }: TextProps<T>): React.DetailedReactHTMLElement<React.PropsWithoutRef<React.ComponentProps<T>>, HTMLElement>;
26
+ export default Text;