@tinisoftin/tsdatagrid 1.0.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 (175) hide show
  1. package/README.md +1272 -0
  2. package/dist/components/TSDataGrid.vue.d.ts +1285 -0
  3. package/dist/components/TSDataGrid.vue.d.ts.map +1 -0
  4. package/dist/components/TSDataGridActiveFilters.vue.d.ts +24 -0
  5. package/dist/components/TSDataGridActiveFilters.vue.d.ts.map +1 -0
  6. package/dist/components/TSDataGridBody.vue.d.ts +259 -0
  7. package/dist/components/TSDataGridBody.vue.d.ts.map +1 -0
  8. package/dist/components/TSDataGridCell.vue.d.ts +83 -0
  9. package/dist/components/TSDataGridCell.vue.d.ts.map +1 -0
  10. package/dist/components/TSDataGridColumnChooser.vue.d.ts +56 -0
  11. package/dist/components/TSDataGridColumnChooser.vue.d.ts.map +1 -0
  12. package/dist/components/TSDataGridContextMenu.vue.d.ts +46 -0
  13. package/dist/components/TSDataGridContextMenu.vue.d.ts.map +1 -0
  14. package/dist/components/TSDataGridFilter.vue.d.ts +92 -0
  15. package/dist/components/TSDataGridFilter.vue.d.ts.map +1 -0
  16. package/dist/components/TSDataGridFooter.vue.d.ts +95 -0
  17. package/dist/components/TSDataGridFooter.vue.d.ts.map +1 -0
  18. package/dist/components/TSDataGridGroupPanel.vue.d.ts +47 -0
  19. package/dist/components/TSDataGridGroupPanel.vue.d.ts.map +1 -0
  20. package/dist/components/TSDataGridHeader.vue.d.ts +221 -0
  21. package/dist/components/TSDataGridHeader.vue.d.ts.map +1 -0
  22. package/dist/components/TSDataGridRow.vue.d.ts +83 -0
  23. package/dist/components/TSDataGridRow.vue.d.ts.map +1 -0
  24. package/dist/components/TSDataGridToolbar.vue.d.ts +139 -0
  25. package/dist/components/TSDataGridToolbar.vue.d.ts.map +1 -0
  26. package/dist/composables/index.d.ts +28 -0
  27. package/dist/composables/index.d.ts.map +1 -0
  28. package/dist/composables/useClipboard.d.ts +863 -0
  29. package/dist/composables/useClipboard.d.ts.map +1 -0
  30. package/dist/composables/useColumnChooser.d.ts +36 -0
  31. package/dist/composables/useColumnChooser.d.ts.map +1 -0
  32. package/dist/composables/useColumnReorder.d.ts +40 -0
  33. package/dist/composables/useColumnReorder.d.ts.map +1 -0
  34. package/dist/composables/useColumnResize.d.ts +36 -0
  35. package/dist/composables/useColumnResize.d.ts.map +1 -0
  36. package/dist/composables/useContextMenu.d.ts +55 -0
  37. package/dist/composables/useContextMenu.d.ts.map +1 -0
  38. package/dist/composables/useDataSource.d.ts +1770 -0
  39. package/dist/composables/useDataSource.d.ts.map +1 -0
  40. package/dist/composables/useEditing.d.ts +54 -0
  41. package/dist/composables/useEditing.d.ts.map +1 -0
  42. package/dist/composables/useExport.d.ts +72 -0
  43. package/dist/composables/useExport.d.ts.map +1 -0
  44. package/dist/composables/useFiltering.d.ts +42 -0
  45. package/dist/composables/useFiltering.d.ts.map +1 -0
  46. package/dist/composables/useGridApi.d.ts +85 -0
  47. package/dist/composables/useGridApi.d.ts.map +1 -0
  48. package/dist/composables/useGrouping.d.ts +879 -0
  49. package/dist/composables/useGrouping.d.ts.map +1 -0
  50. package/dist/composables/useInfiniteScroll.d.ts +49 -0
  51. package/dist/composables/useInfiniteScroll.d.ts.map +1 -0
  52. package/dist/composables/useKeyboardNavigation.d.ts +47 -0
  53. package/dist/composables/useKeyboardNavigation.d.ts.map +1 -0
  54. package/dist/composables/useLoadingState.d.ts +36 -0
  55. package/dist/composables/useLoadingState.d.ts.map +1 -0
  56. package/dist/composables/usePagination.d.ts +45 -0
  57. package/dist/composables/usePagination.d.ts.map +1 -0
  58. package/dist/composables/useRowExpansion.d.ts +47 -0
  59. package/dist/composables/useRowExpansion.d.ts.map +1 -0
  60. package/dist/composables/useSearch.d.ts +97 -0
  61. package/dist/composables/useSearch.d.ts.map +1 -0
  62. package/dist/composables/useSelection.d.ts +32 -0
  63. package/dist/composables/useSelection.d.ts.map +1 -0
  64. package/dist/composables/useSorting.d.ts +859 -0
  65. package/dist/composables/useSorting.d.ts.map +1 -0
  66. package/dist/composables/useStatePersistence.d.ts +26 -0
  67. package/dist/composables/useStatePersistence.d.ts.map +1 -0
  68. package/dist/composables/useSummary.d.ts +49 -0
  69. package/dist/composables/useSummary.d.ts.map +1 -0
  70. package/dist/composables/useUndo.d.ts +27 -0
  71. package/dist/composables/useUndo.d.ts.map +1 -0
  72. package/dist/composables/useVirtualization.d.ts +40 -0
  73. package/dist/composables/useVirtualization.d.ts.map +1 -0
  74. package/dist/html2canvas.esm-1a1724a1.js +4886 -0
  75. package/dist/index-541cb5f8.js +38398 -0
  76. package/dist/index.d.ts +108 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.es-713282db.js +5771 -0
  79. package/dist/plugin.d.ts +22 -0
  80. package/dist/plugin.d.ts.map +1 -0
  81. package/dist/purify.es-35a15df8.js +480 -0
  82. package/dist/style.css +1 -0
  83. package/dist/tsdatagrid.es.js +358 -0
  84. package/dist/tsdatagrid.umd.js +450 -0
  85. package/dist/types/core/base.d.ts +143 -0
  86. package/dist/types/core/base.d.ts.map +1 -0
  87. package/dist/types/core/column.d.ts +354 -0
  88. package/dist/types/core/column.d.ts.map +1 -0
  89. package/dist/types/core/datasource.d.ts +247 -0
  90. package/dist/types/core/datasource.d.ts.map +1 -0
  91. package/dist/types/core/events.d.ts +297 -0
  92. package/dist/types/core/events.d.ts.map +1 -0
  93. package/dist/types/core/models.d.ts +74 -0
  94. package/dist/types/core/models.d.ts.map +1 -0
  95. package/dist/types/features/accessibility.d.ts +75 -0
  96. package/dist/types/features/accessibility.d.ts.map +1 -0
  97. package/dist/types/features/editing.d.ts +185 -0
  98. package/dist/types/features/editing.d.ts.map +1 -0
  99. package/dist/types/features/export.d.ts +145 -0
  100. package/dist/types/features/export.d.ts.map +1 -0
  101. package/dist/types/features/filtering.d.ts +193 -0
  102. package/dist/types/features/filtering.d.ts.map +1 -0
  103. package/dist/types/features/grouping.d.ts +148 -0
  104. package/dist/types/features/grouping.d.ts.map +1 -0
  105. package/dist/types/features/keyboard.d.ts +126 -0
  106. package/dist/types/features/keyboard.d.ts.map +1 -0
  107. package/dist/types/features/pagination.d.ts +85 -0
  108. package/dist/types/features/pagination.d.ts.map +1 -0
  109. package/dist/types/features/searching.d.ts +90 -0
  110. package/dist/types/features/searching.d.ts.map +1 -0
  111. package/dist/types/features/selection.d.ts +99 -0
  112. package/dist/types/features/selection.d.ts.map +1 -0
  113. package/dist/types/features/sorting.d.ts +81 -0
  114. package/dist/types/features/sorting.d.ts.map +1 -0
  115. package/dist/types/features/summary.d.ts +99 -0
  116. package/dist/types/features/summary.d.ts.map +1 -0
  117. package/dist/types/features/virtualization.d.ts +88 -0
  118. package/dist/types/features/virtualization.d.ts.map +1 -0
  119. package/dist/types/index.d.ts +60 -0
  120. package/dist/types/index.d.ts.map +1 -0
  121. package/dist/types/state/grid-state.d.ts +70 -0
  122. package/dist/types/state/grid-state.d.ts.map +1 -0
  123. package/dist/types/state/persistence.d.ts +65 -0
  124. package/dist/types/state/persistence.d.ts.map +1 -0
  125. package/dist/types/ui/styling.d.ts +72 -0
  126. package/dist/types/ui/styling.d.ts.map +1 -0
  127. package/dist/types/ui/templates.d.ts +80 -0
  128. package/dist/types/ui/templates.d.ts.map +1 -0
  129. package/dist/types/ui/toolbar.d.ts +63 -0
  130. package/dist/types/ui/toolbar.d.ts.map +1 -0
  131. package/dist/types/validation/validators.d.ts +134 -0
  132. package/dist/types/validation/validators.d.ts.map +1 -0
  133. package/dist/utils/accessibility.d.ts +35 -0
  134. package/dist/utils/accessibility.d.ts.map +1 -0
  135. package/dist/utils/array.d.ts +88 -0
  136. package/dist/utils/array.d.ts.map +1 -0
  137. package/dist/utils/cache.d.ts +92 -0
  138. package/dist/utils/cache.d.ts.map +1 -0
  139. package/dist/utils/clipboard.d.ts +25 -0
  140. package/dist/utils/clipboard.d.ts.map +1 -0
  141. package/dist/utils/column-searcher.d.ts +44 -0
  142. package/dist/utils/column-searcher.d.ts.map +1 -0
  143. package/dist/utils/constants.d.ts +76 -0
  144. package/dist/utils/constants.d.ts.map +1 -0
  145. package/dist/utils/date.d.ts +101 -0
  146. package/dist/utils/date.d.ts.map +1 -0
  147. package/dist/utils/dom.d.ts +128 -0
  148. package/dist/utils/dom.d.ts.map +1 -0
  149. package/dist/utils/error-handling.d.ts +190 -0
  150. package/dist/utils/error-handling.d.ts.map +1 -0
  151. package/dist/utils/export.d.ts +37 -0
  152. package/dist/utils/export.d.ts.map +1 -0
  153. package/dist/utils/formatters.d.ts +60 -0
  154. package/dist/utils/formatters.d.ts.map +1 -0
  155. package/dist/utils/index.d.ts +25 -0
  156. package/dist/utils/index.d.ts.map +1 -0
  157. package/dist/utils/keyboard.d.ts +58 -0
  158. package/dist/utils/keyboard.d.ts.map +1 -0
  159. package/dist/utils/logger.d.ts +45 -0
  160. package/dist/utils/logger.d.ts.map +1 -0
  161. package/dist/utils/number.d.ts +77 -0
  162. package/dist/utils/number.d.ts.map +1 -0
  163. package/dist/utils/object.d.ts +101 -0
  164. package/dist/utils/object.d.ts.map +1 -0
  165. package/dist/utils/odata.d.ts +87 -0
  166. package/dist/utils/odata.d.ts.map +1 -0
  167. package/dist/utils/performance.d.ts +75 -0
  168. package/dist/utils/performance.d.ts.map +1 -0
  169. package/dist/utils/storage.d.ts +83 -0
  170. package/dist/utils/storage.d.ts.map +1 -0
  171. package/dist/utils/string.d.ts +105 -0
  172. package/dist/utils/string.d.ts.map +1 -0
  173. package/dist/utils/validators.d.ts +60 -0
  174. package/dist/utils/validators.d.ts.map +1 -0
  175. package/package.json +90 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGrouping.d.ts","sourceRoot":"","sources":["../../src/composables/useGrouping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGtE,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGA4Wiw8D,CAAC;;;;;;;;;;;;;;;;;;4CAAnw+B,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGAA8v+B,CAAC;;;;;;;;;;;;;;;;;;4CAAnw+B,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGAA8v+B,CAAC;;;;;;;;;;;;;;;;;;4CAAnw+B,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGAA8v+B,CAAC;;;;;;;;;;;;;;;;;;4CAAnw+B,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAnWnh+B,MAAM,aAAY,OAAO,UAAiB,MAAM;yBA6B7C,MAAM;;0BAyCL,MAAM,YAAY,MAAM;qCAoBb,MAAM;gCAyBX,MAAM,KAAG,OAAO;4BAUpB,MAAM;8BAWJ,MAAM;mCAWD,UAAU,EAAE;qCAyBV,UAAU,EAAE;sBAyB3B,GAAG,EAAE,KAAG,UAAU,EAAE;kCAwFR,GAAG,EAAE,eAAe,GAAG,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;oCAiC7C,UAAU,EAAE,KAAG,GAAG,EAAE;EAqC5D"}
@@ -0,0 +1,49 @@
1
+ import { GridEmit } from '../types';
2
+
3
+ export interface InfiniteScrollConfig {
4
+ /** Items per page */
5
+ pageSize?: number;
6
+ /** Distance from bottom to trigger load (px) */
7
+ threshold?: number;
8
+ /** Enable infinite scroll */
9
+ enabled?: boolean;
10
+ /** Load first page automatically */
11
+ initialLoad?: boolean;
12
+ /** Use Intersection Observer instead of scroll event */
13
+ useIntersectionObserver?: boolean;
14
+ /** Debounce scroll events (ms) */
15
+ scrollDebounce?: number;
16
+ /** Auto-load more if content doesn't fill container */
17
+ autoLoadMore?: boolean;
18
+ }
19
+ export interface InfiniteScrollResult {
20
+ /** Loaded data */
21
+ data: any[];
22
+ /** Has more data to load */
23
+ hasMore: boolean;
24
+ /** Total count (optional) */
25
+ totalCount?: number;
26
+ }
27
+ export declare function useInfiniteScroll(loadMore: (page: number, pageSize: number) => Promise<InfiniteScrollResult>, config?: InfiniteScrollConfig, emit?: GridEmit): {
28
+ data: import('vue').Ref<any[], any[]>;
29
+ currentPage: import('vue').Ref<number, number>;
30
+ isLoading: import('vue').Ref<boolean, boolean>;
31
+ hasMore: import('vue').Ref<boolean, boolean>;
32
+ error: import('vue').Ref<Error | null, Error | null>;
33
+ canLoadMore: import('vue').ComputedRef<boolean>;
34
+ scrollContainer: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
35
+ sentinelElement: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
36
+ totalCount: import('vue').Ref<number, number>;
37
+ progress: import('vue').ComputedRef<number>;
38
+ isComplete: import('vue').ComputedRef<boolean>;
39
+ loadNextPage: () => Promise<void>;
40
+ reset: () => void;
41
+ reload: () => Promise<void>;
42
+ retry: () => Promise<void>;
43
+ attachScrollContainer: (element: HTMLElement | null) => void;
44
+ attachSentinel: (element: HTMLElement | null) => void;
45
+ checkAndLoadMore: () => void;
46
+ setupIntersectionObserver: () => void;
47
+ cleanupIntersectionObserver: () => void;
48
+ };
49
+ //# sourceMappingURL=useInfiniteScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInfiniteScroll.d.ts","sourceRoot":"","sources":["../../src/composables/useInfiniteScroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAEjC,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,IAAI,EAAE,GAAG,EAAE,CAAA;IAEX,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;IAEhB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,EAC3E,MAAM,GAAE,oBAAyB,EACjC,IAAI,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;;qCAwNyB,WAAW,GAAG,IAAI;8BA+BzB,WAAW,GAAG,IAAI;;;;EAsGpD"}
@@ -0,0 +1,47 @@
1
+ import { KeyboardNavigationConfig, FocusPosition, KeyboardShortcut, KeyboardAction, ColumnDefinition, ColumnField, RowKey, GridEmit } from '../types';
2
+
3
+ export declare function useKeyboardNavigation(columns: () => ColumnDefinition[], data: () => any[], keyField?: string, config?: KeyboardNavigationConfig, emit?: GridEmit): {
4
+ focusedPosition: import('vue').Ref<{
5
+ rowKey: RowKey;
6
+ columnField: ColumnField;
7
+ rowIndex: number;
8
+ columnIndex: number;
9
+ } | null, FocusPosition | {
10
+ rowKey: RowKey;
11
+ columnField: ColumnField;
12
+ rowIndex: number;
13
+ columnIndex: number;
14
+ } | null>;
15
+ focusVisible: import('vue').Ref<boolean, boolean>;
16
+ gridElement: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
17
+ activeShortcuts: import('vue').ComputedRef<KeyboardShortcut[]>;
18
+ setFocus: (rowKey: any, columnField: string | ColumnField) => void;
19
+ clearFocus: () => void;
20
+ moveFocus: (direction: "up" | "down" | "left" | "right") => void;
21
+ moveToFirstCell: () => void;
22
+ moveToLastCell: () => void;
23
+ moveToFirstColumn: () => void;
24
+ moveToLastColumn: () => void;
25
+ moveToFirstRow: () => void;
26
+ moveToLastRow: () => void;
27
+ movePage: (direction: "up" | "down", pageSize?: number) => void;
28
+ attachGridElement: (element: HTMLElement | null) => void;
29
+ registerShortcut: (shortcut: KeyboardShortcut) => void;
30
+ unregisterShortcut: (action: KeyboardAction) => void;
31
+ getShortcutDescription: (action: KeyboardAction) => string | undefined;
32
+ getShortcutKeys: (action: KeyboardAction) => string | undefined;
33
+ getFocusedCellValue: () => any;
34
+ config: import('vue').ComputedRef<{
35
+ enabled: boolean;
36
+ cellNavigation: boolean;
37
+ rowNavigation: boolean;
38
+ editingShortcuts: boolean;
39
+ selectionShortcuts: boolean;
40
+ clipboardShortcuts: boolean;
41
+ customShortcuts: KeyboardShortcut[];
42
+ enterKeyAction: "startEdit" | "moveFocus" | "none";
43
+ enterKeyDirection: "down" | "right" | "none";
44
+ editOnKeyPress: boolean;
45
+ }>;
46
+ };
47
+ //# sourceMappingURL=useKeyboardNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../src/composables/useKeyboardNavigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,EACT,MAAM,UAAU,CAAA;AAEjB,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,gBAAgB,EAAE,EACjC,IAAI,EAAE,MAAM,GAAG,EAAE,EACjB,QAAQ,GAAE,MAAa,EACvB,MAAM,GAAE,wBAA6B,EACrC,IAAI,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;uBA8DW,GAAG,eAAe,MAAM,GAAG,WAAW;;2BA6BlC,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;;;;;;;0BAkGjC,IAAI,GAAG,MAAM,aAAY,MAAM;iCAqLxB,WAAW,GAAG,IAAI;iCAmClB,gBAAgB;iCAOhB,cAAc;qCAQV,cAAc,KAAG,MAAM,GAAG,SAAS;8BAK1C,cAAc,KAAG,MAAM,GAAG,SAAS;+BAepC,GAAG;;;;;;;;;;;;;EAqCpC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Loading state composable
3
+ * @module composables/useLoadingState
4
+ */
5
+ export interface LoadingOptions {
6
+ text?: string;
7
+ overlay?: boolean;
8
+ spinner?: boolean;
9
+ progress?: number;
10
+ cancellable?: boolean;
11
+ }
12
+ export declare function useLoadingState(): {
13
+ isLoading: import('vue').Ref<boolean, boolean>;
14
+ loadingText: import('vue').Ref<string, string>;
15
+ loadingProgress: import('vue').Ref<number, number>;
16
+ loadingOptions: import('vue').Ref<{
17
+ text?: string | undefined;
18
+ overlay?: boolean | undefined;
19
+ spinner?: boolean | undefined;
20
+ progress?: number | undefined;
21
+ cancellable?: boolean | undefined;
22
+ }, LoadingOptions | {
23
+ text?: string | undefined;
24
+ overlay?: boolean | undefined;
25
+ spinner?: boolean | undefined;
26
+ progress?: number | undefined;
27
+ cancellable?: boolean | undefined;
28
+ }>;
29
+ hasProgress: import('vue').ComputedRef<boolean>;
30
+ startLoading: (options?: LoadingOptions) => void;
31
+ stopLoading: () => void;
32
+ updateProgress: (progress: number, text?: string) => void;
33
+ updateText: (text: string) => void;
34
+ withLoading: <T>(operation: () => Promise<T>, options?: LoadingOptions) => Promise<T>;
35
+ };
36
+ //# sourceMappingURL=useLoadingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadingState.d.ts","sourceRoot":"","sources":["../../src/composables/useLoadingState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,eAAe;;;;;eAPtB,MAAM;kBACH,OAAO;kBACP,OAAO;mBACN,MAAM;sBACH,OAAO;;eAJd,MAAM;kBACH,OAAO;kBACP,OAAO;mBACN,MAAM;sBACH,OAAO;;;6BAcW,cAAc;;+BA2BZ,MAAM,SAAS,MAAM;uBAS7B,MAAM;kBAKL,CAAC,aACf,MAAM,OAAO,CAAC,CAAC,CAAC,YACjB,cAAc,KACvB,OAAO,CAAC,CAAC,CAAC;EAwBd"}
@@ -0,0 +1,45 @@
1
+ import { PaginationConfig, PaginationState, GridEmit } from '../types';
2
+
3
+ export declare function usePagination(config?: PaginationConfig, emit?: GridEmit): {
4
+ currentPage: import('vue').Ref<number, number>;
5
+ pageSize: import('vue').Ref<number, number>;
6
+ totalItems: import('vue').Ref<number, number>;
7
+ totalPages: import('vue').ComputedRef<number>;
8
+ skip: import('vue').ComputedRef<number>;
9
+ take: import('vue').ComputedRef<number>;
10
+ startRecord: import('vue').ComputedRef<number>;
11
+ endRecord: import('vue').ComputedRef<number>;
12
+ canGoNext: import('vue').ComputedRef<boolean>;
13
+ canGoPrevious: import('vue').ComputedRef<boolean>;
14
+ canGoFirst: import('vue').ComputedRef<boolean>;
15
+ canGoLast: import('vue').ComputedRef<boolean>;
16
+ availablePageSizes: import('vue').ComputedRef<number[]>;
17
+ paginationState: import('vue').ComputedRef<PaginationState>;
18
+ paginationInfo: import('vue').ComputedRef<string>;
19
+ isFirstPage: import('vue').ComputedRef<boolean>;
20
+ isLastPage: import('vue').ComputedRef<boolean>;
21
+ hasPages: import('vue').ComputedRef<boolean>;
22
+ goToPage: (page: number) => boolean;
23
+ nextPage: () => boolean;
24
+ previousPage: () => boolean;
25
+ firstPage: () => boolean;
26
+ lastPage: () => boolean;
27
+ changePageSize: (size: number) => boolean;
28
+ reset: () => void;
29
+ getPageNumbers: (maxVisible?: number) => number[];
30
+ getPageNumbersWithEllipsis: (maxVisible?: number) => Array<number | "ellipsis">;
31
+ updateConfig: (newConfig: Partial<PaginationConfig>) => void;
32
+ setPage: (page: number) => void;
33
+ setPageSize: (size: number) => void;
34
+ setTotalItems: (total: number) => void;
35
+ getRangeInfo: () => {
36
+ start: number;
37
+ end: number;
38
+ total: number;
39
+ };
40
+ getPageInfo: () => string;
41
+ isPage: (page: number) => boolean;
42
+ canGoToPage: (page: number) => boolean;
43
+ getPaginatedData: <T>(data: T[]) => T[];
44
+ };
45
+ //# sourceMappingURL=usePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.d.ts","sourceRoot":"","sources":["../../src/composables/usePagination.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE3E,wBAAgB,aAAa,CAC3B,MAAM,GAAE,gBAKP,EACD,IAAI,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;qBA+FS,MAAM,KAAG,OAAO;oBAenB,OAAO;wBAQH,OAAO;qBAQV,OAAO;oBAKR,OAAO;2BAKE,MAAM,KAAG,OAAO;;kCAsCV,MAAM,KAAO,MAAM,EAAE;8CA6BT,MAAM,KAAO,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;8BA0EtD,OAAO,CAAC,gBAAgB,CAAC;oBAlBnC,MAAM;wBAMF,MAAM;2BAOH,MAAM;wBAkBX;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;uBAS9C,MAAM;mBAcR,MAAM,KAAG,OAAO;wBAKX,MAAM,KAAG,OAAO;uBAKjB,CAAC,QAAQ,CAAC,EAAE,KAAG,CAAC,EAAE;EA+C7C"}
@@ -0,0 +1,47 @@
1
+ import { GridEmit } from '../types';
2
+
3
+ export interface RowExpansionConfig {
4
+ /** Allow multiple rows to be expanded simultaneously */
5
+ allowMultiple?: boolean;
6
+ /** Expand row when clicking anywhere on the row */
7
+ expandOnRowClick?: boolean;
8
+ /** Auto-collapse other rows when expanding a new one */
9
+ autoCollapse?: boolean;
10
+ /** Default expanded state for all rows */
11
+ defaultExpanded?: boolean;
12
+ }
13
+ export interface RowExpansionState {
14
+ /** Set of expanded row keys */
15
+ expandedRows: Set<any>;
16
+ /** Count of expanded rows */
17
+ expandedCount: number;
18
+ /** Has any expanded rows */
19
+ hasExpandedRows: boolean;
20
+ }
21
+ export declare function useRowExpansion(keyField?: string, config?: RowExpansionConfig, emit?: GridEmit): {
22
+ expandedRows: import('vue').Ref<Set<any> & Omit<Set<any>, keyof Set<any>>, Set<any> | (Set<any> & Omit<Set<any>, keyof Set<any>>)>;
23
+ expandedCount: import('vue').ComputedRef<number>;
24
+ hasExpandedRows: import('vue').ComputedRef<boolean>;
25
+ config: import('vue').ComputedRef<{
26
+ allowMultiple: boolean;
27
+ expandOnRowClick: boolean;
28
+ autoCollapse: boolean;
29
+ defaultExpanded: boolean;
30
+ }>;
31
+ isExpanded: (row: any) => boolean;
32
+ isExpandedByKey: (key: any) => boolean;
33
+ toggleExpansion: (row: any, rowIndex?: number) => void;
34
+ expand: (row: any, rowIndex?: number) => void;
35
+ collapse: (row: any, rowIndex?: number) => void;
36
+ expandAll: (rows: any[]) => void;
37
+ collapseAll: () => void;
38
+ setExpandedRows: (keys: any[]) => void;
39
+ getExpandedRows: () => any[];
40
+ expandByKey: (key: any) => void;
41
+ collapseByKey: (key: any) => void;
42
+ toggleByKey: (key: any) => void;
43
+ getExpansionState: () => RowExpansionState;
44
+ restoreExpansionState: (state: RowExpansionState) => void;
45
+ reset: () => void;
46
+ };
47
+ //# sourceMappingURL=useRowExpansion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRowExpansion.d.ts","sourceRoot":"","sources":["../../src/composables/useRowExpansion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAU,MAAM,UAAU,CAAA;AAEhD,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAEtB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAA;IAErB,4BAA4B;IAC5B,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,MAAa,EACvB,MAAM,GAAE,kBAAuB,EAC/B,IAAI,CAAC,EAAE,QAAQ;;;;;uBA1BC,OAAO;0BAGJ,OAAO;sBAGX,OAAO;yBAGJ,OAAO;;sBAkCA,GAAG,KAAG,OAAO;2BAOR,GAAG,KAAG,OAAO;2BAKb,GAAG,aAAY,MAAM;kBAW9B,GAAG,aAAY,MAAM;oBAkCnB,GAAG,aAAY,MAAM;sBA6BnB,GAAG,EAAE;;4BAwCC,GAAG,EAAE;2BAYR,GAAG,EAAE;uBAKP,GAAG;yBAkBD,GAAG;uBAcL,GAAG;6BASC,iBAAiB;mCAST,iBAAiB;;EAkCxD"}
@@ -0,0 +1,97 @@
1
+ import { ColumnDefinition, RowKey, SearchConfig, SearchResult, SearchState, GridEmit } from '../types';
2
+
3
+ export declare function useSearch<T = any>(data: () => T[], columns: () => ColumnDefinition[], config?: SearchConfig, emit?: GridEmit<T>, getRowKey?: (row: T) => RowKey | string | number): {
4
+ searchTerm: import('vue').Ref<string, string>;
5
+ results: import('vue').Ref<{
6
+ row: import('vue').UnwrapRef<T>;
7
+ rowKey: any;
8
+ score: number;
9
+ matches: {
10
+ field: string;
11
+ value: any;
12
+ match: string;
13
+ startIndex: number;
14
+ endIndex: number;
15
+ score?: number | undefined;
16
+ }[];
17
+ highlightedRow?: import('vue').UnwrapRef<T> | undefined;
18
+ }[], SearchResult<T>[] | {
19
+ row: import('vue').UnwrapRef<T>;
20
+ rowKey: any;
21
+ score: number;
22
+ matches: {
23
+ field: string;
24
+ value: any;
25
+ match: string;
26
+ startIndex: number;
27
+ endIndex: number;
28
+ score?: number | undefined;
29
+ }[];
30
+ highlightedRow?: import('vue').UnwrapRef<T> | undefined;
31
+ }[]>;
32
+ loading: import('vue').Ref<boolean, boolean>;
33
+ highlightedRows: import('vue').Ref<Set<any> & Omit<Set<any>, keyof Set<any>>, Set<any> | (Set<any> & Omit<Set<any>, keyof Set<any>>)>;
34
+ searchState: import('vue').ComputedRef<SearchState>;
35
+ hasResults: import('vue').ComputedRef<boolean>;
36
+ hasSearchTerm: import('vue').ComputedRef<boolean>;
37
+ isSearching: import('vue').ComputedRef<boolean>;
38
+ activeMatchIndex: import('vue').Ref<number | undefined, number | undefined>;
39
+ search: (term: string) => void;
40
+ executeSearch: () => void;
41
+ clearSearch: () => void;
42
+ getHighlightedValue: (row: T, field: string) => string;
43
+ isRowHighlighted: (row: T) => boolean;
44
+ getMatchCount: (row: T) => number;
45
+ getMatchesForRow: (row: T) => {
46
+ field: string;
47
+ value: any;
48
+ match: string;
49
+ startIndex: number;
50
+ endIndex: number;
51
+ score?: number | undefined;
52
+ }[];
53
+ searchWithFilters: (term: string, filters: Record<string, any>) => void;
54
+ navigateToNextMatch: () => void;
55
+ navigateToPreviousMatch: () => void;
56
+ getActiveMatch: () => {
57
+ result: {
58
+ row: import('vue').UnwrapRef<T>;
59
+ rowKey: any;
60
+ score: number;
61
+ matches: {
62
+ field: string;
63
+ value: any;
64
+ match: string;
65
+ startIndex: number;
66
+ endIndex: number;
67
+ score?: number | undefined;
68
+ }[];
69
+ highlightedRow?: import('vue').UnwrapRef<T> | undefined;
70
+ };
71
+ match: {
72
+ field: string;
73
+ value: any;
74
+ match: string;
75
+ startIndex: number;
76
+ endIndex: number;
77
+ score?: number | undefined;
78
+ };
79
+ } | null;
80
+ getSearchableFields: () => string[];
81
+ updateConfig: (newConfig: Partial<SearchConfig>) => void;
82
+ updateHighlightConfig: (highlightClass?: string) => void;
83
+ getStats: () => {
84
+ resultCount: number;
85
+ totalMatches: number;
86
+ hasResults: boolean;
87
+ term: string;
88
+ activeMatchIndex: number | undefined;
89
+ cacheSize: number;
90
+ searchableFields: number;
91
+ indexSize: number;
92
+ };
93
+ clearCache: () => void;
94
+ enabled: import('vue').ComputedRef<boolean>;
95
+ totalMatches: import('vue').ComputedRef<number>;
96
+ };
97
+ //# sourceMappingURL=useSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearch.d.ts","sourceRoot":"","sources":["../../src/composables/useSearch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC,wBAAgB,SAAS,CAAC,CAAC,GAAG,GAAG,EAC/B,IAAI,EAAE,MAAM,CAAC,EAAE,EACf,OAAO,EAAE,MAAM,gBAAgB,EAAE,EACjC,MAAM,GAAE,YAA6D,EACrE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+F1B,MAAM;;;+BAgBM,CAAC,SAAS,MAAM,KAAG,MAAM;4BAiB5B,CAAC,KAAG,OAAO;yBAMd,CAAC,KAAG,MAAM;4BAMP,CAAC;;;;;;;;8BAKC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAsErC,MAAM,EAAE;8BAKP,OAAO,CAAC,YAAY,CAAC;6CA2BN,MAAM;;;;;;;;;;;;;;EA2EvD"}
@@ -0,0 +1,32 @@
1
+ import { SelectionMode, SelectionState, GridEmit } from '../types';
2
+
3
+ export declare function useSelection<T>(mode?: SelectionMode, keyField?: string, emit?: GridEmit<T>): {
4
+ selectedKeys: import('vue').Ref<Set<any> & Omit<Set<any>, keyof Set<any>>, Set<any> | (Set<any> & Omit<Set<any>, keyof Set<any>>)>;
5
+ selectedCount: import('vue').ComputedRef<number>;
6
+ hasSelection: import('vue').ComputedRef<boolean>;
7
+ selectionState: import('vue').ComputedRef<SelectionState>;
8
+ isSelected: (item: T) => boolean;
9
+ toggleSelection: (item: T, index?: number, shiftKey?: boolean) => void;
10
+ selectRange: (startIndex: number, endIndex: number, items: T[]) => void;
11
+ selectAll: (items: T[], allData?: boolean) => void;
12
+ deselectAll: () => void;
13
+ select: (item: T) => void;
14
+ deselect: (item: T) => void;
15
+ selectByKey: (key: any) => void;
16
+ deselectByKey: (key: any) => void;
17
+ selectByKeys: (keys: any[]) => void;
18
+ deselectByKeys: (keys: any[]) => void;
19
+ isAllSelected: (items: T[]) => boolean;
20
+ isSomeSelected: (items: T[]) => boolean;
21
+ toggleSelectAll: (items: T[]) => void;
22
+ getSelectedItems: (allItems: T[]) => T[];
23
+ getSelectedKeys: () => any[];
24
+ setSelectedKeys: (keys: any[]) => void;
25
+ clearSelection: () => void;
26
+ invertSelection: (allItems: T[]) => void;
27
+ selectFiltered: (filteredItems: T[]) => void;
28
+ saveSelectionToStorage: () => void;
29
+ loadSelectionFromStorage: () => void;
30
+ clearSelectionFromStorage: () => void;
31
+ };
32
+ //# sourceMappingURL=useSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../src/composables/useSelection.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,cAAc,EAIf,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,GAAE,aAAsE,EAC5E,QAAQ,GAAE,MAAa,EACvB,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;;;;;uBAgBQ,CAAC,KAAG,OAAO;4BAMN,CAAC,UAAU,MAAM,aAAY,OAAO;8BA8ClC,MAAM,YAAY,MAAM,SAAS,CAAC,EAAE;uBAmB3C,CAAC,EAAE,YAAW,OAAO;;mBA8BzB,CAAC;qBAkBC,CAAC;uBAWC,GAAG;yBAeD,GAAG;yBAQH,GAAG,EAAE;2BAwBH,GAAG,EAAE;2BAgBL,CAAC,EAAE,KAAG,OAAO;4BAMZ,CAAC,EAAE,KAAG,OAAO;6BAKZ,CAAC,EAAE;iCAWC,CAAC,EAAE,KAAG,CAAC,EAAE;2BAKjB,GAAG,EAAE;4BAKF,GAAG,EAAE;;gCAgBD,CAAC,EAAE;oCAeC,CAAC,EAAE;;;;EA+G3C"}