vue-efko-data-view 1.0.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 (29) hide show
  1. package/README.md +160 -0
  2. package/dist/data-view.cjs.js +36 -0
  3. package/dist/data-view.cjs.js.map +1 -0
  4. package/dist/data-view.es.js +2985 -0
  5. package/dist/data-view.es.js.map +1 -0
  6. package/dist/dataview/DataView.d.ts +2 -0
  7. package/dist/dataview/DataView.vue.d.ts +112 -0
  8. package/dist/dataview/card/CardFiltersDrawer.vue.d.ts +22 -0
  9. package/dist/dataview/card/CardFiltersModal.vue.d.ts +22 -0
  10. package/dist/dataview/card/CardGrid.vue.d.ts +57 -0
  11. package/dist/dataview/card/FilterInput.vue.d.ts +14 -0
  12. package/dist/dataview/card/TheCard.d.ts +5 -0
  13. package/dist/dataview/card/TheCard.vue.d.ts +43 -0
  14. package/dist/dataview/card/ui/CardCellActions.vue.d.ts +19 -0
  15. package/dist/dataview/lazyload/LazyLoadContainer.vue.d.ts +31 -0
  16. package/dist/dataview/lazyload/LazyLoadTrigger.vue.d.ts +13 -0
  17. package/dist/dataview/table/TheTable.vue.d.ts +69 -0
  18. package/dist/dataview/table/enum/table.d.ts +37 -0
  19. package/dist/dataview/table/interface/table.d.ts +33 -0
  20. package/dist/dataview/table/ui/ColumnSettingsDrawer.d.ts +8 -0
  21. package/dist/dataview/table/ui/ColumnSettingsDrawer.vue.d.ts +23 -0
  22. package/dist/dataview/table/ui/filter/FilterDropdown.vue.d.ts +15 -0
  23. package/dist/dataview/table/ui/filter/FilterTagCloud.vue.d.ts +14 -0
  24. package/dist/dataview/table/ui/table-cell/TableCellActions.vue.d.ts +20 -0
  25. package/dist/dataview/table/ui/table-cell/TableCellStatus.vue.d.ts +5 -0
  26. package/dist/dataview/ui/TheSelect.vue.d.ts +21 -0
  27. package/dist/index.d.ts +15 -0
  28. package/dist/style.css +1 -0
  29. package/package.json +41 -0
@@ -0,0 +1,2 @@
1
+ import { FilterValue } from './table/interface/table';
2
+ export type FilterValues = Partial<Record<string, FilterValue>> | undefined;
@@ -0,0 +1,112 @@
1
+ import { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './table/interface/table.d';
2
+ import { ViewMode } from './table/ui/ColumnSettingsDrawer';
3
+ import { TableRecord } from './card/TheCard.d';
4
+ type __VLS_Props = {
5
+ viewMode?: ViewMode;
6
+ loading: boolean;
7
+ pagination?: boolean;
8
+ columns: ColumnConfig[];
9
+ dataSource: TableRecord[];
10
+ filterValues?: Partial<Record<string, FilterValue>>;
11
+ meta?: Meta;
12
+ canEdit?: boolean;
13
+ editAction?: boolean;
14
+ deleteAction?: boolean;
15
+ showActionsColumn?: boolean;
16
+ disableViewMode?: boolean;
17
+ enableTableFilterDrawer?: boolean;
18
+ disableColumnFilterDropdowns?: boolean;
19
+ useFilterModal?: boolean;
20
+ };
21
+ declare function __VLS_template(): {
22
+ attrs: Partial<{}>;
23
+ slots: {
24
+ headerCardContainer?(_: {}): any;
25
+ title?(_: {}): any;
26
+ title?(_: {}): any;
27
+ titleCard?(_: {
28
+ record: {
29
+ [x: string]: unknown;
30
+ id?: string | number | undefined;
31
+ deletedAt?: string | null | undefined;
32
+ };
33
+ columns: ColumnConfig<Record<string, unknown>>[];
34
+ }): any;
35
+ body?(_: {
36
+ record: TableRecord;
37
+ columns: ColumnConfig<Record<string, unknown>>[];
38
+ }): any;
39
+ footer?(_: {
40
+ record: TableRecord;
41
+ columns: ColumnConfig<Record<string, unknown>>[];
42
+ }): any;
43
+ bodyCell?(_: {
44
+ column: any;
45
+ record: any;
46
+ }): any;
47
+ actionColumn?(_: {
48
+ record: any;
49
+ }): any;
50
+ filtersDrawer?(_: {
51
+ visible: boolean;
52
+ setVisible: (value: boolean) => void;
53
+ filters: Partial<Record<string, FilterValue>>;
54
+ updateFilters: (filters: Partial<Record<string, FilterValue>>) => void;
55
+ emitFilterApply: (payload: {
56
+ key: string;
57
+ value: FilterItem[];
58
+ }) => void;
59
+ }): any;
60
+ };
61
+ refs: {
62
+ tagCloudContainer: HTMLDivElement;
63
+ };
64
+ rootEl: any;
65
+ };
66
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
67
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
68
+ "update:viewMode": (value: ViewMode) => void;
69
+ "update:filterValues": (value: Partial<Record<string, FilterValue>>) => void;
70
+ filterApply: (payload: {
71
+ key: string;
72
+ value: FilterItem[];
73
+ }) => void;
74
+ edit: (record: Record<string, unknown>) => void;
75
+ delete: (record: Record<string, unknown>) => void;
76
+ restore: (record: Record<string, unknown>) => void;
77
+ sortChange: (payload: SortPayload) => void;
78
+ pageChange: (page: number) => void;
79
+ sizeChange: (page: number, pageSize: number) => void;
80
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
81
+ onEdit?: ((record: Record<string, unknown>) => any) | undefined;
82
+ onDelete?: ((record: Record<string, unknown>) => any) | undefined;
83
+ onRestore?: ((record: Record<string, unknown>) => any) | undefined;
84
+ onPageChange?: ((page: number) => any) | undefined;
85
+ onSizeChange?: ((page: number, pageSize: number) => any) | undefined;
86
+ "onUpdate:filterValues"?: ((value: Partial<Record<string, FilterValue>>) => any) | undefined;
87
+ onFilterApply?: ((payload: {
88
+ key: string;
89
+ value: FilterItem[];
90
+ }) => any) | undefined;
91
+ onSortChange?: ((payload: SortPayload) => any) | undefined;
92
+ "onUpdate:viewMode"?: ((value: ViewMode) => any) | undefined;
93
+ }>, {
94
+ canEdit: boolean;
95
+ editAction: boolean;
96
+ showActionsColumn: boolean;
97
+ pagination: boolean;
98
+ deleteAction: boolean;
99
+ disableColumnFilterDropdowns: boolean;
100
+ disableViewMode: boolean;
101
+ enableTableFilterDrawer: boolean;
102
+ useFilterModal: boolean;
103
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
104
+ tagCloudContainer: HTMLDivElement;
105
+ }, any>;
106
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
107
+ export default _default;
108
+ type __VLS_WithTemplateSlots<T, S> = T & {
109
+ new (): {
110
+ $slots: S;
111
+ };
112
+ };
@@ -0,0 +1,22 @@
1
+ import { ColumnConfig, FilterItem, FilterValue } from '../table/interface/table.d';
2
+ type __VLS_Props = {
3
+ visible: boolean;
4
+ columns: ColumnConfig[];
5
+ filterValues: Record<string, FilterValue | undefined>;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
8
+ "update:filterValues": (value: Record<string, FilterValue | undefined>) => any;
9
+ filterApply: (payload: {
10
+ key: string;
11
+ value: FilterItem[];
12
+ }) => any;
13
+ "update:visible": (value: boolean) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onUpdate:filterValues"?: ((value: Record<string, FilterValue | undefined>) => any) | undefined;
16
+ onFilterApply?: ((payload: {
17
+ key: string;
18
+ value: FilterItem[];
19
+ }) => any) | undefined;
20
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import { ColumnConfig, FilterItem, FilterValue } from '../table/interface/table.d';
2
+ type __VLS_Props = {
3
+ visible: boolean;
4
+ columns: ColumnConfig[];
5
+ filterValues: Record<string, FilterValue | undefined>;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
8
+ "update:filterValues": (value: Record<string, FilterValue | undefined>) => any;
9
+ filterApply: (payload: {
10
+ key: string;
11
+ value: FilterItem[];
12
+ }) => any;
13
+ "update:visible": (value: boolean) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onUpdate:filterValues"?: ((value: Record<string, FilterValue | undefined>) => any) | undefined;
16
+ onFilterApply?: ((payload: {
17
+ key: string;
18
+ value: FilterItem[];
19
+ }) => any) | undefined;
20
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -0,0 +1,57 @@
1
+ import { ColumnConfig, Meta } from '../table/interface/table.d';
2
+ import { TableRecord } from './TheCard.d';
3
+ type __VLS_Props = {
4
+ loading: boolean;
5
+ columns: ColumnConfig[];
6
+ dataSource: TableRecord[];
7
+ cardLayout: 'grid' | 'row';
8
+ canEdit: boolean;
9
+ editAction: boolean;
10
+ showActionsColumn?: boolean;
11
+ pagination: boolean;
12
+ meta: Meta | undefined;
13
+ };
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ titleCard?(_: {
18
+ record: {
19
+ [x: string]: unknown;
20
+ id?: string | number | undefined;
21
+ deletedAt?: string | null | undefined;
22
+ };
23
+ columns: ColumnConfig<Record<string, unknown>>[];
24
+ }): any;
25
+ bodyCard?(_: {
26
+ record: TableRecord;
27
+ columns: ColumnConfig<Record<string, unknown>>[];
28
+ }): any;
29
+ footerCard?(_: {
30
+ record: TableRecord;
31
+ columns: ColumnConfig<Record<string, unknown>>[];
32
+ }): any;
33
+ };
34
+ refs: {};
35
+ rootEl: HTMLDivElement;
36
+ };
37
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
38
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
+ edit: (record: Record<string, unknown>) => void;
40
+ delete: (record: Record<string, unknown>) => void;
41
+ restore: (record: Record<string, unknown>) => void;
42
+ pageChange: (page: number) => void;
43
+ sizeChange: (page: number, size: number) => void;
44
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
45
+ onEdit?: ((record: Record<string, unknown>) => any) | undefined;
46
+ onDelete?: ((record: Record<string, unknown>) => any) | undefined;
47
+ onRestore?: ((record: Record<string, unknown>) => any) | undefined;
48
+ onPageChange?: ((page: number) => any) | undefined;
49
+ onSizeChange?: ((page: number, size: number) => any) | undefined;
50
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
51
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
52
+ export default _default;
53
+ type __VLS_WithTemplateSlots<T, S> = T & {
54
+ new (): {
55
+ $slots: S;
56
+ };
57
+ };
@@ -0,0 +1,14 @@
1
+ type Mode = 'search' | 'select' | 'date';
2
+ type Value = string | number | boolean | object | (string | number | boolean | object)[] | null | undefined;
3
+ type __VLS_Props = {
4
+ modelValue: Value;
5
+ filterMode?: Mode;
6
+ componentProps?: Record<string, unknown>;
7
+ placeholder: string;
8
+ };
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
10
+ "update:modelValue": (value: Value) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: Value) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export interface TableRecord {
2
+ id?: string | number,
3
+ deletedAt?: string | null,
4
+ [key: string]: unknown,
5
+ }
@@ -0,0 +1,43 @@
1
+ import { ColumnConfig } from '../table/interface/table.d';
2
+ import { TableRecord } from './TheCard.d';
3
+ type __VLS_Props = {
4
+ loading: boolean;
5
+ record: TableRecord;
6
+ columns: ColumnConfig[];
7
+ canEdit?: boolean;
8
+ editAction?: boolean;
9
+ showActionsColumn?: boolean;
10
+ };
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ title?(_: {}): any;
15
+ body?(_: {
16
+ record: TableRecord;
17
+ columns: ColumnConfig<Record<string, unknown>>[];
18
+ }): any;
19
+ footer?(_: {
20
+ record: TableRecord;
21
+ columns: ColumnConfig<Record<string, unknown>>[];
22
+ }): any;
23
+ };
24
+ refs: {};
25
+ rootEl: any;
26
+ };
27
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
28
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
29
+ edit: (record: TableRecord) => void;
30
+ delete: (record: TableRecord) => void;
31
+ restore: (record: TableRecord) => void;
32
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
33
+ onEdit?: ((record: TableRecord) => any) | undefined;
34
+ onDelete?: ((record: TableRecord) => any) | undefined;
35
+ onRestore?: ((record: TableRecord) => any) | undefined;
36
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
37
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
38
+ export default _default;
39
+ type __VLS_WithTemplateSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1,19 @@
1
+ interface TableRecord {
2
+ deletedAt?: string | null;
3
+ [key: string]: unknown;
4
+ }
5
+ type __VLS_Props = {
6
+ record: TableRecord;
7
+ canEdit?: boolean;
8
+ editAction?: boolean;
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ edit: (record: TableRecord) => void;
12
+ delete: (record: TableRecord) => void;
13
+ restore: (record: TableRecord) => void;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onEdit?: ((record: TableRecord) => any) | undefined;
16
+ onDelete?: ((record: TableRecord) => any) | undefined;
17
+ onRestore?: ((record: TableRecord) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ export default _default;
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ onIntersect?: () => void;
3
+ threshold?: number;
4
+ once?: boolean;
5
+ rootMargin?: string;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ };
12
+ refs: {
13
+ container: HTMLDivElement;
14
+ };
15
+ rootEl: HTMLDivElement;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
+ threshold: number;
20
+ once: boolean;
21
+ rootMargin: string;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
23
+ container: HTMLDivElement;
24
+ }, HTMLDivElement>;
25
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
26
+ export default _default;
27
+ type __VLS_WithTemplateSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ onIntersect: () => void;
3
+ threshold?: number;
4
+ once?: boolean;
5
+ loading: boolean;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
+ threshold: number;
9
+ once: boolean;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
11
+ container: HTMLDivElement;
12
+ }, HTMLDivElement>;
13
+ export default _default;
@@ -0,0 +1,69 @@
1
+ import { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './interface/table.d';
2
+ import { TableRecord } from '../card/TheCard.d';
3
+ type __VLS_Props = {
4
+ loading: boolean;
5
+ pagination: boolean;
6
+ columns: ColumnConfig[];
7
+ dataSource: TableRecord[];
8
+ filterValues?: Partial<Record<string, FilterValue>>;
9
+ meta: Meta | undefined;
10
+ canEdit: boolean;
11
+ editAction: boolean;
12
+ deleteAction: boolean;
13
+ showActionsColumn?: boolean;
14
+ columnsVisibility: Record<string, boolean>;
15
+ disableColumnFilterDropdowns?: boolean;
16
+ showFilterButton?: boolean;
17
+ };
18
+ declare function __VLS_template(): {
19
+ attrs: Partial<{}>;
20
+ slots: {
21
+ title?(_: {}): any;
22
+ bodyCell?(_: {
23
+ column: any;
24
+ record: any;
25
+ }): any;
26
+ actionColumn?(_: {
27
+ record: any;
28
+ }): any;
29
+ };
30
+ refs: {};
31
+ rootEl: HTMLDivElement;
32
+ };
33
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
34
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
+ "update:filterValues": (values: Partial<Record<string, FilterValue>>) => void;
36
+ filterApply: (payload: {
37
+ key: string;
38
+ value: FilterItem[];
39
+ }) => void;
40
+ edit: (record: Record<string, unknown>) => void;
41
+ delete: (record: Record<string, unknown>) => void;
42
+ restore: (record: Record<string, unknown>) => void;
43
+ sortChange: (payload: SortPayload) => void;
44
+ pageChange: (page: number) => void;
45
+ sizeChange: (page: number, pageSize: number) => void;
46
+ openColumnDrawer: () => void;
47
+ openFilterDrawer: () => void;
48
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
49
+ onEdit?: ((record: Record<string, unknown>) => any) | undefined;
50
+ onDelete?: ((record: Record<string, unknown>) => any) | undefined;
51
+ onRestore?: ((record: Record<string, unknown>) => any) | undefined;
52
+ onPageChange?: ((page: number) => any) | undefined;
53
+ onSizeChange?: ((page: number, pageSize: number) => any) | undefined;
54
+ "onUpdate:filterValues"?: ((values: Partial<Record<string, FilterValue>>) => any) | undefined;
55
+ onFilterApply?: ((payload: {
56
+ key: string;
57
+ value: FilterItem[];
58
+ }) => any) | undefined;
59
+ onSortChange?: ((payload: SortPayload) => any) | undefined;
60
+ onOpenColumnDrawer?: (() => any) | undefined;
61
+ onOpenFilterDrawer?: (() => any) | undefined;
62
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
63
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
64
+ export default _default;
65
+ type __VLS_WithTemplateSlots<T, S> = T & {
66
+ new (): {
67
+ $slots: S;
68
+ };
69
+ };
@@ -0,0 +1,37 @@
1
+ export declare const PAGE_SIZE_SMALL = "10";
2
+ export declare const PAGE_SIZE_MEDIUM = "20";
3
+ export declare const PAGE_SIZE_LARGE = "50";
4
+ export declare const PAGE_SIZE_EXTRA_LARGE = "100";
5
+ export declare const PAGE_SIZE_ULTRA = "1000";
6
+ export declare const DEFAULT_PAGE_NUMBER = 1;
7
+ export declare const DEFAULT_PAGE_SIZE = "10";
8
+ export declare enum FilterMode {
9
+ SEARCH = "search",
10
+ SELECT = "select",
11
+ DATE = "date"
12
+ }
13
+ export declare enum PageSizes {
14
+ SMALL = "10",
15
+ MEDIUM = "20",
16
+ LARGE = "50",
17
+ EXTRA_LARGE = "100",
18
+ ULTRA = "1000"
19
+ }
20
+ export declare const PAGE_SIZE_OPTIONS: PageSizes[];
21
+ export declare enum SkipSizes {
22
+ NONE = 0,
23
+ SMALL = 10,
24
+ MEDIUM = 20,
25
+ LARGE = 50
26
+ }
27
+ export declare enum TableDefaults {
28
+ DEFAULT_CURRENT_PAGE = 1
29
+ }
30
+ export declare enum TableSortOrder {
31
+ ASCEND = "ascend",
32
+ DESCEND = "descend"
33
+ }
34
+ export declare enum SortOrder {
35
+ ASC = "asc",
36
+ DESC = "desc"
37
+ }
@@ -0,0 +1,33 @@
1
+ import { TableSortOrder, FilterMode, PageSizes } from '../enum/table';
2
+ export type FilterItem = { name?: string; [key: string]: unknown } | string | [string, string];
3
+ export type FilterValue = FilterItem | FilterItem[] | null;
4
+
5
+ export interface ColumnConfig<T = Record<string, unknown>> {
6
+ title: string;
7
+ dataIndex: keyof T;
8
+ key: string;
9
+ sortable?: boolean;
10
+ filterable?: boolean;
11
+ filterMode?: FilterMode;
12
+ resizable?: boolean;
13
+ width?: number;
14
+ minWidth?: number;
15
+ maxWidth?: number;
16
+ componentProps?: Record<string, unknown>;
17
+ headerAlign?: 'left' | 'center' | 'right';
18
+ cellAlign?: 'left' | 'center' | 'right';
19
+ tag?: boolean;
20
+ filterOnly?: boolean;
21
+ }
22
+
23
+ export interface SortPayload {
24
+ columnKey: string;
25
+ order: TableSortOrder.ASCEND | TableSortOrder.DESCEND | null;
26
+ }
27
+
28
+ export interface Meta {
29
+ currentPage: number;
30
+ pageSize: number;
31
+ total: number;
32
+ pageSizeOptions: PageSizes[];
33
+ }
@@ -0,0 +1,8 @@
1
+ export declare enum ViewMode {
2
+ Table = "table",
3
+ Grid = "grid"
4
+ }
5
+ export declare enum CardLayout {
6
+ Grid = "grid",
7
+ Row = "row"
8
+ }
@@ -0,0 +1,23 @@
1
+ import { ColumnConfig } from '../interface/table.d';
2
+ import { CardLayout, ViewMode } from './ColumnSettingsDrawer';
3
+ type __VLS_Props = {
4
+ visible: boolean;
5
+ columns: ColumnConfig[];
6
+ modelValue: Record<string, boolean>;
7
+ showActionsColumn?: boolean;
8
+ disableViewMode?: boolean;
9
+ viewMode: ViewMode;
10
+ cardLayout: CardLayout;
11
+ };
12
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
13
+ "update:modelValue": (value: Record<string, boolean>) => any;
14
+ "update:visible": (value: boolean) => any;
15
+ "update:viewMode": (value: ViewMode) => any;
16
+ "update:cardLayout": (value: CardLayout) => any;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: Record<string, boolean>) => any) | undefined;
19
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
20
+ "onUpdate:viewMode"?: ((value: ViewMode) => any) | undefined;
21
+ "onUpdate:cardLayout"?: ((value: CardLayout) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { FilterMode } from '../../enum/table';
2
+ type FilterValue = string | number | boolean | object | (string | number | boolean | object)[] | null;
3
+ type __VLS_Props = {
4
+ placeholder: string;
5
+ filterMode?: FilterMode;
6
+ componentProps?: Record<string, unknown>;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
9
+ "update:modelValue": (value: FilterValue) => any;
10
+ apply: () => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: FilterValue) => any) | undefined;
13
+ onApply?: (() => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
15
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { FilterItem, FilterValue } from '../../interface/table.d';
2
+ type __VLS_Props = {
3
+ filters: Partial<Record<string, FilterValue>>;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
6
+ "update:filters": (value: Partial<Record<string, FilterValue>>) => any;
7
+ remove: (key: string, filterValue: FilterValue | undefined, valueToRemove: FilterItem) => any;
8
+ clear: () => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onUpdate:filters"?: ((value: Partial<Record<string, FilterValue>>) => any) | undefined;
11
+ onRemove?: ((key: string, filterValue: FilterValue | undefined, valueToRemove: FilterItem) => any) | undefined;
12
+ onClear?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,20 @@
1
+ interface TableRecord {
2
+ name?: string;
3
+ isDeleted?: string | null;
4
+ }
5
+ type __VLS_Props = {
6
+ record: TableRecord;
7
+ canEdit: boolean;
8
+ editAction: boolean;
9
+ deleteAction: boolean;
10
+ };
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ edit: (record: TableRecord) => void;
13
+ delete: (record: TableRecord) => void;
14
+ restore: (record: TableRecord) => void;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onEdit?: ((record: TableRecord) => any) | undefined;
17
+ onDelete?: ((record: TableRecord) => any) | undefined;
18
+ onRestore?: ((record: TableRecord) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
20
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ value: unknown;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import { default as VueMultiselect } from '@vueform/multiselect';
2
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
+ modelValue: {
4
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor | null)[];
5
+ default: null;
6
+ };
7
+ }>, {}, {
8
+ simpleImage: any;
9
+ }, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
10
+ modelValue: {
11
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor | null)[];
12
+ default: null;
13
+ };
14
+ }>> & Readonly<{
15
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
16
+ }>, {
17
+ modelValue: string | number | boolean | Record<string, any> | unknown[] | null;
18
+ }, {}, {
19
+ VueMultiselect: typeof VueMultiselect;
20
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
21
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { default as DataView } from './dataview/DataView.vue';
2
+ export { default as DataView } from './dataview/DataView.vue';
3
+ export { default as DataTable } from './dataview/table/TheTable.vue';
4
+ export { default as CardGrid } from './dataview/card/CardGrid.vue';
5
+ export { default as ColumnSettingsDrawer } from './dataview/table/ui/ColumnSettingsDrawer.vue';
6
+ export { default as CardFiltersDrawer } from './dataview/card/CardFiltersDrawer.vue';
7
+ export { default as CardFiltersModal } from './dataview/card/CardFiltersModal.vue';
8
+ export { default as LazyLoadTrigger } from './dataview/lazyload/LazyLoadTrigger.vue';
9
+ export { default as LazyLoadContainer } from './dataview/lazyload/LazyLoadContainer.vue';
10
+ export type { FilterValues } from './dataview/DataView.d';
11
+ export type { ColumnConfig, FilterItem, FilterValue, Meta, SortPayload } from './dataview/table/interface/table.d';
12
+ export type { TableRecord } from './dataview/card/TheCard.d';
13
+ export { ViewMode, CardLayout } from './dataview/table/ui/ColumnSettingsDrawer';
14
+ export { PAGE_SIZE_SMALL, PAGE_SIZE_MEDIUM, PAGE_SIZE_LARGE, PAGE_SIZE_EXTRA_LARGE, PAGE_SIZE_ULTRA, DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, PAGE_SIZE_OPTIONS, FilterMode, PageSizes, SkipSizes, TableDefaults, TableSortOrder, SortOrder, } from './dataview/table/enum/table';
15
+ export default DataView;
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .tag-cloud[data-v-0e8e5dd7]{display:flex;flex-wrap:wrap}.filter-tag[data-v-0e8e5dd7]{padding:5px 10px;border-radius:10px;font-size:14px;font-weight:600;margin:4px}.data-card[data-v-65504714]{transition:box-shadow .18s ease-out,transform .18s ease-out}.data-card[data-v-65504714]:hover{transform:translateY(-2px);box-shadow:0 12px 30px #21252914}.data-card__header[data-v-65504714]{display:flex;align-items:center;min-height:32px}.data-card__body[data-v-65504714]{display:flex;flex-direction:column;gap:4px}.data-card__row[data-v-65504714]{display:flex;align-items:flex-start;gap:8px;padding:2px 0}.data-card__label[data-v-65504714]{flex:0 0 auto;font-weight:500;font-size:12px;color:#6c757d}.data-card__value[data-v-65504714]{flex:1 1 auto;font-size:13px;word-break:break-word}.data-card__footer[data-v-65504714]{display:flex;justify-content:flex-end;margin-top:12px}.card-grid[data-v-07cfb68f]{display:grid;gap:24px}.card-grid--row[data-v-07cfb68f]{grid-template-columns:minmax(0,1fr)}.card-grid--grid[data-v-07cfb68f]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.filter-select[data-v-cfb3f123] .multiselect-placeholder{font-size:12px}span[data-v-35036cad],span[data-v-454326bc]{line-height:1}