bianic-ui 2.10.0-beta.2 → 2.10.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/cjs/Empty.svg +12 -0
  2. package/dist/cjs/index.js +669 -3404
  3. package/dist/cjs/lib.css +1 -1
  4. package/dist/cjs/types/components/Countdown/index.d.ts +1 -0
  5. package/dist/cjs/types/components/Forms/Checkbox/index.d.ts +2 -1
  6. package/dist/cjs/types/components/Forms/Dropdown/DropdownContainer.d.ts +1 -1
  7. package/dist/cjs/types/components/Forms/SelectInput/index.d.ts +1 -1
  8. package/dist/cjs/types/components/Icons/Unlinked.d.ts +4 -0
  9. package/dist/cjs/types/components/Icons/index.d.ts +2 -1
  10. package/dist/cjs/types/components/Popover/PropInterface.d.ts +2 -0
  11. package/dist/cjs/types/components/Popover/configs.d.ts +8 -8
  12. package/dist/cjs/types/components/Popover/index.d.ts +1 -1
  13. package/dist/cjs/types/components/Sidebar/SidebarCointainer.d.ts +7 -6
  14. package/dist/cjs/types/components/Sidebar/SidebarItem.d.ts +9 -5
  15. package/dist/cjs/types/components/Sidebar/SidebarMenu.d.ts +10 -0
  16. package/dist/cjs/types/components/Sidebar/SidebarProfile.d.ts +17 -0
  17. package/dist/cjs/types/components/Sidebar/config.d.ts +21 -0
  18. package/dist/cjs/types/components/Sidebar/index.d.ts +2 -0
  19. package/dist/cjs/types/components/Table/Table.d.ts +6 -0
  20. package/dist/cjs/types/components/Table/TableBody.d.ts +6 -0
  21. package/dist/cjs/types/components/Table/TableHead.d.ts +6 -0
  22. package/dist/cjs/types/components/Table/TableRow/index.d.ts +6 -0
  23. package/dist/cjs/types/components/Table/TableUtility/BlockLoading.d.ts +6 -0
  24. package/dist/cjs/types/components/Table/TableUtility/EmptyTable.d.ts +7 -0
  25. package/dist/cjs/types/components/Table/TableUtility/TableFooterController.d.ts +13 -0
  26. package/dist/cjs/types/components/Table/TableUtility/TableHeaderController.d.ts +10 -0
  27. package/dist/cjs/types/components/Table/TableUtility/TableSearchInput.d.ts +11 -0
  28. package/dist/cjs/types/components/Table/TableUtility/index.d.ts +5 -0
  29. package/dist/cjs/types/components/Table/index.d.ts +5 -0
  30. package/dist/cjs/types/components/TagLabel/index.d.ts +1 -1
  31. package/dist/cjs/types/components/Tooltip/PropsInterface.d.ts +1 -0
  32. package/dist/cjs/types/components/index.d.ts +3 -2
  33. package/dist/cjs/types/image/index.d.ts +2 -0
  34. package/dist/cjs/types/stories/Banner.stories.d.ts +1 -0
  35. package/dist/cjs/types/stories/Form/Checkbox/Checkbox.stories.d.ts +0 -1
  36. package/dist/cjs/types/stories/Form/Checkbox/CheckboxSimulation.stories.d.ts +0 -1
  37. package/dist/cjs/types/stories/Form/Dropdown/DropdownContainer.stories.d.ts +1 -1
  38. package/dist/cjs/types/stories/Icons/Unlinked.stories.d.ts +14 -0
  39. package/dist/cjs/types/stories/Sidebar/SidebarContainer.stories.d.ts +1 -2
  40. package/dist/cjs/types/stories/Sidebar/SidebarItem.stories.d.ts +1 -2
  41. package/dist/cjs/types/utility/helper.d.ts +2 -1
  42. package/dist/cjs/types/utility/hooks/useTableDataHandler.d.ts +54 -0
  43. package/dist/esm/Empty.svg +12 -0
  44. package/dist/esm/index.js +658 -3406
  45. package/dist/esm/lib.css +1 -1
  46. package/dist/esm/types/components/Countdown/index.d.ts +1 -0
  47. package/dist/esm/types/components/Forms/Checkbox/index.d.ts +2 -1
  48. package/dist/esm/types/components/Forms/Dropdown/DropdownContainer.d.ts +1 -1
  49. package/dist/esm/types/components/Forms/SelectInput/index.d.ts +1 -1
  50. package/dist/esm/types/components/Icons/Unlinked.d.ts +4 -0
  51. package/dist/esm/types/components/Icons/index.d.ts +2 -1
  52. package/dist/esm/types/components/Popover/PropInterface.d.ts +2 -0
  53. package/dist/esm/types/components/Popover/configs.d.ts +8 -8
  54. package/dist/esm/types/components/Popover/index.d.ts +1 -1
  55. package/dist/esm/types/components/Sidebar/SidebarCointainer.d.ts +7 -6
  56. package/dist/esm/types/components/Sidebar/SidebarItem.d.ts +9 -5
  57. package/dist/esm/types/components/Sidebar/SidebarMenu.d.ts +10 -0
  58. package/dist/esm/types/components/Sidebar/SidebarProfile.d.ts +17 -0
  59. package/dist/esm/types/components/Sidebar/config.d.ts +21 -0
  60. package/dist/esm/types/components/Sidebar/index.d.ts +2 -0
  61. package/dist/esm/types/components/Table/Table.d.ts +6 -0
  62. package/dist/esm/types/components/Table/TableBody.d.ts +6 -0
  63. package/dist/esm/types/components/Table/TableHead.d.ts +6 -0
  64. package/dist/esm/types/components/Table/TableRow/index.d.ts +6 -0
  65. package/dist/esm/types/components/Table/TableUtility/BlockLoading.d.ts +6 -0
  66. package/dist/esm/types/components/Table/TableUtility/EmptyTable.d.ts +7 -0
  67. package/dist/esm/types/components/Table/TableUtility/TableFooterController.d.ts +13 -0
  68. package/dist/esm/types/components/Table/TableUtility/TableHeaderController.d.ts +10 -0
  69. package/dist/esm/types/components/Table/TableUtility/TableSearchInput.d.ts +11 -0
  70. package/dist/esm/types/components/Table/TableUtility/index.d.ts +5 -0
  71. package/dist/esm/types/components/Table/index.d.ts +5 -0
  72. package/dist/esm/types/components/TagLabel/index.d.ts +1 -1
  73. package/dist/esm/types/components/Tooltip/PropsInterface.d.ts +1 -0
  74. package/dist/esm/types/components/index.d.ts +3 -2
  75. package/dist/esm/types/image/index.d.ts +2 -0
  76. package/dist/esm/types/stories/Banner.stories.d.ts +1 -0
  77. package/dist/esm/types/stories/Form/Checkbox/Checkbox.stories.d.ts +0 -1
  78. package/dist/esm/types/stories/Form/Checkbox/CheckboxSimulation.stories.d.ts +0 -1
  79. package/dist/esm/types/stories/Form/Dropdown/DropdownContainer.stories.d.ts +1 -1
  80. package/dist/esm/types/stories/Icons/Unlinked.stories.d.ts +14 -0
  81. package/dist/esm/types/stories/Sidebar/SidebarContainer.stories.d.ts +1 -2
  82. package/dist/esm/types/stories/Sidebar/SidebarItem.stories.d.ts +1 -2
  83. package/dist/esm/types/utility/helper.d.ts +2 -1
  84. package/dist/esm/types/utility/hooks/useTableDataHandler.d.ts +54 -0
  85. package/dist/index.d.ts +164 -18
  86. package/package.json +1 -1
  87. package/tailwind.config.js +19 -1
  88. package/src/font/SansCode/GoogleSansCode-Italic-VariableFont_MONO,wght.ttf:Zone.Identifier +0 -0
  89. package/src/font/SansCode/GoogleSansCode-VariableFont_MONO,wght.ttf:Zone.Identifier +0 -0
  90. package/src/font/SansCode/OFL.txt:Zone.Identifier +0 -0
  91. package/src/font/SansCode/README.txt:Zone.Identifier +0 -0
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface CountdownProps extends React.ComponentPropsWithoutRef<'div'> {
3
3
  seconds: number;
4
+ maxSeconds: number;
4
5
  variant?: 'countdown' | 'success';
5
6
  }
6
7
  declare const Countdown: React.ForwardRefExoticComponent<CountdownProps & React.RefAttributes<HTMLDivElement>>;
@@ -6,8 +6,9 @@ interface CheckboxProps extends Omit<ComponentPropsWithoutRef<'input'>, 'size'>
6
6
  label?: string;
7
7
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
8
8
  value?: string | number | readonly string[] | undefined;
9
+ isIndeterminate?: boolean;
9
10
  }
10
- declare function Checkbox({ disabled, id, size, label, onChange, ...props }: CheckboxProps): React.JSX.Element;
11
+ declare function Checkbox({ disabled, id, size, label, onChange, isIndeterminate, ...props }: CheckboxProps): React.JSX.Element;
11
12
  declare namespace Checkbox {
12
13
  var defaultProps: {
13
14
  disabled: boolean;
@@ -13,7 +13,7 @@ export interface DropdownContainerProps extends ComponentPropsWithRef<'div'> {
13
13
  onClickItem?: (event: React.MouseEvent<HTMLDivElement>, val: string | number | object) => void;
14
14
  }
15
15
  declare const DropdownContainer: {
16
- (propsComp: DropdownContainerProps): React.JSX.Element | null;
16
+ (propsComp: DropdownContainerProps): React.JSX.Element;
17
17
  defaultProps: {
18
18
  isTopFlat: boolean;
19
19
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import SelectInputProps from './PropsInterface';
3
- declare function SelectInput({ descText, disabled, size, id, isValid, label, options, required, selected, setSelected, onClickDropdown, children, dropContProps: { className: dropContClassName, ...restDropContProps }, ...props }: SelectInputProps): React.JSX.Element;
3
+ declare function SelectInput({ descText, disabled, size, id, isValid, label, options, readOnly, required, selected, setSelected, onClickDropdown, children, dropContProps: { className: dropContClassName, ...restDropContProps }, ...props }: SelectInputProps): React.JSX.Element;
4
4
  declare namespace SelectInput {
5
5
  var defaultProps: {
6
6
  descText: string;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from './interface';
3
+ declare const Unlinked: ({ className, fill, size, }: IconProps) => React.JSX.Element;
4
+ export default Unlinked;
@@ -15,9 +15,10 @@ export { default as BCNeutral } from './Neutral';
15
15
  export { default as BCNode } from './Node';
16
16
  export { default as BCOutlet } from './Outlet';
17
17
  export { default as BCPort } from './Port';
18
+ export { default as BCRhombus } from './Rhombus';
18
19
  export { default as BCSelectAllAdd } from './SelectAllAdd';
19
20
  export { default as BCSelectAllRemove } from './SelectAllRemove';
20
21
  export { default as BCSpinner } from './Spinner';
21
22
  export { default as BCStack } from './Stack';
22
- export { default as BCRhombus } from './Rhombus';
23
+ export { default as BCUnlinked } from './Unlinked';
23
24
  export { default as BCVirtualPort } from './VirtualPort';
@@ -7,6 +7,7 @@ export interface PopoverProps {
7
7
  title?: string;
8
8
  style?: React.CSSProperties;
9
9
  zIndex?: number;
10
+ color?: 'black' | 'white';
10
11
  direction?: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
11
12
  }
12
13
  export interface PopoverItemProps {
@@ -16,5 +17,6 @@ export interface PopoverItemProps {
16
17
  style?: React.CSSProperties;
17
18
  title: string;
18
19
  zIndex?: number;
20
+ color?: 'black' | 'white';
19
21
  direction: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
20
22
  }
@@ -2,42 +2,42 @@ declare const classConfig: {
2
2
  top: {
3
3
  tooltipContainer: string;
4
4
  triangleContainer: string;
5
- triangleShape: string;
5
+ triangleBorders: string;
6
6
  };
7
7
  right: {
8
8
  tooltipContainer: string;
9
9
  triangleContainer: string;
10
- triangleShape: string;
10
+ triangleBorders: string;
11
11
  };
12
12
  bottom: {
13
13
  tooltipContainer: string;
14
14
  triangleContainer: string;
15
- triangleShape: string;
15
+ triangleBorders: string;
16
16
  };
17
17
  left: {
18
18
  tooltipContainer: string;
19
19
  triangleContainer: string;
20
- triangleShape: string;
20
+ triangleBorders: string;
21
21
  };
22
22
  'top-right': {
23
23
  tooltipContainer: string;
24
24
  triangleContainer: string;
25
- triangleShape: string;
25
+ triangleBorders: string;
26
26
  };
27
27
  'top-left': {
28
28
  tooltipContainer: string;
29
29
  triangleContainer: string;
30
- triangleShape: string;
30
+ triangleBorders: string;
31
31
  };
32
32
  'bottom-right': {
33
33
  tooltipContainer: string;
34
34
  triangleContainer: string;
35
- triangleShape: string;
35
+ triangleBorders: string;
36
36
  };
37
37
  'bottom-left': {
38
38
  tooltipContainer: string;
39
39
  triangleContainer: string;
40
- triangleShape: string;
40
+ triangleBorders: string;
41
41
  };
42
42
  };
43
43
  export default classConfig;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PopoverProps } from './PropInterface';
3
- declare function Popover({ className, children, content, direction, maxWidth, title, style, zIndex, }: PopoverProps): React.JSX.Element;
3
+ declare function Popover({ className, children, content, direction, maxWidth, title, style, zIndex, color, }: PopoverProps): React.JSX.Element;
4
4
  declare namespace Popover {
5
5
  var defaultProps: {
6
6
  direction: string;
@@ -1,9 +1,10 @@
1
- import React, { ReactNode } from 'react';
2
- export interface SidebarContainerProps {
3
- bgColor?: string;
4
- children?: ReactNode | undefined;
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ export interface SidebarContainerProps extends ComponentPropsWithoutRef<'div'> {
3
+ color?: string;
4
+ children?: ReactNode;
5
5
  isMinimized?: boolean;
6
- activeItem?: string | undefined;
6
+ activeId?: string | null;
7
+ setActiveId?: (id?: string | null) => void;
7
8
  }
8
- declare const SidebarContainer: ({ bgColor, children, isMinimized, activeItem, }: SidebarContainerProps) => React.JSX.Element;
9
+ declare const SidebarContainer: React.ForwardRefExoticComponent<SidebarContainerProps & React.RefAttributes<HTMLDivElement>>;
9
10
  export default SidebarContainer;
@@ -1,14 +1,18 @@
1
1
  import React, { ComponentPropsWithoutRef } from 'react';
2
+ type SidebarItemLevel = 0 | 1 | 2;
2
3
  export interface SidebarItemProps extends ComponentPropsWithoutRef<'button'> {
3
4
  title: string;
4
5
  icon?: React.ReactNode;
5
6
  active?: boolean;
6
- onClick?: () => void | undefined;
7
+ onClick?: () => void;
7
8
  children?: React.ReactNode;
8
9
  isMinimized?: boolean;
9
- isExpand?: boolean | undefined;
10
- notificationCount?: number | undefined;
11
- level?: number | undefined;
10
+ isExpand?: boolean;
11
+ notificationCount?: number;
12
+ level?: SidebarItemLevel;
13
+ activeId: string | null;
14
+ setActiveId?: (id?: string | null) => void;
15
+ color?: string;
12
16
  }
13
- declare const SidebarItem: ({ title, icon, active, onClick, children, isMinimized, isExpand, notificationCount, level, }: SidebarItemProps) => React.JSX.Element;
17
+ declare const SidebarItem: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
14
18
  export default SidebarItem;
@@ -0,0 +1,10 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface SidebarMenu {
3
+ color?: string;
4
+ children?: ReactNode;
5
+ isMinimized?: boolean;
6
+ activeId?: string | null;
7
+ setActiveId?: (id?: string | null) => void;
8
+ }
9
+ declare const SidebarMenu: ({ color, children, isMinimized, activeId, setActiveId, }: SidebarMenu) => React.JSX.Element;
10
+ export default SidebarMenu;
@@ -0,0 +1,17 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ export interface SidebarProfileProps extends ComponentPropsWithoutRef<'button'> {
3
+ username: string;
4
+ role: string;
5
+ avatarImg?: React.ReactNode;
6
+ active?: boolean;
7
+ onClick?: () => void;
8
+ children?: React.ReactNode;
9
+ isMinimized?: boolean;
10
+ isExpand?: boolean;
11
+ notificationCount?: number;
12
+ activeId?: string | null;
13
+ setActiveId?: (id?: string | null) => void;
14
+ color?: string;
15
+ }
16
+ declare const SidebarProfile: React.ForwardRefExoticComponent<SidebarProfileProps & React.RefAttributes<HTMLButtonElement>>;
17
+ export default SidebarProfile;
@@ -0,0 +1,21 @@
1
+ export declare const containerSizeConfig: {
2
+ minimized: string;
3
+ maximized: string;
4
+ };
5
+ export declare const itemConfig: {
6
+ minimized: string;
7
+ maximized: string;
8
+ };
9
+ export declare const profileConfig: {
10
+ minimized: string;
11
+ maximized: string;
12
+ };
13
+ export declare const overlaySizeConfig: {
14
+ minimized: string;
15
+ maximized: string;
16
+ };
17
+ export declare const buttonConfig: {
18
+ 0: string;
19
+ 1: string;
20
+ 2: string;
21
+ };
@@ -1,2 +1,4 @@
1
1
  export { default as SidebarContainer } from './SidebarCointainer';
2
+ export { default as SidebarMenu } from './SidebarMenu';
2
3
  export { default as SidebarItem } from './SidebarItem';
4
+ export { default as SidebarProfile } from './SidebarProfile';
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ComponentPropsWithRef } from 'react';
3
+ interface tableProps extends ComponentPropsWithRef<'table'> {
4
+ }
5
+ declare const Table: ({ children, ...rest }: tableProps) => React.JSX.Element;
6
+ export default Table;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ComponentPropsWithRef } from 'react';
3
+ interface tableBodyProps extends ComponentPropsWithRef<'tbody'> {
4
+ }
5
+ declare const TableBody: ({ children, ...rest }: tableBodyProps) => React.JSX.Element;
6
+ export default TableBody;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ComponentPropsWithRef } from 'react';
3
+ interface tableHeadProps extends ComponentPropsWithRef<'thead'> {
4
+ }
5
+ declare const TableHead: ({ children, ...rest }: tableHeadProps) => React.JSX.Element;
6
+ export default TableHead;
@@ -0,0 +1,6 @@
1
+ import React, { ComponentPropsWithRef } from 'react';
2
+ interface TableRowProps extends ComponentPropsWithRef<'tr'> {
3
+ variant: 'head' | 'body';
4
+ }
5
+ declare const TableRow: ({ variant, children, ...rest }: TableRowProps) => React.JSX.Element;
6
+ export default TableRow;
@@ -0,0 +1,6 @@
1
+ import React, { ComponentPropsWithoutRef } from 'react';
2
+ interface BlockLoadingProps extends ComponentPropsWithoutRef<'div'> {
3
+ backgroundColor?: string;
4
+ }
5
+ declare const BlockLoading: ({ className, backgroundColor, }: BlockLoadingProps) => React.JSX.Element;
6
+ export default BlockLoading;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface EmptyTableProps {
3
+ content?: string;
4
+ subContent: string;
5
+ }
6
+ declare const EmptyTable: ({ content, subContent }: EmptyTableProps) => React.JSX.Element;
7
+ export default EmptyTable;
@@ -0,0 +1,13 @@
1
+ import { ComponentPropsWithoutRef, Dispatch, SetStateAction } from 'react';
2
+ import React from 'react';
3
+ interface TableFooterControllerProps extends ComponentPropsWithoutRef<'div'> {
4
+ size: 'sm' | 'md';
5
+ currentPage: number;
6
+ totalPages: number;
7
+ pageSize: number;
8
+ setCurrentPage: Dispatch<SetStateAction<number>>;
9
+ setPageSize: Dispatch<SetStateAction<number>>;
10
+ isLoading?: boolean;
11
+ }
12
+ declare const TableFooterController: ({ currentPage, totalPages, pageSize, setCurrentPage, setPageSize, isLoading, size, }: TableFooterControllerProps) => React.JSX.Element;
13
+ export default TableFooterController;
@@ -0,0 +1,10 @@
1
+ import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ interface TableHeaderControllerProps extends ComponentPropsWithoutRef<'div'> {
3
+ size?: 'sm' | 'md';
4
+ buttonActions?: ReactNode[];
5
+ totalData?: number;
6
+ firstIndex?: number;
7
+ lastIndex?: number;
8
+ }
9
+ declare const TableHeaderController: ({ size, buttonActions, totalData, firstIndex, lastIndex, }: TableHeaderControllerProps) => React.JSX.Element;
10
+ export default TableHeaderController;
@@ -0,0 +1,11 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ import React from 'react';
3
+ interface TableSearchInputProps extends ComponentPropsWithoutRef<'input'> {
4
+ isShow: boolean;
5
+ onEnter?: any;
6
+ onClose?: any;
7
+ showEnter?: boolean;
8
+ showClose?: boolean;
9
+ }
10
+ declare const TableSearchInput: ({ isShow, value, onChange, placeholder, }: TableSearchInputProps) => React.JSX.Element | null;
11
+ export default TableSearchInput;
@@ -0,0 +1,5 @@
1
+ export { default as BlockLoading } from './BlockLoading';
2
+ export { default as EmptyTable } from './EmptyTable';
3
+ export { default as TableFooterController } from './TableFooterController';
4
+ export { default as TableHeaderController } from './TableHeaderController';
5
+ export { default as TableSearchInput } from './TableSearchInput';
@@ -1 +1,6 @@
1
+ export { default as Table } from './Table';
2
+ export { default as TableBody } from './TableBody';
1
3
  export { default as TableCell } from './TableCell';
4
+ export { default as TableHead } from './TableHead';
5
+ export { default as TableRow } from './TableRow';
6
+ export { BlockLoading, EmptyTable, TableFooterController, TableHeaderController, TableSearchInput, } from './TableUtility';
@@ -2,7 +2,7 @@ import React, { ComponentPropsWithoutRef } from 'react';
2
2
  interface TagLabelProps extends ComponentPropsWithoutRef<'div'> {
3
3
  color: 'default' | 'blue' | 'teal' | 'green' | 'orange' | 'red' | 'black' | 'white' | 'custom';
4
4
  size?: 'md' | 'sm' | 'tn';
5
- variant?: 'label' | 'icon' | 'closeable';
5
+ variant?: 'label' | 'icon' | 'closeable' | 'monospace';
6
6
  closeHandler?: () => void;
7
7
  open?: boolean;
8
8
  text: string;
@@ -10,6 +10,7 @@ interface TooltipProps extends Omit<ComponentPropsWithoutRef<'div'>, 'content'>
10
10
  direction?: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
11
11
  }
12
12
  interface TooltipItemProps {
13
+ active?: boolean;
13
14
  anchorRef: RefObject<HTMLDivElement>;
14
15
  className?: string;
15
16
  content: ReactNode | string;
@@ -24,12 +24,12 @@ export { default as Pills } from './Pills/Pills';
24
24
  export { default as Popover } from './Popover';
25
25
  export { ProgressBar, ProgressCircle } from './Progress';
26
26
  export { default as ResizeableDiv } from './ResizeableDiv';
27
- export { SidebarContainer, SidebarItem } from './Sidebar';
27
+ export { SidebarContainer, SidebarItem, SidebarMenu, SidebarProfile, } from './Sidebar';
28
28
  export { default as Slider } from './Slider';
29
29
  export { default as Spinner } from './Spinner/Spinner';
30
30
  export { default as Tab } from './Tab/Tab';
31
31
  export { default as TabMenu } from './TabMenu/TabMenu';
32
- export { TableCell } from './Table';
32
+ export { Table, TableBody, TableCell, TableHead, TableRow, TableFooterController, TableHeaderController, TableSearchInput, EmptyTable, BlockLoading, } from './Table';
33
33
  export { default as TagLabel } from './TagLabel';
34
34
  export { default as Tooltip } from './Tooltip';
35
35
  export { Display, P, Heading, Text, Link } from './Typography';
@@ -37,3 +37,4 @@ export { Toaster } from './Toaster';
37
37
  export { default as VerticalStepper } from './Stepper/Vertical';
38
38
  export { default as Window } from './Window';
39
39
  export { getRelativeTime } from '../utility';
40
+ export { useTableDataHandler } from '../utility/hooks/useTableDataHandler';
@@ -0,0 +1,2 @@
1
+ import EmptyIcon from './Empty.svg';
2
+ export { EmptyIcon };
@@ -16,3 +16,4 @@ export declare const DemoIconButtonDanger: Story;
16
16
  export declare const DemoIconButtonInfo: Story;
17
17
  export declare const DemoIconButtonSuccess: Story;
18
18
  export declare const DemoIconButtonWarning: Story;
19
+ export declare const DemoMoreText: Story;
@@ -6,7 +6,6 @@ declare const meta: {
6
6
  parameters: {
7
7
  layout: string;
8
8
  };
9
- tags: string[];
10
9
  args: {};
11
10
  };
12
11
  export default meta;
@@ -6,7 +6,6 @@ declare const meta: {
6
6
  parameters: {
7
7
  layout: string;
8
8
  };
9
- tags: string[];
10
9
  args: {};
11
10
  };
12
11
  export default meta;
@@ -2,7 +2,7 @@ import type { StoryObj } from '@storybook/react-webpack5';
2
2
  declare const meta: {
3
3
  title: string;
4
4
  component: {
5
- (propsComp: import("../../../components/Forms/Dropdown/DropdownContainer").DropdownContainerProps): import("react").JSX.Element | null;
5
+ (propsComp: import("../../../components/Forms/Dropdown/DropdownContainer").DropdownContainerProps): import("react").JSX.Element;
6
6
  defaultProps: {
7
7
  isTopFlat: boolean;
8
8
  };
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react-webpack5';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: ({ className, fill, size, }: import("../../components/Icons/interface").IconProps) => React.JSX.Element;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ args: {};
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Preview: Story;
@@ -2,11 +2,10 @@ import React from 'react';
2
2
  import type { StoryObj } from '@storybook/react-webpack5';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ bgColor, children, isMinimized, activeItem, }: import("../../components/Sidebar/SidebarCointainer").SidebarContainerProps) => React.JSX.Element;
5
+ component: React.ForwardRefExoticComponent<import("../../components/Sidebar/SidebarCointainer").SidebarContainerProps & React.RefAttributes<HTMLDivElement>>;
6
6
  parameters: {
7
7
  layout: string;
8
8
  };
9
- tags: string[];
10
9
  };
11
10
  export default meta;
12
11
  type Story = StoryObj<typeof meta>;
@@ -2,11 +2,10 @@ import type { StoryObj } from '@storybook/react-webpack5';
2
2
  import React from 'react';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ title, icon, active, onClick, children, isMinimized, isExpand, notificationCount, level, }: import("../../components/Sidebar/SidebarItem").SidebarItemProps) => React.JSX.Element;
5
+ component: React.ForwardRefExoticComponent<import("../../components/Sidebar/SidebarItem").SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
6
6
  parameters: {
7
7
  layout: string;
8
8
  };
9
- tags: string[];
10
9
  };
11
10
  export default meta;
12
11
  type Story = StoryObj<typeof meta>;
@@ -1,4 +1,5 @@
1
1
  declare const childrenElement: (element: any) => any;
2
+ declare const cn: (...classes: Array<string | false | undefined>) => string;
2
3
  declare const validUnion: (value: any, union: any) => any;
3
4
  declare const useDetectOutsideClick: (ref: React.RefObject<HTMLElement>, initialState: boolean, ignoreRef?: React.RefObject<HTMLElement>, event?: string) => (boolean | import("react").Dispatch<import("react").SetStateAction<boolean>>)[];
4
- export { childrenElement, validUnion, useDetectOutsideClick };
5
+ export { childrenElement, cn, validUnion, useDetectOutsideClick };
@@ -0,0 +1,54 @@
1
+ export type SortOrder = 'asc' | 'desc';
2
+ /**
3
+ * Configuration options for the useTableDataHandler hook.
4
+ * * @interface UseTableDataOptions
5
+ * @property {string[]} [searchKeys] - Specific object keys to check during client-side filtering. If omitted, defaults to all keys containing string values.
6
+ * @property {string} [initialSortKey] - The object key to sort the table by on initial render.
7
+ * @property {SortOrder} [initialSortOrder='asc'] - The initial sorting direction ('asc' or 'desc').
8
+ * @property {boolean} [isFilterable=true] - Enables or disables client-side searching functionality.
9
+ * @property {boolean} [isSortable=true] - Enables or disables client-side sorting functionality.
10
+ * @property {boolean} [isServerSide=false] - If true, bypasses client-side processing, assuming filtering and sorting are handled by an API.
11
+ */
12
+ interface UseTableDataOptions {
13
+ searchKeys?: string[];
14
+ initialSortKey?: string;
15
+ initialSortOrder?: SortOrder;
16
+ isFilterable?: boolean;
17
+ isSortable?: boolean;
18
+ isServerSide?: boolean;
19
+ }
20
+ /**
21
+ * A custom hook to handle data processing for tables, managing internal states
22
+ * for client-side filtering (searching) and sorting. It can also safely yield control
23
+ * to server-side operations if configured.
24
+ *
25
+ * ### Key Features:
26
+ * - **Automatic Key Detection:** Automatically finds string fields to search if no `searchKeys` are provided.
27
+ * - **Smart Sorting:** Uses `localeCompare` for strings, standard operators for numbers, and gracefully handles `null`/`undefined` values by moving them to the bottom.
28
+ * - **Server-Side Ready:** Setting `isServerSide: true` disables internal processing while preserving handlers for external API synchronization.
29
+ *
30
+ * @param {any[]} initialData - The raw array of data/rows to be displayed in the table.
31
+ * @param {UseTableDataOptions} [options={}] - Optional configuration flags and initial states.
32
+ * * @returns {Object} Table state and control handlers.
33
+ * @returns {any[]} data - The processed array (filtered and sorted) ready for rendering.
34
+ * @returns {string} searchTerm - The current text being filtered against.
35
+ * @returns {string|undefined} sortKey - The current object key being used to sort.
36
+ * @returns {SortOrder} sortOrder - The current direction of the sort ('asc' or 'desc').
37
+ * @returns {(value: string) => void} handleSearchChange - Callback to update the search filter string.
38
+ * @returns {(key: string) => void} handleSortChange - Callback to trigger sorting on a specific column. Toggles direction if called on the same column consecutively.
39
+ *
40
+ * @example
41
+ * const { data, handleSearchChange, handleSortChange } = useTableDataHandler(users, {
42
+ * searchKeys: ['name', 'email'],
43
+ * initialSortKey: 'name'
44
+ * });
45
+ */
46
+ export declare const useTableDataHandler: (initialData: any[], options?: UseTableDataOptions) => {
47
+ data: any[];
48
+ searchTerm: string;
49
+ sortKey: string | undefined;
50
+ sortOrder: SortOrder;
51
+ handleSearchChange: (value: string) => void;
52
+ handleSortChange: (key: string) => void;
53
+ };
54
+ export {};