@keenthemes/ktui 1.2.2 → 1.2.4

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 (166) hide show
  1. package/dist/ktui.js +1738 -986
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +110 -197
  5. package/lib/cjs/components/context-menu/context-menu.d.ts +66 -0
  6. package/lib/cjs/components/context-menu/context-menu.d.ts.map +1 -0
  7. package/lib/cjs/components/context-menu/context-menu.js +423 -0
  8. package/lib/cjs/components/context-menu/context-menu.js.map +1 -0
  9. package/lib/cjs/components/context-menu/index.d.ts +7 -0
  10. package/lib/cjs/components/context-menu/index.d.ts.map +1 -0
  11. package/lib/cjs/components/context-menu/index.js +10 -0
  12. package/lib/cjs/components/context-menu/index.js.map +1 -0
  13. package/lib/cjs/components/context-menu/types.d.ts +30 -0
  14. package/lib/cjs/components/context-menu/types.d.ts.map +1 -0
  15. package/lib/cjs/components/context-menu/types.js +7 -0
  16. package/lib/cjs/components/context-menu/types.js.map +1 -0
  17. package/lib/cjs/components/datatable/datatable-contracts.d.ts +66 -0
  18. package/lib/cjs/components/datatable/datatable-contracts.d.ts.map +1 -0
  19. package/lib/cjs/components/datatable/datatable-contracts.js +7 -0
  20. package/lib/cjs/components/datatable/datatable-contracts.js.map +1 -0
  21. package/lib/cjs/components/datatable/datatable-event-adapter.d.ts +7 -0
  22. package/lib/cjs/components/datatable/datatable-event-adapter.d.ts.map +1 -0
  23. package/lib/cjs/components/datatable/datatable-event-adapter.js +16 -0
  24. package/lib/cjs/components/datatable/datatable-event-adapter.js.map +1 -0
  25. package/lib/cjs/components/datatable/datatable-local-provider.d.ts +25 -0
  26. package/lib/cjs/components/datatable/datatable-local-provider.d.ts.map +1 -0
  27. package/lib/cjs/components/datatable/datatable-local-provider.js +184 -0
  28. package/lib/cjs/components/datatable/datatable-local-provider.js.map +1 -0
  29. package/lib/cjs/components/datatable/datatable-pagination-renderer.d.ts +15 -0
  30. package/lib/cjs/components/datatable/datatable-pagination-renderer.d.ts.map +1 -0
  31. package/lib/cjs/components/datatable/datatable-pagination-renderer.js +128 -0
  32. package/lib/cjs/components/datatable/datatable-pagination-renderer.js.map +1 -0
  33. package/lib/cjs/components/datatable/datatable-remote-provider.d.ts +25 -0
  34. package/lib/cjs/components/datatable/datatable-remote-provider.d.ts.map +1 -0
  35. package/lib/cjs/components/datatable/datatable-remote-provider.js +188 -0
  36. package/lib/cjs/components/datatable/datatable-remote-provider.js.map +1 -0
  37. package/lib/cjs/components/datatable/datatable-state-store.d.ts +21 -0
  38. package/lib/cjs/components/datatable/datatable-state-store.d.ts.map +1 -0
  39. package/lib/cjs/components/datatable/datatable-state-store.js +81 -0
  40. package/lib/cjs/components/datatable/datatable-state-store.js.map +1 -0
  41. package/lib/cjs/components/datatable/datatable-table-renderer.d.ts +16 -0
  42. package/lib/cjs/components/datatable/datatable-table-renderer.d.ts.map +1 -0
  43. package/lib/cjs/components/datatable/datatable-table-renderer.js +133 -0
  44. package/lib/cjs/components/datatable/datatable-table-renderer.js.map +1 -0
  45. package/lib/cjs/components/datatable/datatable.d.ts +9 -87
  46. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -1
  47. package/lib/cjs/components/datatable/datatable.js +115 -687
  48. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  49. package/lib/cjs/components/modal/modal.d.ts.map +1 -1
  50. package/lib/cjs/components/modal/modal.js +19 -13
  51. package/lib/cjs/components/modal/modal.js.map +1 -1
  52. package/lib/cjs/components/select/index.d.ts +1 -1
  53. package/lib/cjs/components/select/index.d.ts.map +1 -1
  54. package/lib/cjs/components/theme-switch/theme-switch.d.ts +3 -0
  55. package/lib/cjs/components/theme-switch/theme-switch.d.ts.map +1 -1
  56. package/lib/cjs/components/theme-switch/theme-switch.js +17 -4
  57. package/lib/cjs/components/theme-switch/theme-switch.js.map +1 -1
  58. package/lib/cjs/components/toggle/toggle.d.ts +2 -0
  59. package/lib/cjs/components/toggle/toggle.d.ts.map +1 -1
  60. package/lib/cjs/components/toggle/toggle.js +11 -2
  61. package/lib/cjs/components/toggle/toggle.js.map +1 -1
  62. package/lib/cjs/index.d.ts +5 -1
  63. package/lib/cjs/index.d.ts.map +1 -1
  64. package/lib/cjs/index.js +7 -7
  65. package/lib/cjs/index.js.map +1 -1
  66. package/lib/cjs/init-all.d.ts +6 -0
  67. package/lib/cjs/init-all.d.ts.map +1 -0
  68. package/lib/cjs/init-all.js +17 -0
  69. package/lib/cjs/init-all.js.map +1 -0
  70. package/lib/cjs/legacy.d.ts +8 -0
  71. package/lib/cjs/legacy.d.ts.map +1 -0
  72. package/lib/cjs/legacy.js +26 -0
  73. package/lib/cjs/legacy.js.map +1 -0
  74. package/lib/esm/components/context-menu/context-menu.d.ts +66 -0
  75. package/lib/esm/components/context-menu/context-menu.d.ts.map +1 -0
  76. package/lib/esm/components/context-menu/context-menu.js +420 -0
  77. package/lib/esm/components/context-menu/context-menu.js.map +1 -0
  78. package/lib/esm/components/context-menu/index.d.ts +7 -0
  79. package/lib/esm/components/context-menu/index.d.ts.map +1 -0
  80. package/lib/esm/components/context-menu/index.js +6 -0
  81. package/lib/esm/components/context-menu/index.js.map +1 -0
  82. package/lib/esm/components/context-menu/types.d.ts +30 -0
  83. package/lib/esm/components/context-menu/types.d.ts.map +1 -0
  84. package/lib/esm/components/context-menu/types.js +6 -0
  85. package/lib/esm/components/context-menu/types.js.map +1 -0
  86. package/lib/esm/components/datatable/datatable-contracts.d.ts +66 -0
  87. package/lib/esm/components/datatable/datatable-contracts.d.ts.map +1 -0
  88. package/lib/esm/components/datatable/datatable-contracts.js +6 -0
  89. package/lib/esm/components/datatable/datatable-contracts.js.map +1 -0
  90. package/lib/esm/components/datatable/datatable-event-adapter.d.ts +7 -0
  91. package/lib/esm/components/datatable/datatable-event-adapter.d.ts.map +1 -0
  92. package/lib/esm/components/datatable/datatable-event-adapter.js +13 -0
  93. package/lib/esm/components/datatable/datatable-event-adapter.js.map +1 -0
  94. package/lib/esm/components/datatable/datatable-local-provider.d.ts +25 -0
  95. package/lib/esm/components/datatable/datatable-local-provider.d.ts.map +1 -0
  96. package/lib/esm/components/datatable/datatable-local-provider.js +181 -0
  97. package/lib/esm/components/datatable/datatable-local-provider.js.map +1 -0
  98. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts +15 -0
  99. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts.map +1 -0
  100. package/lib/esm/components/datatable/datatable-pagination-renderer.js +125 -0
  101. package/lib/esm/components/datatable/datatable-pagination-renderer.js.map +1 -0
  102. package/lib/esm/components/datatable/datatable-remote-provider.d.ts +25 -0
  103. package/lib/esm/components/datatable/datatable-remote-provider.d.ts.map +1 -0
  104. package/lib/esm/components/datatable/datatable-remote-provider.js +185 -0
  105. package/lib/esm/components/datatable/datatable-remote-provider.js.map +1 -0
  106. package/lib/esm/components/datatable/datatable-state-store.d.ts +21 -0
  107. package/lib/esm/components/datatable/datatable-state-store.d.ts.map +1 -0
  108. package/lib/esm/components/datatable/datatable-state-store.js +78 -0
  109. package/lib/esm/components/datatable/datatable-state-store.js.map +1 -0
  110. package/lib/esm/components/datatable/datatable-table-renderer.d.ts +16 -0
  111. package/lib/esm/components/datatable/datatable-table-renderer.d.ts.map +1 -0
  112. package/lib/esm/components/datatable/datatable-table-renderer.js +130 -0
  113. package/lib/esm/components/datatable/datatable-table-renderer.js.map +1 -0
  114. package/lib/esm/components/datatable/datatable.d.ts +9 -87
  115. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  116. package/lib/esm/components/datatable/datatable.js +115 -687
  117. package/lib/esm/components/datatable/datatable.js.map +1 -1
  118. package/lib/esm/components/modal/modal.d.ts.map +1 -1
  119. package/lib/esm/components/modal/modal.js +19 -13
  120. package/lib/esm/components/modal/modal.js.map +1 -1
  121. package/lib/esm/components/select/index.d.ts +1 -1
  122. package/lib/esm/components/select/index.d.ts.map +1 -1
  123. package/lib/esm/components/theme-switch/theme-switch.d.ts +3 -0
  124. package/lib/esm/components/theme-switch/theme-switch.d.ts.map +1 -1
  125. package/lib/esm/components/theme-switch/theme-switch.js +17 -4
  126. package/lib/esm/components/theme-switch/theme-switch.js.map +1 -1
  127. package/lib/esm/components/toggle/toggle.d.ts +2 -0
  128. package/lib/esm/components/toggle/toggle.d.ts.map +1 -1
  129. package/lib/esm/components/toggle/toggle.js +11 -2
  130. package/lib/esm/components/toggle/toggle.js.map +1 -1
  131. package/lib/esm/index.d.ts +5 -1
  132. package/lib/esm/index.d.ts.map +1 -1
  133. package/lib/esm/index.js +4 -5
  134. package/lib/esm/index.js.map +1 -1
  135. package/lib/esm/init-all.d.ts +6 -0
  136. package/lib/esm/init-all.d.ts.map +1 -0
  137. package/lib/esm/init-all.js +13 -0
  138. package/lib/esm/init-all.js.map +1 -0
  139. package/lib/esm/legacy.d.ts +8 -0
  140. package/lib/esm/legacy.d.ts.map +1 -0
  141. package/lib/esm/legacy.js +8 -0
  142. package/lib/esm/legacy.js.map +1 -0
  143. package/package.json +34 -4
  144. package/src/__tests__/entrypoints.test.ts +71 -0
  145. package/src/components/context-menu/__tests__/context-menu.test.ts +117 -0
  146. package/src/components/context-menu/context-menu.css +32 -0
  147. package/src/components/context-menu/context-menu.ts +529 -0
  148. package/src/components/context-menu/index.ts +10 -0
  149. package/src/components/context-menu/types.ts +32 -0
  150. package/src/components/datatable/__tests__/architecture-boundaries.test.ts +259 -0
  151. package/src/components/datatable/datatable-contracts.ts +96 -0
  152. package/src/components/datatable/datatable-event-adapter.ts +21 -0
  153. package/src/components/datatable/datatable-local-provider.ts +194 -0
  154. package/src/components/datatable/datatable-pagination-renderer.ts +211 -0
  155. package/src/components/datatable/datatable-remote-provider.ts +175 -0
  156. package/src/components/datatable/datatable-state-store.ts +94 -0
  157. package/src/components/datatable/datatable-table-renderer.ts +206 -0
  158. package/src/components/datatable/datatable.ts +128 -839
  159. package/src/components/modal/modal.ts +22 -14
  160. package/src/components/select/index.ts +1 -1
  161. package/src/components/theme-switch/theme-switch.ts +22 -4
  162. package/src/components/toggle/toggle.ts +12 -2
  163. package/src/index.ts +9 -5
  164. package/src/init-all.ts +15 -0
  165. package/src/legacy.ts +9 -0
  166. package/styles.css +1 -0
@@ -0,0 +1,66 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableAttributeInterface, KTDataTableColumnFilterInterface, KTDataTableConfigInterface, KTDataTableDataInterface, KTDataTableInterface, KTDataTableSortOrderInterface, KTDataTableStateInterface } from './types';
6
+ export type KTDataTableEmit = (eventName: string, eventData?: object) => void;
7
+ export type KTDataTableCleanup = () => void;
8
+ export interface KTDataTableEventAdapter {
9
+ emit(eventName: string, eventData?: object): void;
10
+ }
11
+ export interface KTDataTableStateStore {
12
+ getState(): KTDataTableStateInterface;
13
+ replaceState(state: KTDataTableStateInterface): void;
14
+ patchState(state: Partial<KTDataTableStateInterface>): void;
15
+ setPage(page: number): void;
16
+ setPageSize(pageSize: number, page?: number): void;
17
+ setSort(field: keyof KTDataTableDataInterface | number, order: KTDataTableSortOrderInterface): void;
18
+ setSearch(search: string | object): void;
19
+ setFilter(filter: KTDataTableColumnFilterInterface): void;
20
+ setOriginalData(originalData: KTDataTableDataInterface[], originalDataAttributes: KTDataTableAttributeInterface[]): void;
21
+ }
22
+ export interface KTDataTableProviderResult<T extends KTDataTableDataInterface> {
23
+ data: T[];
24
+ totalItems: number;
25
+ response?: unknown;
26
+ skipped?: boolean;
27
+ }
28
+ export interface KTDataTableDataProvider<T extends KTDataTableDataInterface> {
29
+ fetch(): Promise<KTDataTableProviderResult<T>>;
30
+ dispose?(): void;
31
+ }
32
+ export interface KTDataTableLocalProviderElements {
33
+ tableElement: HTMLTableElement;
34
+ tbodyElement: HTMLTableSectionElement;
35
+ theadElement: HTMLTableSectionElement;
36
+ }
37
+ export interface KTDataTableTableRendererInput<T extends KTDataTableDataInterface> {
38
+ config: KTDataTableConfigInterface;
39
+ context: KTDataTableInterface;
40
+ data: T[];
41
+ getLogicalColumnCount: () => number;
42
+ getState: () => KTDataTableStateInterface;
43
+ originalTbodyClass: string;
44
+ originalTrClasses: string[];
45
+ originalTdClasses: string[][];
46
+ tableElement: HTMLTableElement;
47
+ theadElement: HTMLTableSectionElement;
48
+ }
49
+ export interface KTDataTableTableRenderer<T extends KTDataTableDataInterface> {
50
+ render(input: KTDataTableTableRendererInput<T>): HTMLTableSectionElement;
51
+ notice(tableElement: HTMLTableElement, getLogicalColumnCount: () => number, message?: string): void;
52
+ }
53
+ export interface KTDataTablePaginationRendererInput {
54
+ config: KTDataTableConfigInterface;
55
+ dataLength: number;
56
+ infoElement: HTMLElement;
57
+ paginateData: (page: number) => void;
58
+ paginationElement: HTMLElement;
59
+ reloadPageSize: (pageSize: number, page?: number) => void;
60
+ sizeElement: HTMLSelectElement;
61
+ state: KTDataTableStateInterface;
62
+ }
63
+ export interface KTDataTablePaginationRenderer {
64
+ render(input: KTDataTablePaginationRendererInput): KTDataTableCleanup | void;
65
+ }
66
+ //# sourceMappingURL=datatable-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-contracts.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,yBAAyB,EACzB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACvC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,IAAI,yBAAyB,CAAC;IACtC,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACrD,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,OAAO,CACN,KAAK,EAAE,MAAM,wBAAwB,GAAG,MAAM,EAC9C,KAAK,EAAE,6BAA6B,GAClC,IAAI,CAAC;IACR,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;IAC1D,eAAe,CACd,YAAY,EAAE,wBAAwB,EAAE,EACxC,sBAAsB,EAAE,6BAA6B,EAAE,GACrD,IAAI,CAAC;CACR;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,wBAAwB;IAC5E,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,wBAAwB;IAC1E,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAChD,YAAY,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,6BAA6B,CAC7C,CAAC,SAAS,wBAAwB;IAElC,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,yBAAyB,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC;IAC9B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,wBAAwB;IAC3E,MAAM,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC;IACzE,MAAM,CACL,YAAY,EAAE,gBAAgB,EAC9B,qBAAqB,EAAE,MAAM,MAAM,EACnC,OAAO,CAAC,EAAE,MAAM,GACd,IAAI,CAAC;CACR;AAED,MAAM,WAAW,kCAAkC;IAClD,MAAM,EAAE,0BAA0B,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,iBAAiB,EAAE,WAAW,CAAC;IAC/B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,yBAAyB,CAAC;CACjC;AAED,MAAM,WAAW,6BAA6B;IAC7C,MAAM,CAAC,KAAK,EAAE,kCAAkC,GAAG,kBAAkB,GAAG,IAAI,CAAC;CAC7E"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=datatable-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-contracts.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableEmit, KTDataTableEventAdapter } from './datatable-contracts';
6
+ export declare function createDataTableEventAdapter(fireEvent: KTDataTableEmit, dispatchEvent: KTDataTableEmit): KTDataTableEventAdapter;
7
+ //# sourceMappingURL=datatable-event-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-event-adapter.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-event-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,eAAe,EACf,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,eAAe,GAC5B,uBAAuB,CAOzB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ export function createDataTableEventAdapter(fireEvent, dispatchEvent) {
6
+ return {
7
+ emit: function (eventName, eventData) {
8
+ fireEvent(eventName, eventData);
9
+ dispatchEvent(eventName, eventData);
10
+ },
11
+ };
12
+ }
13
+ //# sourceMappingURL=datatable-event-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-event-adapter.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-event-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,UAAU,2BAA2B,CAC1C,SAA0B,EAC1B,aAA8B;IAE9B,OAAO;QACN,IAAI,YAAC,SAAiB,EAAE,SAAkB;YACzC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAChC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableConfigInterface, KTDataTableDataInterface } from './types';
6
+ import { KTDataTableDataProvider, KTDataTableLocalProviderElements, KTDataTableProviderResult, KTDataTableStateStore } from './datatable-contracts';
7
+ interface KTDataTableLocalProviderOptions<T extends KTDataTableDataInterface> {
8
+ config: KTDataTableConfigInterface;
9
+ elements: () => KTDataTableLocalProviderElements;
10
+ getLogicalColumnCount: () => number;
11
+ storeOriginalClasses: () => void;
12
+ stateStore: KTDataTableStateStore;
13
+ }
14
+ export declare class KTDataTableLocalDataProvider<T extends KTDataTableDataInterface> implements KTDataTableDataProvider<T> {
15
+ private readonly options;
16
+ constructor(options: KTDataTableLocalProviderOptions<T>);
17
+ fetch(): Promise<KTDataTableProviderResult<T>>;
18
+ fetchSync(): KTDataTableProviderResult<T>;
19
+ private localTableContentInvalidate;
20
+ private tableConfigInvalidate;
21
+ private localExtractTableContent;
22
+ private localTableHeaderInvalidate;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=datatable-local-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-local-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-local-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAEN,0BAA0B,EAC1B,wBAAwB,EAExB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU,+BAA+B,CAAC,CAAC,SAAS,wBAAwB;IAC3E,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,EAAE,MAAM,gCAAgC,CAAC;IACjD,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,UAAU,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,4BAA4B,CACxC,CAAC,SAAS,wBAAwB,CACjC,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAE3D,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAIpD,SAAS,IAAI,yBAAyB,CAAC,CAAC,CAAC;IA8DhD,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,wBAAwB;IA8ChC,OAAO,CAAC,0BAA0B;CAuBlC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
12
+ });
13
+ };
14
+ var __generator = (this && this.__generator) || function (thisArg, body) {
15
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
16
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
+ function verb(n) { return function (v) { return step([n, v]); }; }
18
+ function step(op) {
19
+ if (f) throw new TypeError("Generator is already executing.");
20
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
21
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22
+ if (y = 0, t) op = [op[0] & 2, t.value];
23
+ switch (op[0]) {
24
+ case 0: case 1: t = op; break;
25
+ case 4: _.label++; return { value: op[1], done: false };
26
+ case 5: _.label++; y = op[1]; op = [0]; continue;
27
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
+ default:
29
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
+ if (t[2]) _.ops.pop();
34
+ _.trys.pop(); continue;
35
+ }
36
+ op = body.call(thisArg, _);
37
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
+ }
40
+ };
41
+ var __rest = (this && this.__rest) || function (s, e) {
42
+ var t = {};
43
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
44
+ t[p] = s[p];
45
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
46
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
47
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
48
+ t[p[i]] = s[p[i]];
49
+ }
50
+ return t;
51
+ };
52
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
53
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
54
+ if (ar || !(i in from)) {
55
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
56
+ ar[i] = from[i];
57
+ }
58
+ }
59
+ return to.concat(ar || Array.prototype.slice.call(from));
60
+ };
61
+ import KTUtils from '../../helpers/utils';
62
+ var KTDataTableLocalDataProvider = /** @class */ (function () {
63
+ function KTDataTableLocalDataProvider(options) {
64
+ this.options = options;
65
+ }
66
+ KTDataTableLocalDataProvider.prototype.fetch = function () {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ return __generator(this, function (_a) {
69
+ return [2 /*return*/, this.fetchSync()];
70
+ });
71
+ });
72
+ };
73
+ KTDataTableLocalDataProvider.prototype.fetchSync = function () {
74
+ var state = this.options.stateStore.getState();
75
+ var originalData = state.originalData;
76
+ if (!this.options.elements().tableElement ||
77
+ originalData === undefined ||
78
+ this.tableConfigInvalidate() ||
79
+ this.localTableHeaderInvalidate() ||
80
+ this.localTableContentInvalidate()) {
81
+ var _a = this.localExtractTableContent(), originalData_1 = _a.originalData, originalDataAttributes = _a.originalDataAttributes;
82
+ this.options.stateStore.setOriginalData(originalData_1, originalDataAttributes);
83
+ }
84
+ originalData = this.options.stateStore.getState().originalData;
85
+ var data = __spreadArray([], originalData, true);
86
+ var filteredData = data;
87
+ var _b = this.options.stateStore.getState(), sortField = _b.sortField, sortOrder = _b.sortOrder, page = _b.page, pageSize = _b.pageSize, search = _b.search;
88
+ if (search) {
89
+ var searchTerm = typeof search === 'string' ? search : '';
90
+ filteredData = data = this.options.config.search.callback.call(this, data, searchTerm);
91
+ }
92
+ if (sortField !== undefined &&
93
+ sortOrder !== undefined &&
94
+ sortOrder !== '' &&
95
+ typeof this.options.config.sort.callback === 'function') {
96
+ data = this.options.config.sort.callback.call(this, data, sortField, sortOrder);
97
+ }
98
+ if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
99
+ var startIndex = (page - 1) * pageSize;
100
+ var endIndex = startIndex + pageSize;
101
+ data = data.slice(startIndex, endIndex);
102
+ }
103
+ return {
104
+ data: data,
105
+ totalItems: filteredData.length,
106
+ };
107
+ };
108
+ KTDataTableLocalDataProvider.prototype.localTableContentInvalidate = function () {
109
+ var tbodyElement = this.options.elements().tbodyElement;
110
+ var checksum = KTUtils.checksum(JSON.stringify(tbodyElement.innerHTML));
111
+ if (this.options.stateStore.getState()._contentChecksum !== checksum) {
112
+ this.options.stateStore.patchState({ _contentChecksum: checksum });
113
+ return true;
114
+ }
115
+ return false;
116
+ };
117
+ KTDataTableLocalDataProvider.prototype.tableConfigInvalidate = function () {
118
+ var _a = this.options.config, _state = _a._state, restConfig = __rest(_a, ["_state"]);
119
+ var checksum = KTUtils.checksum(JSON.stringify(restConfig));
120
+ if (_state._configChecksum !== checksum) {
121
+ this.options.stateStore.patchState({ _configChecksum: checksum });
122
+ return true;
123
+ }
124
+ return false;
125
+ };
126
+ KTDataTableLocalDataProvider.prototype.localExtractTableContent = function () {
127
+ var originalData = [];
128
+ var originalDataAttributes = [];
129
+ var _a = this.options.elements(), tbodyElement = _a.tbodyElement, theadElement = _a.theadElement;
130
+ this.options.storeOriginalClasses();
131
+ var rows = tbodyElement.querySelectorAll('tr');
132
+ var allThs = theadElement
133
+ ? theadElement.querySelectorAll('th')
134
+ : [];
135
+ var ths = Array.from(allThs).filter(function (th) {
136
+ return th.hasAttribute('data-kt-datatable-column');
137
+ });
138
+ var columnsByIndex = ths.length > 0 && ths.length !== allThs.length ? Array.from(allThs) : ths;
139
+ rows.forEach(function (row) {
140
+ var dataRow = {};
141
+ var dataRowAttribute = {};
142
+ row.querySelectorAll('td').forEach(function (td, index) {
143
+ var _a, _b, _c;
144
+ var colName = (_a = columnsByIndex[index]) === null || _a === void 0 ? void 0 : _a.getAttribute('data-kt-datatable-column');
145
+ if (colName) {
146
+ dataRow[colName] = (_b = td.innerHTML) === null || _b === void 0 ? void 0 : _b.trim();
147
+ }
148
+ else {
149
+ dataRow[index] = (_c = td.innerHTML) === null || _c === void 0 ? void 0 : _c.trim();
150
+ }
151
+ });
152
+ if (Object.keys(dataRow).length > 0) {
153
+ originalData.push(dataRow);
154
+ originalDataAttributes.push(dataRowAttribute);
155
+ }
156
+ });
157
+ return { originalData: originalData, originalDataAttributes: originalDataAttributes };
158
+ };
159
+ KTDataTableLocalDataProvider.prototype.localTableHeaderInvalidate = function () {
160
+ var originalData = this.options.stateStore.getState().originalData;
161
+ var theadElement = this.options.elements().theadElement;
162
+ var totalColumns = originalData.length
163
+ ? Object.keys(originalData[0]).length
164
+ : 0;
165
+ var allThs = theadElement
166
+ ? theadElement.querySelectorAll('th')
167
+ : [];
168
+ var thsWithColumn = Array.from(allThs).filter(function (th) {
169
+ return th.hasAttribute('data-kt-datatable-column');
170
+ });
171
+ var currentTableHeaders = thsWithColumn.length > 0
172
+ ? thsWithColumn.length !== allThs.length
173
+ ? allThs.length
174
+ : thsWithColumn.length
175
+ : this.options.getLogicalColumnCount();
176
+ return currentTableHeaders !== totalColumns;
177
+ };
178
+ return KTDataTableLocalDataProvider;
179
+ }());
180
+ export { KTDataTableLocalDataProvider };
181
+ //# sourceMappingURL=datatable-local-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-local-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-local-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAsB1C;IAGC,sCAA6B,OAA2C;QAA3C,YAAO,GAAP,OAAO,CAAoC;IAAG,CAAC;IAE/D,4CAAK,GAAlB;;;gBACC,sBAAO,IAAI,CAAC,SAAS,EAAE,EAAC;;;KACxB;IAEM,gDAAS,GAAhB;QACC,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAA,YAAY,GAAK,KAAK,aAAV,CAAW;QAE7B,IACC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY;YACrC,YAAY,KAAK,SAAS;YAC1B,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,0BAA0B,EAAE;YACjC,IAAI,CAAC,2BAA2B,EAAE,EACjC,CAAC;YACI,IAAA,KACL,IAAI,CAAC,wBAAwB,EAAE,EADxB,cAAY,kBAAA,EAAE,sBAAsB,4BACZ,CAAC;YAEjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CACtC,cAAY,EACZ,sBAAsB,CACtB,CAAC;QACH,CAAC;QAED,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;QAC/D,IAAI,IAAI,GAAG,kBAAI,YAAY,OAAQ,CAAC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC;QAElB,IAAA,KACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAD3B,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YACjB,CAAC;QAEpC,IAAI,MAAM,EAAE,CAAC;YACZ,IAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC7D,IAAI,EACJ,IAAI,EACJ,UAAU,CACH,CAAC;QACV,CAAC;QAED,IACC,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,EACtD,CAAC;YACF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC5C,IAAI,EACJ,IAAI,EACJ,SAAmB,EACnB,SAAS,CACF,CAAC;QACV,CAAC;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;YACtB,IAAM,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YACzC,IAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAQ,CAAC;QAChD,CAAC;QAED,OAAO;YACN,IAAI,MAAA;YACJ,UAAU,EAAE,YAAY,CAAC,MAAM;SAC/B,CAAC;IACH,CAAC;IAEO,kEAA2B,GAAnC;QACS,IAAA,YAAY,GAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAA5B,CAA6B;QACjD,IAAM,QAAQ,GAAW,OAAO,CAAC,QAAQ,CACxC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CACtC,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,4DAAqB,GAA7B;QACC,IAAM,KAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAA7C,MAAM,YAAA,EAAK,UAAU,cAAvB,UAAyB,CAAsB,CAAC;QACtD,IAAM,QAAQ,GAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,+DAAwB,GAAhC;QAIC,IAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,IAAM,sBAAsB,GAAoC,EAAE,CAAC;QAC7D,IAAA,KAAiC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAtD,YAAY,kBAAA,EAAE,YAAY,kBAA4B,CAAC;QAE/D,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAEpC,IAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAsB,IAAI,CAAC,CAAC;QACtE,IAAM,MAAM,GAAqC,YAAY;YAC5D,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrC,CAAC,CAAE,EAAkD,CAAC;QAEvD,IAAM,GAAG,GAA2B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,EAAE;YAChE,OAAA,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC;QAA3C,CAA2C,CAC3C,CAAC;QACF,IAAM,cAAc,GACnB,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE3E,IAAI,CAAC,OAAO,CAAC,UAAC,GAAwB;YACrC,IAAM,OAAO,GAAM,EAAO,CAAC;YAC3B,IAAM,gBAAgB,GACrB,EAAmC,CAAC;YAErC,GAAG,CAAC,gBAAgB,CAAuB,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,KAAK;;gBAClE,IAAM,OAAO,GAAG,MAAA,cAAc,CAAC,KAAK,CAAC,0CAAE,YAAY,CAClD,0BAA0B,CAC1B,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,OAAkB,CAAC,GAAG,MAAA,EAAE,CAAC,SAAS,0CAAE,IAAI,EAAgB,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,KAAgB,CAAC,GAAG,MAAA,EAAE,CAAC,SAAS,0CAAE,IAAI,EAAgB,CAAC;gBAChE,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,YAAY,cAAA,EAAE,sBAAsB,wBAAA,EAAE,CAAC;IACjD,CAAC;IAEO,iEAA0B,GAAlC;QACS,IAAA,YAAY,GAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAvC,CAAwC;QACpD,IAAA,YAAY,GAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAA5B,CAA6B;QAEjD,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM;YACvC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YACrC,CAAC,CAAC,CAAC,CAAC;QAEL,IAAM,MAAM,GAAqC,YAAY;YAC5D,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrC,CAAC,CAAE,EAAkD,CAAC;QACvD,IAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,EAAE;YAClD,OAAA,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC;QAA3C,CAA2C,CAC3C,CAAC;QACF,IAAM,mBAAmB,GACxB,aAAa,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,aAAa,CAAC,MAAM;YACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAEzC,OAAO,mBAAmB,KAAK,YAAY,CAAC;IAC7C,CAAC;IACF,mCAAC;AAAD,CAAC,AAtKD,IAsKC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableCleanup, KTDataTablePaginationRenderer, KTDataTablePaginationRendererInput } from './datatable-contracts';
6
+ export declare class KTDataTableDomPaginationRenderer implements KTDataTablePaginationRenderer {
7
+ render(input: KTDataTablePaginationRendererInput): KTDataTableCleanup | void;
8
+ private removeChildElements;
9
+ private createPageSizeControls;
10
+ private createPaginationControls;
11
+ private setPaginationInfoText;
12
+ private createPaginationButtons;
13
+ private calculatePageRange;
14
+ }
15
+ //# sourceMappingURL=datatable-pagination-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-pagination-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-pagination-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,kCAAkC,EAClC,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,gCAAiC,YAAW,6BAA6B;IAC9E,MAAM,CACZ,KAAK,EAAE,kCAAkC,GACvC,kBAAkB,GAAG,IAAI;IAe5B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,kBAAkB;CAqB1B"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ var KTDataTableDomPaginationRenderer = /** @class */ (function () {
6
+ function KTDataTableDomPaginationRenderer() {
7
+ }
8
+ KTDataTableDomPaginationRenderer.prototype.render = function (input) {
9
+ var _this = this;
10
+ this.removeChildElements(input.sizeElement);
11
+ this.createPageSizeControls(input);
12
+ this.removeChildElements(input.paginationElement);
13
+ this.createPaginationControls(input);
14
+ return function () {
15
+ if (input.sizeElement) {
16
+ input.sizeElement.onchange = null;
17
+ }
18
+ _this.removeChildElements(input.paginationElement);
19
+ };
20
+ };
21
+ KTDataTableDomPaginationRenderer.prototype.removeChildElements = function (container) {
22
+ if (!container) {
23
+ return;
24
+ }
25
+ while (container.firstChild) {
26
+ container.removeChild(container.firstChild);
27
+ }
28
+ };
29
+ KTDataTableDomPaginationRenderer.prototype.createPageSizeControls = function (input) {
30
+ if (!input.sizeElement) {
31
+ return input.sizeElement;
32
+ }
33
+ setTimeout(function () {
34
+ var _a;
35
+ var options = input.config.pageSizes.map(function (size) {
36
+ var option = document.createElement('option');
37
+ option.value = String(size);
38
+ option.text = String(size);
39
+ option.selected = input.state.pageSize === size;
40
+ return option;
41
+ });
42
+ (_a = input.sizeElement).append.apply(_a, options);
43
+ }, 100);
44
+ input.sizeElement.onchange = function (event) {
45
+ input.reloadPageSize(Number(event.target.value), 1);
46
+ };
47
+ return input.sizeElement;
48
+ };
49
+ KTDataTableDomPaginationRenderer.prototype.createPaginationControls = function (input) {
50
+ if (!input.infoElement ||
51
+ !input.paginationElement ||
52
+ input.dataLength === 0) {
53
+ return null;
54
+ }
55
+ this.setPaginationInfoText(input);
56
+ this.createPaginationButtons(input.paginationElement, input);
57
+ return input.paginationElement;
58
+ };
59
+ KTDataTableDomPaginationRenderer.prototype.setPaginationInfoText = function (input) {
60
+ input.infoElement.textContent = input.config.info
61
+ .replace('{start}', (input.state.page - 1) * input.state.pageSize + 1 + '')
62
+ .replace('{end}', Math.min(input.state.page * input.state.pageSize, input.state.totalItems) + '')
63
+ .replace('{total}', input.state.totalItems + '');
64
+ };
65
+ KTDataTableDomPaginationRenderer.prototype.createPaginationButtons = function (paginationContainer, input) {
66
+ var _a = input.state, currentPage = _a.page, totalPages = _a.totalPages;
67
+ var _b = input.config.pagination, previous = _b.previous, next = _b.next, number = _b.number, more = _b.more;
68
+ var createButton = function (text, className, disabled, handleClick) {
69
+ var button = document.createElement('button');
70
+ button.className = className;
71
+ button.innerHTML = text;
72
+ button.disabled = disabled;
73
+ button.onclick = handleClick;
74
+ return button;
75
+ };
76
+ paginationContainer.appendChild(createButton(previous.text, "".concat(previous.class).concat(currentPage === 1 ? ' disabled' : ''), currentPage === 1, function () { return input.paginateData(currentPage - 1); }));
77
+ if (input.config.pageMore) {
78
+ var range_1 = this.calculatePageRange(currentPage, totalPages, input.config.pageMoreLimit);
79
+ if (range_1.start > 1) {
80
+ paginationContainer.appendChild(createButton(more.text, more.class, false, function () {
81
+ return input.paginateData(Math.max(1, range_1.start - 1));
82
+ }));
83
+ }
84
+ var _loop_1 = function (i) {
85
+ paginationContainer.appendChild(createButton(number.text.replace('{page}', i.toString()), "".concat(number.class).concat(currentPage === i ? ' active disabled' : ''), currentPage === i, function () { return input.paginateData(i); }));
86
+ };
87
+ for (var i = range_1.start; i <= range_1.end; i++) {
88
+ _loop_1(i);
89
+ }
90
+ if (range_1.end < totalPages) {
91
+ paginationContainer.appendChild(createButton(more.text, more.class, false, function () {
92
+ return input.paginateData(Math.min(totalPages, range_1.end + 1));
93
+ }));
94
+ }
95
+ }
96
+ else {
97
+ var _loop_2 = function (i) {
98
+ paginationContainer.appendChild(createButton(number.text.replace('{page}', i.toString()), "".concat(number.class).concat(currentPage === i ? ' active disabled' : ''), currentPage === i, function () { return input.paginateData(i); }));
99
+ };
100
+ for (var i = 1; i <= totalPages; i++) {
101
+ _loop_2(i);
102
+ }
103
+ }
104
+ paginationContainer.appendChild(createButton(next.text, "".concat(next.class).concat(currentPage === totalPages ? ' disabled' : ''), currentPage === totalPages, function () { return input.paginateData(currentPage + 1); }));
105
+ };
106
+ KTDataTableDomPaginationRenderer.prototype.calculatePageRange = function (currentPage, totalPages, maxButtons) {
107
+ var startPage, endPage;
108
+ var halfMaxButtons = Math.floor(maxButtons / 2);
109
+ if (totalPages <= maxButtons) {
110
+ startPage = 1;
111
+ endPage = totalPages;
112
+ }
113
+ else {
114
+ startPage = Math.max(currentPage - halfMaxButtons, 1);
115
+ endPage = Math.min(startPage + maxButtons - 1, totalPages);
116
+ if (endPage - startPage < maxButtons - 1) {
117
+ startPage = Math.max(endPage - maxButtons + 1, 1);
118
+ }
119
+ }
120
+ return { start: startPage, end: endPage };
121
+ };
122
+ return KTDataTableDomPaginationRenderer;
123
+ }());
124
+ export { KTDataTableDomPaginationRenderer };
125
+ //# sourceMappingURL=datatable-pagination-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-pagination-renderer.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-pagination-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableConfigInterface, KTDataTableDataInterface } from './types';
6
+ import { KTDataTableDataProvider, KTDataTableEventAdapter, KTDataTableProviderResult, KTDataTableStateStore } from './datatable-contracts';
7
+ interface KTDataTableRemoteProviderOptions {
8
+ config: KTDataTableConfigInterface;
9
+ createUrl: (pathOrUrl: string) => URL;
10
+ eventAdapter: KTDataTableEventAdapter;
11
+ noticeOnTable: (message?: string) => void;
12
+ stateStore: KTDataTableStateStore;
13
+ }
14
+ export declare class KTDataTableRemoteDataProvider<T extends KTDataTableDataInterface> implements KTDataTableDataProvider<T> {
15
+ private readonly options;
16
+ private abortController;
17
+ private requestId;
18
+ constructor(options: KTDataTableRemoteProviderOptions);
19
+ dispose(): void;
20
+ fetch(): Promise<KTDataTableProviderResult<T>>;
21
+ private getQueryParamsForFetchRequest;
22
+ private performFetchRequest;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=datatable-remote-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-remote-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEN,0BAA0B,EAC1B,wBAAwB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU,gCAAgC;IACzC,MAAM,EAAE,0BAA0B,CAAC;IACnC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,6BAA6B,CACzC,CAAC,SAAS,wBAAwB,CACjC,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAK;gBAEO,OAAO,EAAE,gCAAgC;IAE/D,OAAO,IAAI,IAAI;IAOT,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAiD3D,OAAO,CAAC,6BAA6B;YA2CvB,mBAAmB;CA0CjC"}