@kong-ui-public/table-data-grid 0.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 (48) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +564 -0
  3. package/dist/style.css +1 -0
  4. package/dist/table-data-grid.es.js +2566 -0
  5. package/dist/table-data-grid.umd.js +1 -0
  6. package/dist/types/components/TableDataGrid.vue.d.ts +99 -0
  7. package/dist/types/components/TableDataGrid.vue.d.ts.map +1 -0
  8. package/dist/types/components/TableDataGridCellRenderer.vue.d.ts +21 -0
  9. package/dist/types/components/TableDataGridCellRenderer.vue.d.ts.map +1 -0
  10. package/dist/types/components/TableDataGridColumnVisibilityMenu.vue.d.ts +26 -0
  11. package/dist/types/components/TableDataGridColumnVisibilityMenu.vue.d.ts.map +1 -0
  12. package/dist/types/components/TableDataGridFilters.vue.d.ts +36 -0
  13. package/dist/types/components/TableDataGridFilters.vue.d.ts.map +1 -0
  14. package/dist/types/components/TableDataGridHeaderRenderer.vue.d.ts +13 -0
  15. package/dist/types/components/TableDataGridHeaderRenderer.vue.d.ts.map +1 -0
  16. package/dist/types/components/TableDataGridSearch.vue.d.ts +11 -0
  17. package/dist/types/components/TableDataGridSearch.vue.d.ts.map +1 -0
  18. package/dist/types/composables/index.d.ts +182 -0
  19. package/dist/types/composables/index.d.ts.map +1 -0
  20. package/dist/types/composables/useDatatableColumnDefs.d.ts +21 -0
  21. package/dist/types/composables/useDatatableColumnDefs.d.ts.map +1 -0
  22. package/dist/types/composables/useDatatableColumnSizing.d.ts +31 -0
  23. package/dist/types/composables/useDatatableColumnSizing.d.ts.map +1 -0
  24. package/dist/types/composables/useDatatableGridSync.d.ts +63 -0
  25. package/dist/types/composables/useDatatableGridSync.d.ts.map +1 -0
  26. package/dist/types/composables/useDatatablePagination.d.ts +17 -0
  27. package/dist/types/composables/useDatatablePagination.d.ts.map +1 -0
  28. package/dist/types/composables/useDatatableSelection.d.ts +18 -0
  29. package/dist/types/composables/useDatatableSelection.d.ts.map +1 -0
  30. package/dist/types/composables/useI18n.d.ts +9 -0
  31. package/dist/types/composables/useI18n.d.ts.map +1 -0
  32. package/dist/types/composables/useTableDataGridConfig.d.ts +24 -0
  33. package/dist/types/composables/useTableDataGridConfig.d.ts.map +1 -0
  34. package/dist/types/composables/useTableDataGridFetchers.d.ts +33 -0
  35. package/dist/types/composables/useTableDataGridFetchers.d.ts.map +1 -0
  36. package/dist/types/index.d.ts +6 -0
  37. package/dist/types/index.d.ts.map +1 -0
  38. package/dist/types/types/index.d.ts +89 -0
  39. package/dist/types/types/index.d.ts.map +1 -0
  40. package/dist/types/utils/headers.d.ts +3 -0
  41. package/dist/types/utils/headers.d.ts.map +1 -0
  42. package/dist/types/utils/rowKey.d.ts +3 -0
  43. package/dist/types/utils/rowKey.d.ts.map +1 -0
  44. package/dist/types/utils/tableConfig.d.ts +35 -0
  45. package/dist/types/utils/tableConfig.d.ts.map +1 -0
  46. package/dist/types/utils/tablePreferencesInterop.d.ts +6 -0
  47. package/dist/types/utils/tablePreferencesInterop.d.ts.map +1 -0
  48. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatatableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableColumnDefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAOjD,eAAO,MAAM,sBAAsB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kFAMrE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IACjE,2BAA2B,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACtE,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,KAAK,EAAE,KAAK,CAAA;CACb;;;;;;;;;;CAiDA,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { TableDataGridConfig, TableDataGridHeader } from '../types';
2
+ import type { GridApi } from 'ag-grid-community';
3
+ import type { Ref } from 'vue';
4
+ type GridColumnWidthChangeSource = 'intentional' | 'layout-side-effect';
5
+ export declare const useDatatableColumnSizing: <Row extends Record<string, any>>({ datatableElement, datatableWidth, getGridConfig, gridApi, headers, isApplyingTableConfig, resolvedTableConfig, tableConfig, updateTableConfig, }: {
6
+ datatableElement: Readonly<Ref<HTMLElement | undefined>>;
7
+ datatableWidth: Readonly<Ref<number>>;
8
+ getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
9
+ gridApi: Readonly<Ref<GridApi<Row> | undefined>>;
10
+ headers: Readonly<Ref<Array<TableDataGridHeader<Row>>>>;
11
+ isApplyingTableConfig: Readonly<Ref<boolean>>;
12
+ resolvedTableConfig: Readonly<Ref<TableDataGridConfig>>;
13
+ tableConfig: Readonly<Ref<TableDataGridConfig | undefined>>;
14
+ updateTableConfig: (config: TableDataGridConfig) => void;
15
+ }) => {
16
+ emitGridConfigChange: ({ columnWidthChangeSource, }?: {
17
+ columnWidthChangeSource?: GridColumnWidthChangeSource;
18
+ }) => void;
19
+ fitColumnsOnGridReady: (api: GridApi<Row>) => void;
20
+ handleDatatableWidthChange: () => void;
21
+ scheduleColumnsToFit: ({ api, persistFittedConfig, honorConfiguredColumnWidths, }?: {
22
+ api?: GridApi<Row>;
23
+ persistFittedConfig?: boolean;
24
+ honorConfiguredColumnWidths?: boolean;
25
+ }) => void;
26
+ scheduleColumnsToFitAfterDisplayedColumnsChange: (api?: GridApi<Row> | undefined) => void;
27
+ shouldRefitColumnsAfterConfigChange: () => boolean;
28
+ startResizeTracking: () => void;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=useDatatableColumnSizing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatatableColumnSizing.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableColumnSizing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAEV,OAAO,EAER,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,KAAK,2BAA2B,GAAG,aAAa,GAAG,oBAAoB,CAAA;AAKvE,eAAO,MAAM,wBAAwB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,oJAUvE;IACD,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAA;IACxD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAA;IACzD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAChD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,iBAAiB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACzD;0DAoKI;QACD,uBAAuB,CAAC,EAAE,2BAA2B,CAAA;KACtD;iCA4EmC,OAAO,CAAC,GAAG,CAAC;;wFApB7C;QACD,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,2BAA2B,CAAC,EAAE,OAAO,CAAA;KACtC;;;;CA2DF,CAAA"}
@@ -0,0 +1,63 @@
1
+ import type { TableDataGridConfig, TableDataGridRowSelectionMode, TableDataGridSort } from '../types';
2
+ import type { ColumnResizedEvent, DisplayedColumnsChangedEvent, GridApi, GridReadyEvent } from 'ag-grid-community';
3
+ import type { Ref } from 'vue';
4
+ type GridColumnWidthChangeSource = 'intentional' | 'layout-side-effect';
5
+ type DatatableColumnSizingHandlers<Row extends Record<string, any>> = {
6
+ emitGridConfigChange: (options?: {
7
+ columnWidthChangeSource?: GridColumnWidthChangeSource;
8
+ }) => void;
9
+ fitColumnsOnGridReady: (api: GridApi<Row>) => void;
10
+ scheduleColumnsToFit: (options?: {
11
+ api?: GridApi<Row>;
12
+ persistFittedConfig?: boolean;
13
+ honorConfiguredColumnWidths?: boolean;
14
+ }) => void;
15
+ scheduleColumnsToFitAfterDisplayedColumnsChange: (api?: GridApi<Row>) => void;
16
+ shouldRefitColumnsAfterConfigChange: () => boolean;
17
+ startResizeTracking: () => void;
18
+ };
19
+ export declare const useDatatableGridSync: <Row extends Record<string, any>>({ activePageSize, captureGridConfig, applyTableConfig, emitGridReady, emitSort, getGridConfig, gridApi, hasFetched, patchTableConfig, refresh, resolvedSort, resolvedTableConfig, rowSelection, }: {
20
+ activePageSize: Readonly<Ref<number>>;
21
+ captureGridConfig: (api: GridApi<Row>) => void;
22
+ applyTableConfig: (api?: GridApi<Row>) => void;
23
+ emitGridReady: (api: GridApi<Row>) => void;
24
+ emitSort: (sort: TableDataGridSort) => void;
25
+ getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
26
+ gridApi: Ref<GridApi<Row> | undefined>;
27
+ hasFetched: Ref<boolean>;
28
+ patchTableConfig: (config: Partial<TableDataGridConfig>) => void;
29
+ refresh: (params?: Partial<TableDataGridSort & {
30
+ pageSize: number;
31
+ }>) => void;
32
+ resolvedSort: Readonly<Ref<Pick<TableDataGridSort, "sortColumnKey" | "sortColumnOrder">>>;
33
+ resolvedTableConfig: Readonly<Ref<TableDataGridConfig>>;
34
+ rowSelection: Readonly<Ref<TableDataGridRowSelectionMode>>;
35
+ }) => {
36
+ applyResolvedTableConfig: (api: GridApi<Row>) => void;
37
+ connectSizing: (handlers: DatatableColumnSizingHandlers<Row>) => void;
38
+ displayedColumnIndexesByKey: import("vue").ShallowRef<Map<string, number>, Map<string, number>>;
39
+ handleTableConfigChange: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
40
+ isApplyingInitialColumnState: Ref<boolean, boolean>;
41
+ isApplyingTableConfig: Ref<boolean, boolean>;
42
+ isRowSelectionColumnRefitPending: Ref<boolean, boolean>;
43
+ onColumnLayoutChange: (event?: {
44
+ api?: GridApi<Row>;
45
+ }) => void;
46
+ onColumnPinned: (event?: {
47
+ api?: GridApi<Row>;
48
+ }) => void;
49
+ onColumnResize: (event: ColumnResizedEvent<Row>) => void;
50
+ onColumnVisibilityChange: (event?: {
51
+ api?: GridApi<Row>;
52
+ }) => void;
53
+ onDisplayedColumnsChange: (event: DisplayedColumnsChangedEvent<Row>) => void;
54
+ onGridReady: (event: GridReadyEvent<Row>) => void;
55
+ onPageSizeChange: ({ pageSize: nextPageSize }: {
56
+ pageSize: number;
57
+ }) => void;
58
+ onSortChange: () => void;
59
+ refreshForConfigChange: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
60
+ updateDisplayedColumnIndexes: (api?: GridApi<Row> | undefined) => void;
61
+ };
62
+ export {};
63
+ //# sourceMappingURL=useDatatableGridSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatatableGridSync.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableGridSync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,KAAK,2BAA2B,GAAG,aAAa,GAAG,oBAAoB,CAAA;AAEvE,KAAK,6BAA6B,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACpE,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/B,uBAAuB,CAAC,EAAE,2BAA2B,CAAA;KACtD,KAAK,IAAI,CAAA;IACV,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAClD,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,2BAA2B,CAAC,EAAE,OAAO,CAAA;KACtC,KAAK,IAAI,CAAA;IACV,+CAA+C,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC7E,mCAAmC,EAAE,MAAM,OAAO,CAAA;IAClD,mBAAmB,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAYD,eAAO,MAAM,oBAAoB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,mMAcnE;IACD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC9C,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC9C,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAA;IACzD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IACtC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IAChE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IAC7E,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACzF,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACvD,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;CAC3D;oCAwBwC,OAAO,CAAC,GAAG,CAAC;8BAhBlB,6BAA6B,CAAC,GAAG,CAAC;;0CAgDrD,mBAAmB,kBACf,mBAAmB;;;;mCAgDC;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;6BAL5B;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;4BA+BvB,kBAAkB,CAAC,GAAG,CAAC;uCArBZ;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE;sCAWvB,4BAA4B,CAAC,GAAG,CAAC;yBAxC9C,cAAc,CAAC,GAAG,CAAC;mDAgFO;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;yCA/H5D,mBAAmB,kBACf,mBAAmB;;CA+LtC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { PageChangeData } from '@kong/kongponents';
2
+ import type { Ref } from 'vue';
3
+ export declare const useDatatablePagination: ({ activePageSize, isFetching, fetchPage, currentPage, totalRows, hasNextPageWhenTotalUnknown, }: {
4
+ activePageSize: Readonly<Ref<number>>;
5
+ isFetching: Readonly<Ref<boolean>>;
6
+ fetchPage: (page: number) => Promise<void> | void;
7
+ currentPage: Readonly<Ref<number>>;
8
+ totalRows: Readonly<Ref<number | undefined>>;
9
+ hasNextPageWhenTotalUnknown: Readonly<Ref<boolean>>;
10
+ }) => {
11
+ hasKnownTotalRows: import("vue").ComputedRef<boolean>;
12
+ canGoPreviousPage: import("vue").ComputedRef<boolean>;
13
+ canGoNextPage: import("vue").ComputedRef<boolean>;
14
+ goToPage: (page: number) => void;
15
+ onPageChange: ({ page }: PageChangeData) => void;
16
+ };
17
+ //# sourceMappingURL=useDatatablePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatatablePagination.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatablePagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,eAAO,MAAM,sBAAsB,GAAI,iGAOpC;IACD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IAC5C,2BAA2B,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;CACpD;;;;qBAWyB,MAAM;6BAYE,cAAc;CAW/C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { TableDataGridGridOptions, TableDataGridRowKey, TableDataGridRowSelectionMode } from '../types';
2
+ import type { GridApi, RowSelectionOptions, SelectionColumnDef } from 'ag-grid-community';
3
+ import type { Ref } from 'vue';
4
+ export declare const useDatatableSelection: <Row extends Record<string, any>>({ gridApi, rowSelection, agGridOptions, rowKey, emitRowSelect, }: {
5
+ gridApi: Readonly<Ref<GridApi<Row> | undefined>>;
6
+ rowSelection: Readonly<Ref<TableDataGridRowSelectionMode>>;
7
+ agGridOptions: Readonly<Ref<TableDataGridGridOptions<Row>>>;
8
+ rowKey: Readonly<Ref<TableDataGridRowKey<Row>>>;
9
+ emitRowSelect: (selectedRows: Row[]) => void;
10
+ }) => {
11
+ selectedRows: import("vue").ShallowRef<Row[], Row[]>;
12
+ rowSelectionConfig: import("vue").ComputedRef<RowSelectionOptions | undefined>;
13
+ selectionColumnDef: import("vue").ComputedRef<SelectionColumnDef | undefined>;
14
+ selectRowByKey: (key: string) => void;
15
+ deselectAll: () => void;
16
+ onSelectionChange: () => void;
17
+ };
18
+ //# sourceMappingURL=useDatatableSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDatatableSelection.d.ts","sourceRoot":"","sources":["../../../src/composables/useDatatableSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,OAAO,EAEP,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAQ9B,eAAO,MAAM,qBAAqB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kEAMpE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAChD,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC1D,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/C,aAAa,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAC7C;;;;0BAoC8B,MAAM;;;CAmDpC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { createI18n, i18nTComponent } from '@kong-ui-public/i18n';
2
+ import english from '../locales/en.json';
3
+ interface UseI18nReturn {
4
+ i18n: ReturnType<typeof createI18n<typeof english>>;
5
+ i18nT: ReturnType<typeof i18nTComponent<typeof english>>;
6
+ }
7
+ export default function useI18n(): UseI18nReturn;
8
+ export {};
9
+ //# sourceMappingURL=useI18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composables/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,OAAO,MAAM,oBAAoB,CAAA;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,aAAa,CAO/C"}
@@ -0,0 +1,24 @@
1
+ import type { TableDataGridConfig, TableDataGridHeader } from '../types';
2
+ import type { GridApi } from 'ag-grid-community';
3
+ import type { Ref } from 'vue';
4
+ export declare const useTableDataGridConfig: <Row extends Record<string, any>>({ tableConfig, emitTableConfigUpdate, headers, pageSize, onTableConfigChange, }: {
5
+ tableConfig: Readonly<Ref<TableDataGridConfig | undefined>>;
6
+ emitTableConfigUpdate: (config: TableDataGridConfig) => void;
7
+ headers: Readonly<Ref<Array<TableDataGridHeader<Row>>>>;
8
+ pageSize: Readonly<Ref<number>>;
9
+ onTableConfigChange?: (nextConfig: TableDataGridConfig, previousConfig: TableDataGridConfig) => void;
10
+ }) => {
11
+ activePageSize: import("vue").ComputedRef<number>;
12
+ applyTableConfig: (api?: GridApi<Row>) => void;
13
+ getGridConfig: (api: GridApi<Row>) => TableDataGridConfig;
14
+ resolvedColumnVisibility: import("vue").ComputedRef<Record<string, boolean>>;
15
+ resolvedSort: import("vue").ComputedRef<{
16
+ sortColumnKey: string | undefined;
17
+ sortColumnOrder: import("..").TableDataGridSortColumnOrder | undefined;
18
+ }>;
19
+ resolvedTableConfig: import("vue").ComputedRef<TableDataGridConfig>;
20
+ captureGridConfig: (api: GridApi<Row>) => void;
21
+ patchTableConfig: (partial: Partial<TableDataGridConfig>) => void;
22
+ updateTableConfig: (nextConfig: Partial<TableDataGridConfig>) => void;
23
+ };
24
+ //# sourceMappingURL=useTableDataGridConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableDataGridConfig.d.ts","sourceRoot":"","sources":["../../../src/composables/useTableDataGridConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAU9B,eAAO,MAAM,sBAAsB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iFAMrE;IACD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,qBAAqB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IAC5D,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACrG;;6BA8CiC,OAAO,CAAC,GAAG,CAAC;yBAVhB,OAAO,CAAC,GAAG,CAAC;;;;;;;6BAMR,OAAO,CAAC,GAAG,CAAC;gCAbT,OAAO,CAAC,mBAAmB,CAAC;oCAZxB,OAAO,CAAC,mBAAmB,CAAC;CAgEpE,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { TableDataGridConfig, TableDataGridFetcher, TableDataGridFetcherParams } from '../types';
2
+ import type { IDatasource } from 'ag-grid-community';
3
+ import type { Ref } from 'vue';
4
+ type RefreshOptions = {
5
+ pageSize?: number;
6
+ sortColumnKey?: TableDataGridConfig['sortColumnKey'];
7
+ sortColumnOrder?: TableDataGridConfig['sortColumnOrder'];
8
+ };
9
+ type FetcherParamSources = {
10
+ mode: Readonly<Ref<TableDataGridFetcherParams['mode']>>;
11
+ pageSize: Readonly<Ref<TableDataGridFetcherParams['pageSize']>>;
12
+ search: Readonly<Ref<TableDataGridFetcherParams['search']>>;
13
+ sortColumnKey: Readonly<Ref<TableDataGridFetcherParams['sortColumnKey']>>;
14
+ sortColumnOrder: Readonly<Ref<TableDataGridFetcherParams['sortColumnOrder']>>;
15
+ filterSelection: Readonly<Ref<TableDataGridFetcherParams['filterSelection']>>;
16
+ };
17
+ export declare const useTableDataGridFetchers: <Row extends Record<string, any>>({ fetcher, fetcherParams, }: {
18
+ fetcher: Readonly<Ref<TableDataGridFetcher<Row>>>;
19
+ fetcherParams: FetcherParamSources;
20
+ }) => {
21
+ currentPage: Ref<number, number>;
22
+ datasource: Ref<IDatasource | undefined, IDatasource | undefined>;
23
+ fetchPage: (page: number, options?: RefreshOptions) => Promise<void>;
24
+ fetchError: Ref<unknown, unknown>;
25
+ hasFetched: Ref<boolean, boolean>;
26
+ hasNextPageWhenTotalUnknown: Ref<boolean, boolean>;
27
+ isFetching: import("vue").ComputedRef<boolean>;
28
+ refresh: (options?: RefreshOptions) => void;
29
+ rowData: import("vue").ShallowRef<Row[], Row[]>;
30
+ totalRows: Ref<number | undefined, number | undefined>;
31
+ };
32
+ export {};
33
+ //# sourceMappingURL=useTableDataGridFetchers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableDataGridFetchers.d.ts","sourceRoot":"","sources":["../../../src/composables/useTableDataGridFetchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACpD,eAAe,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;CACzD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3D,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACzE,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC7E,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAC9E,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6BAGvE;IACD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjD,aAAa,EAAE,mBAAmB,CAAA;CACnC;;;sBA2ES,MAAM,YACH,cAAc;;;;;wBAkJC,cAAc;;;CA0BzC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import TableDataGrid from './components/TableDataGrid.vue';
2
+ import TableDataGridColumnVisibilityMenu from './components/TableDataGridColumnVisibilityMenu.vue';
3
+ export { TableDataGrid, TableDataGridColumnVisibilityMenu, };
4
+ export * from './types';
5
+ export { toTableDataGridConfig, toTablePreferences, toTableSortPayload, } from './utils/tablePreferencesInterop';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gCAAgC,CAAA;AAC1D,OAAO,iCAAiC,MAAM,oDAAoD,CAAA;AAElG,OAAO,EACL,aAAa,EACb,iCAAiC,GAClC,CAAA;AAED,cAAc,SAAS,CAAA;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,89 @@
1
+ import type { ColDef, GridOptions } from 'ag-grid-community';
2
+ import type { Filter, FilterGroupFilters, FilterGroupSelection } from '@kong/kongponents';
3
+ export type TableDataGridMode = 'pagination' | 'infinite';
4
+ export type TableDataGridSortColumnOrder = 'asc' | 'desc';
5
+ export type TableDataGridSort = {
6
+ sortColumnKey?: string;
7
+ sortColumnOrder?: TableDataGridSortColumnOrder;
8
+ };
9
+ export type TableDataGridPinnedState = 'left' | 'right' | false;
10
+ export type TableDataGridState = 'loading' | 'error' | 'success' | 'empty';
11
+ export type TableDataGridStatePayload = {
12
+ state: TableDataGridState;
13
+ hasData: boolean;
14
+ };
15
+ export type TableDataGridTeleportTarget = string | HTMLElement;
16
+ export type TableDataGridToolbarSlotProps<Row extends Record<string, any> = Record<string, any>> = {
17
+ selectedRows: Row[];
18
+ filterSelection: FilterGroupSelection;
19
+ filters: FilterGroupFilters;
20
+ search: string;
21
+ updateFilterSelection: (selection: FilterGroupSelection) => void;
22
+ updateSearch: (search: string) => void;
23
+ refresh: () => void;
24
+ };
25
+ export type TableDataGridConfig = {
26
+ columnOrder?: string[];
27
+ columnVisibility?: Record<string, boolean>;
28
+ columnWidths?: Record<string, number>;
29
+ pinnedColumns?: Record<string, TableDataGridPinnedState>;
30
+ sortColumnKey?: string;
31
+ sortColumnOrder?: TableDataGridSortColumnOrder;
32
+ pageSize?: number;
33
+ };
34
+ export type TableDataGridHeader<Row extends Record<string, any> = Record<string, any>> = {
35
+ key: string;
36
+ label: string;
37
+ sortable?: boolean;
38
+ hideable?: boolean;
39
+ hideLabel?: boolean;
40
+ disableRowClick?: boolean;
41
+ tooltip?: string;
42
+ width?: number;
43
+ minWidth?: number;
44
+ maxWidth?: number;
45
+ resizable?: boolean;
46
+ draggable?: boolean;
47
+ pinned?: TableDataGridPinnedState;
48
+ filter?: Filter;
49
+ agGridColumnOptions?: Partial<ColDef<Row>>;
50
+ };
51
+ export type TableDataGridFetcherParams = {
52
+ mode: TableDataGridMode;
53
+ page?: number;
54
+ pageSize: number;
55
+ startRow?: number;
56
+ endRow?: number;
57
+ cursor?: any;
58
+ sortColumnKey?: string;
59
+ sortColumnOrder?: TableDataGridSortColumnOrder;
60
+ search?: string;
61
+ filterSelection?: FilterGroupSelection;
62
+ };
63
+ export type TableDataGridFetcherResult<Row extends Record<string, any> = Record<string, any>> = {
64
+ data: Row[];
65
+ total?: number;
66
+ cursor?: any;
67
+ hasMore?: boolean;
68
+ };
69
+ export type TableDataGridFetcher<Row extends Record<string, any> = Record<string, any>> = (params: TableDataGridFetcherParams) => Promise<TableDataGridFetcherResult<Row>>;
70
+ export type TableDataGridRowSelectionMode = 'none' | 'single' | 'multiple';
71
+ export type TableDataGridRowKey<Row extends Record<string, any> = Record<string, any>> = Extract<keyof Row, string>;
72
+ export type TableDataGridCellSlotProps<Row extends Record<string, any> = Record<string, any>> = {
73
+ row: Row;
74
+ rowValue: any;
75
+ column: TableDataGridHeader<Row>;
76
+ rowIndex: number;
77
+ refreshCell: () => void;
78
+ selected: boolean;
79
+ };
80
+ export type TableDataGridRowAttrs<Row extends Record<string, any> = Record<string, any>> = (row: Row) => Record<string, unknown>;
81
+ export type TableDataGridCellAttrs<Row extends Record<string, any> = Record<string, any>> = (params: {
82
+ row: Row;
83
+ rowValue: any;
84
+ column: TableDataGridHeader<Row>;
85
+ rowIndex: number;
86
+ colIndex: number;
87
+ }) => Record<string, unknown>;
88
+ export type TableDataGridGridOptions<Row extends Record<string, any> = Record<string, any>> = GridOptions<Row>;
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TableDataGridHeader } from '../types';
2
+ export declare const isColumnHideable: <Row extends Record<string, any>>(header: TableDataGridHeader<Row>) => boolean;
3
+ //# sourceMappingURL=headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/utils/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9D,QAAQ,mBAAmB,CAAC,GAAG,CAAC,KAC/B,OAAkC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { TableDataGridRowKey } from '../types';
2
+ export declare const getRowKeyValue: <Row extends Record<string, any>>(row: Row, rowKey: TableDataGridRowKey<Row>) => string;
3
+ //# sourceMappingURL=rowKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowKey.d.ts","sourceRoot":"","sources":["../../../src/utils/rowKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,cAAc,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,KAAK,GAAG,EACR,QAAQ,mBAAmB,CAAC,GAAG,CAAC,KAC/B,MAAmC,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { TableDataGridConfig, TableDataGridHeader } from '../types';
2
+ import type { ColumnState, GridApi } from 'ag-grid-community';
3
+ export declare const createDefaultTableDataGridConfig: <Row extends Record<string, any> = Record<string, any>>({ headers, pageSize, }: {
4
+ headers: Array<TableDataGridHeader<Row>>;
5
+ pageSize: number;
6
+ }) => TableDataGridConfig;
7
+ export declare const getSortKey: (config: Pick<TableDataGridConfig, "sortColumnKey" | "sortColumnOrder">) => string;
8
+ export declare const hasConfiguredColumnWidths: (config: TableDataGridConfig) => boolean;
9
+ export declare const createResolvedTableConfig: <Row extends Record<string, any>>({ config, headers, pageSize, }: {
10
+ config?: TableDataGridConfig;
11
+ headers: Array<TableDataGridHeader<Row>>;
12
+ pageSize: number;
13
+ }) => TableDataGridConfig;
14
+ export declare const normalizeTableConfig: (config?: Partial<TableDataGridConfig>) => TableDataGridConfig;
15
+ /**
16
+ * Guards controlled tableConfig updates from feeding AG Grid state changes back
17
+ * into the parent when the persisted config is already structurally identical.
18
+ * Reference equality is not enough because every normalization/grid read creates
19
+ * fresh arrays and records. Keep this wrapper around isEqual so callers compare
20
+ * only the synced config fields, and so explicit pinnedColumns false entries stay
21
+ * meaningful: false unpins a header that may otherwise be pinned by default.
22
+ */
23
+ export declare const normalizedTableConfigsEqual: (left: TableDataGridConfig, right: TableDataGridConfig) => boolean;
24
+ export declare const mergeColumnOrder: (configOrder: string[], allKeys: string[]) => string[];
25
+ export declare const buildColumnStateFromConfig: <Row extends Record<string, any>>({ config, headers, isColumnOrderResolved, }: {
26
+ config: TableDataGridConfig;
27
+ headers: Array<TableDataGridHeader<Row>>;
28
+ isColumnOrderResolved?: boolean;
29
+ }) => ColumnState[];
30
+ export declare const getConfigFromGrid: <Row extends Record<string, any>>({ api, headers, pageSize, }: {
31
+ api: GridApi;
32
+ headers: Array<TableDataGridHeader<Row>>;
33
+ pageSize: number;
34
+ }) => TableDataGridConfig;
35
+ //# sourceMappingURL=tableConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/tableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAI7D,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,wBAGrG;IACD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAMF,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,iBAAiB,CAAC,KAAG,MAMnG,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,mBAAmB,KAAG,OAEvE,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gCAIxE;IACD,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAaH,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,CAAC,mBAAmB,CAAC,KACpC,mBAQD,CAAA;AAqDF;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,GACtC,MAAM,mBAAmB,EACzB,OAAO,mBAAmB,KACzB,OAQF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EAAE,EACrB,SAAS,MAAM,EAAE,KAChB,MAAM,EASR,CAAA;AAmBD,eAAO,MAAM,0BAA0B,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6CAIzE;IACD,MAAM,EAAE,mBAAmB,CAAA;IAC3B,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,KAAG,WAAW,EAwBd,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,6BAIhE;IACD,GAAG,EAAE,OAAO,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,mBAmBH,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { TableDataGridConfig } from '../types';
2
+ import type { TablePreferences, TableSortPayload } from '@kong/kongponents';
3
+ export declare const toTableDataGridConfig: (tablePreferences?: TablePreferences) => TableDataGridConfig;
4
+ export declare const toTablePreferences: (tableDataGridConfig?: TableDataGridConfig) => TablePreferences;
5
+ export declare const toTableSortPayload: (tableDataGridConfig: TableDataGridConfig, previousTablePreferences?: TablePreferences) => TableSortPayload;
6
+ //# sourceMappingURL=tablePreferencesInterop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tablePreferencesInterop.d.ts","sourceRoot":"","sources":["../../../src/utils/tablePreferencesInterop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAc3E,eAAO,MAAM,qBAAqB,GAChC,mBAAmB,gBAAgB,KAClC,mBAMD,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAC7B,sBAAsB,mBAAmB,KACxC,gBAMD,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAC7B,qBAAqB,mBAAmB,EACxC,2BAA2B,gBAAgB,KAC1C,gBAMD,CAAA"}
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@kong-ui-public/table-data-grid",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "./dist/table-data-grid.umd.js",
6
+ "module": "./dist/table-data-grid.es.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/types/index.d.ts",
14
+ "import": "./dist/table-data-grid.es.js",
15
+ "require": "./dist/table-data-grid.umd.js"
16
+ },
17
+ "./package.json": "./package.json",
18
+ "./dist/*": "./dist/*"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "scripts": {
24
+ "dev": "cross-env USE_SANDBOX=true vite",
25
+ "build": "run-s typecheck build:package build:types",
26
+ "build:package": "vite build -m production",
27
+ "build:analyzer": "BUILD_VISUALIZER='core/table-data-grid' vite build -m production",
28
+ "build:types": "vue-tsc -p './tsconfig.build.json' --emitDeclarationOnly",
29
+ "build:sandbox": "cross-env USE_SANDBOX=true vite build -m production",
30
+ "preview": "cross-env USE_SANDBOX=true vite preview",
31
+ "lint": "eslint",
32
+ "lint:fix": "eslint --fix",
33
+ "stylelint": "stylelint --allow-empty-input './src/**/*.{css,scss,sass,less,styl,vue}'",
34
+ "stylelint:fix": "stylelint --allow-empty-input './src/**/*.{css,scss,sass,less,styl,vue}' --fix",
35
+ "typecheck": "vue-tsc -p './tsconfig.build.json' --noEmit",
36
+ "test:component": "BABEL_ENV=cypress cross-env FORCE_COLOR=1 cypress run --component -b chrome --spec './src/**/*.cy.ts' --project '../../../.'",
37
+ "test:component:open": "BABEL_ENV=cypress cross-env FORCE_COLOR=1 cypress open --component -b chrome --project '../../../.'",
38
+ "test:unit": "cross-env FORCE_COLOR=1 vitest run",
39
+ "test:unit:open": "cross-env FORCE_COLOR=1 vitest --ui"
40
+ },
41
+ "devDependencies": {
42
+ "@kong-ui-public/i18n": "workspace:^",
43
+ "@kong/design-tokens": "1.20.1",
44
+ "@kong/icons": "^1.52.0",
45
+ "@kong/kongponents": "^9.52.11",
46
+ "ag-grid-community": "^34.3.1",
47
+ "ag-grid-vue3": "^34.3.1",
48
+ "vue": "^3.5.33"
49
+ },
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "https://github.com/Kong/public-ui-components.git",
53
+ "directory": "packages/core/table-data-grid"
54
+ },
55
+ "homepage": "https://github.com/Kong/public-ui-components/tree/main/packages/core/table-data-grid",
56
+ "bugs": {
57
+ "url": "https://github.com/Kong/public-ui-components/issues"
58
+ },
59
+ "author": "Kong, Inc.",
60
+ "license": "Apache-2.0",
61
+ "volta": {
62
+ "extends": "../../../package.json"
63
+ },
64
+ "distSizeChecker": {
65
+ "errorLimit": "300KB"
66
+ },
67
+ "peerDependencies": {
68
+ "@kong-ui-public/i18n": "workspace:^",
69
+ "@kong/icons": "^1.52.0",
70
+ "@kong/kongponents": "^9.52.11",
71
+ "vue": "^3.5.33"
72
+ },
73
+ "dependencies": {
74
+ "@vueuse/core": "^14.2.1",
75
+ "ag-grid-community": "^34.3.1",
76
+ "ag-grid-vue3": "^34.3.1",
77
+ "lodash-es": "^4.18.1"
78
+ }
79
+ }