@nccirtu/tablefy 0.1.7 → 0.5.0

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 (110) hide show
  1. package/README.md +20 -4
  2. package/cli/templates/tablefy/avatar-list.tsx +51 -0
  3. package/cli/templates/tablefy/data-table-empty.tsx +77 -0
  4. package/cli/templates/tablefy/data-table-header.tsx +208 -0
  5. package/cli/templates/tablefy/data-table-pagination.tsx +137 -0
  6. package/cli/templates/tablefy/data-table-schema.tsx +13 -0
  7. package/cli/templates/tablefy/data-table.tsx +222 -0
  8. package/dist/cli/index.js +475 -0
  9. package/dist/columns/avatar-group-column.d.ts +1 -1
  10. package/dist/columns/columns/avatar-group-column.d.ts +1 -1
  11. package/dist/columns/index.d.ts +2 -2
  12. package/dist/columns/index.esm.js +153 -7921
  13. package/dist/columns/index.esm.js.map +1 -1
  14. package/dist/columns/index.js +214 -8000
  15. package/dist/columns/index.js.map +1 -1
  16. package/dist/columns/lib/builders/empty-state.d.ts +19 -0
  17. package/dist/columns/lib/builders/table-schema.d.ts +71 -2
  18. package/dist/columns/tablefy/avatar-list.d.ts +15 -0
  19. package/dist/columns/{components/ui/data-table → tablefy}/data-table-header.d.ts +1 -1
  20. package/dist/columns/{components/ui/data-table → tablefy}/data-table-pagination.d.ts +1 -1
  21. package/dist/columns/tablefy/data-table-schema.d.ts +1 -0
  22. package/dist/columns/tablefy/index.d.ts +6 -0
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.esm.js +238 -7827
  25. package/dist/index.esm.js.map +1 -1
  26. package/dist/index.js +270 -7877
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/builders/empty-state.d.ts +19 -0
  29. package/dist/lib/builders/table-schema.d.ts +71 -2
  30. package/dist/tablefy/avatar-list.d.ts +15 -0
  31. package/dist/{components/ui/data-table → tablefy}/data-table-header.d.ts +1 -1
  32. package/dist/{components/ui/data-table → tablefy}/data-table-pagination.d.ts +1 -1
  33. package/dist/tablefy/data-table-schema.d.ts +1 -0
  34. package/dist/tablefy/index.d.ts +6 -0
  35. package/package.json +46 -13
  36. package/dist/columns/components/animata/list/avatar-list.d.ts +0 -12
  37. package/dist/columns/components/ui/badge.d.ts +0 -9
  38. package/dist/columns/components/ui/button.d.ts +0 -10
  39. package/dist/columns/components/ui/checkbox.d.ts +0 -4
  40. package/dist/columns/components/ui/data-table/data-table-schema.d.ts +0 -5
  41. package/dist/columns/components/ui/dropdown-menu.d.ts +0 -25
  42. package/dist/columns/components/ui/input.d.ts +0 -3
  43. package/dist/columns/components/ui/progress.d.ts +0 -4
  44. package/dist/columns/components/ui/select.d.ts +0 -15
  45. package/dist/columns/components/ui/table.d.ts +0 -10
  46. package/dist/columns/components/ui/tooltip.d.ts +0 -7
  47. package/dist/components/animata/list/avatar-list.d.ts +0 -12
  48. package/dist/components/ui/badge.d.ts +0 -9
  49. package/dist/components/ui/button.d.ts +0 -10
  50. package/dist/components/ui/checkbox.d.ts +0 -4
  51. package/dist/components/ui/data-table/data-table-schema.d.ts +0 -5
  52. package/dist/components/ui/dropdown-menu.d.ts +0 -25
  53. package/dist/components/ui/input.d.ts +0 -3
  54. package/dist/components/ui/progress.d.ts +0 -4
  55. package/dist/components/ui/select.d.ts +0 -15
  56. package/dist/components/ui/table.d.ts +0 -10
  57. package/dist/components/ui/tooltip.d.ts +0 -7
  58. package/dist/lib/table/schema/empty-state.d.ts +0 -23
  59. package/dist/lib/table/types.d.ts +0 -76
  60. package/dist/schema/data-table-schema.d.ts +0 -75
  61. package/dist/schema/empty-state.d.ts +0 -45
  62. package/dist/schema/table-schema.d.ts +0 -44
  63. package/dist/schema.d.ts +0 -11
  64. package/dist/src/columns/actions-column.d.ts +0 -26
  65. package/dist/src/columns/avatar-group-column.d.ts +0 -38
  66. package/dist/src/columns/badge-column.d.ts +0 -22
  67. package/dist/src/columns/base-column.d.ts +0 -19
  68. package/dist/src/columns/button-column.d.ts +0 -14
  69. package/dist/src/columns/checkbox-column.d.ts +0 -5
  70. package/dist/src/columns/date-column.d.ts +0 -24
  71. package/dist/src/columns/dropdown-column.d.ts +0 -17
  72. package/dist/src/columns/icon-column.d.ts +0 -58
  73. package/dist/src/columns/image-column.d.ts +0 -21
  74. package/dist/src/columns/index.d.ts +0 -13
  75. package/dist/src/columns/input-column.d.ts +0 -14
  76. package/dist/src/columns/link-column.d.ts +0 -27
  77. package/dist/src/columns/number-column.d.ts +0 -23
  78. package/dist/src/columns/progress-column.d.ts +0 -30
  79. package/dist/src/columns/select-column.d.ts +0 -19
  80. package/dist/src/columns/text-column.d.ts +0 -14
  81. package/dist/src/columns/types.d.ts +0 -37
  82. package/dist/src/components/animata/list/avatar-list.d.ts +0 -12
  83. package/dist/src/components/ui/badge.d.ts +0 -9
  84. package/dist/src/components/ui/button.d.ts +0 -10
  85. package/dist/src/components/ui/checkbox.d.ts +0 -4
  86. package/dist/src/components/ui/data-table/data-table-empty.d.ts +0 -8
  87. package/dist/src/components/ui/data-table/data-table-header.d.ts +0 -15
  88. package/dist/src/components/ui/data-table/data-table-pagination.d.ts +0 -9
  89. package/dist/src/components/ui/data-table/data-table-schema.d.ts +0 -5
  90. package/dist/src/components/ui/data-table/data-table.d.ts +0 -13
  91. package/dist/src/components/ui/dropdown-menu.d.ts +0 -25
  92. package/dist/src/components/ui/input.d.ts +0 -3
  93. package/dist/src/components/ui/progress.d.ts +0 -4
  94. package/dist/src/components/ui/select.d.ts +0 -15
  95. package/dist/src/components/ui/table.d.ts +0 -10
  96. package/dist/src/components/ui/tooltip.d.ts +0 -7
  97. package/dist/src/index.d.ts +0 -15
  98. package/dist/src/lib/table/schema/empty-state.d.ts +0 -23
  99. package/dist/src/lib/table/types.d.ts +0 -76
  100. package/dist/src/lib/utils.d.ts +0 -1
  101. package/dist/src/schema/data-table-schema.d.ts +0 -75
  102. package/dist/src/schema/empty-state.d.ts +0 -45
  103. package/dist/src/schema/table-schema.d.ts +0 -44
  104. package/dist/src/schema.d.ts +0 -11
  105. package/dist/src/types.d.ts +0 -76
  106. package/dist/types.d.ts +0 -76
  107. /package/dist/columns/{components/ui/data-table → tablefy}/data-table-empty.d.ts +0 -0
  108. /package/dist/columns/{components/ui/data-table → tablefy}/data-table.d.ts +0 -0
  109. /package/dist/{components/ui/data-table → tablefy}/data-table-empty.d.ts +0 -0
  110. /package/dist/{components/ui/data-table → tablefy}/data-table.d.ts +0 -0
@@ -24,4 +24,23 @@ export declare class EmptyStateBuilder {
24
24
  }): this;
25
25
  noData(): this;
26
26
  build(): EmptyStateConfig;
27
+ static noData(config: {
28
+ title: string;
29
+ description: string;
30
+ createLabel?: string;
31
+ createHref?: string;
32
+ createOnClick?: () => void;
33
+ }): EmptyStateConfig;
34
+ static noSearchResults(config: {
35
+ title: string;
36
+ description: string;
37
+ clearLabel?: string;
38
+ onClear?: () => void;
39
+ }): EmptyStateConfig;
40
+ static noFilterResults(config: {
41
+ title: string;
42
+ description: string;
43
+ resetLabel?: string;
44
+ onReset?: () => void;
45
+ }): EmptyStateConfig;
27
46
  }
@@ -1,15 +1,84 @@
1
1
  import { ColumnDef } from "@tanstack/react-table";
2
+ import { DataTableConfig } from "../types/table";
3
+ import { HeaderAction } from "../types/actions";
4
+ import { EmptyStateConfig } from "../types/empty-state";
5
+ import React from "react";
2
6
  type ColumnBuilder<TData> = {
3
7
  build(): ColumnDef<TData, unknown>;
4
8
  };
9
+ /**
10
+ * Header Actions Builder
11
+ * Fluent API for building header actions
12
+ */
13
+ declare class HeaderActionsBuilder<TData> {
14
+ private actions;
15
+ create(config: {
16
+ label: string;
17
+ href?: string;
18
+ onClick?: () => void;
19
+ icon?: React.ReactNode;
20
+ }): this;
21
+ export(config: {
22
+ label: string;
23
+ icon?: React.ReactNode;
24
+ formats?: Array<{
25
+ label: string;
26
+ onClick: () => void;
27
+ }>;
28
+ }): this;
29
+ import(config: {
30
+ label: string;
31
+ icon?: React.ReactNode;
32
+ onClick?: () => void;
33
+ }): this;
34
+ bulkExport(config: {
35
+ label: string;
36
+ icon?: React.ReactNode;
37
+ onExport: (rows: TData[]) => void;
38
+ }): this;
39
+ bulkDelete(config: {
40
+ label: string;
41
+ icon?: React.ReactNode;
42
+ onDelete: (rows: TData[]) => void;
43
+ }): this;
44
+ custom(action: HeaderAction<TData>): this;
45
+ build(): HeaderAction<TData>[];
46
+ }
5
47
  /**
6
48
  * Table Schema Builder
7
- * Fluent API for building table column definitions
49
+ * Fluent API for building complete table configurations
8
50
  */
9
51
  export declare class TableSchema<TData> {
10
52
  private columnBuilders;
53
+ private config;
11
54
  static make<TData>(): TableSchema<TData>;
55
+ description(text: string): this;
56
+ title(text: string): this;
57
+ headerActions(builder: (b: HeaderActionsBuilder<TData>) => HeaderActionsBuilder<TData>): this;
58
+ emptyState(config: EmptyStateConfig): this;
59
+ searchEmptyState(config: EmptyStateConfig): this;
60
+ filterEmptyState(config: EmptyStateConfig): this;
61
+ searchable(config?: {
62
+ placeholder?: string;
63
+ } | boolean): this;
64
+ paginated(config?: {
65
+ pageSize?: number;
66
+ pageSizeOptions?: number[];
67
+ } | boolean): this;
68
+ selectable(multiSelect?: boolean): this;
69
+ sortable(defaultSort?: {
70
+ id: string;
71
+ desc: boolean;
72
+ }): this;
73
+ columnVisibility(enabled?: boolean): this;
74
+ bordered(enabled?: boolean): this;
75
+ striped(enabled?: boolean): this;
76
+ hoverable(enabled?: boolean): this;
77
+ density(density: "compact" | "default" | "comfortable"): this;
12
78
  columns(...builders: ColumnBuilder<TData>[]): this;
13
- build(): ColumnDef<TData, unknown>[];
79
+ build(): {
80
+ columns: ColumnDef<TData, unknown>[];
81
+ config: DataTableConfig<TData>;
82
+ };
14
83
  }
15
84
  export {};
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ interface AvatarItem {
3
+ id: string;
4
+ src?: string;
5
+ alt?: string;
6
+ initials?: string;
7
+ }
8
+ interface AvatarListProps {
9
+ items: AvatarItem[];
10
+ maxVisible?: number;
11
+ size?: number | string;
12
+ [key: string]: any;
13
+ }
14
+ export declare const AvatarList: React.FC<AvatarListProps>;
15
+ export default AvatarList;
@@ -11,5 +11,5 @@ interface DataTableHeaderProps<TData> {
11
11
  selectedCount?: number;
12
12
  className?: string;
13
13
  }
14
- export declare function DataTableHeader<TData>({ title, description, actions, search, searchValue, onSearchChange, table, selectedCount, className, }: DataTableHeaderProps<TData>): import("react/jsx-runtime").JSX.Element | null;
14
+ export declare function DataTableHeader<TData>({ title, description, actions, search, searchValue, onSearchChange, table, selectedCount, className, }: DataTableHeaderProps<TData>): import("react/jsx-runtime").JSX.Element;
15
15
  export {};
@@ -5,5 +5,5 @@ interface DataTablePaginationProps<TData> {
5
5
  config?: PaginationConfig;
6
6
  className?: string;
7
7
  }
8
- export declare function DataTablePagination<TData>({ table, config, className, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function DataTablePagination<TData>({ table, config, className, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -0,0 +1 @@
1
+ export declare const DataTableSchema: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export { DataTable } from "./data-table";
2
+ export { DataTableSchema } from "./data-table-schema";
3
+ export { DataTableHeader } from "./data-table-header";
4
+ export { DataTableEmpty } from "./data-table-empty";
5
+ export { DataTablePagination } from "./data-table-pagination";
6
+ export { AvatarList } from "./avatar-list";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { DataTable } from "./components/ui/data-table/data-table";
2
- export { DataTableSchema } from "./components/ui/data-table/data-table-schema";
1
+ export { DataTable } from "./tablefy/data-table";
2
+ export { DataTableSchema } from "./tablefy/data-table-schema";
3
3
  export { TableSchema, EmptyStateBuilder } from "./lib/builders";
4
4
  export { AvatarGroupColumn, AvatarGroupColumn as avatarGroupColumn, } from "./columns/avatar-group-column";
5
5
  export { BadgeColumn, BadgeColumn as badgeColumn, } from "./columns/badge-column";