@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,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,184 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ var __generator = (this && this.__generator) || function (thisArg, body) {
16
+ 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);
17
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18
+ function verb(n) { return function (v) { return step([n, v]); }; }
19
+ function step(op) {
20
+ if (f) throw new TypeError("Generator is already executing.");
21
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
22
+ 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;
23
+ if (y = 0, t) op = [op[0] & 2, t.value];
24
+ switch (op[0]) {
25
+ case 0: case 1: t = op; break;
26
+ case 4: _.label++; return { value: op[1], done: false };
27
+ case 5: _.label++; y = op[1]; op = [0]; continue;
28
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
29
+ default:
30
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
31
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
33
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
34
+ if (t[2]) _.ops.pop();
35
+ _.trys.pop(); continue;
36
+ }
37
+ op = body.call(thisArg, _);
38
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
39
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
+ }
41
+ };
42
+ var __rest = (this && this.__rest) || function (s, e) {
43
+ var t = {};
44
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
45
+ t[p] = s[p];
46
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
47
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
48
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
49
+ t[p[i]] = s[p[i]];
50
+ }
51
+ return t;
52
+ };
53
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
+ if (ar || !(i in from)) {
56
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
+ ar[i] = from[i];
58
+ }
59
+ }
60
+ return to.concat(ar || Array.prototype.slice.call(from));
61
+ };
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.KTDataTableLocalDataProvider = void 0;
64
+ var utils_1 = require("../../helpers/utils");
65
+ var KTDataTableLocalDataProvider = /** @class */ (function () {
66
+ function KTDataTableLocalDataProvider(options) {
67
+ this.options = options;
68
+ }
69
+ KTDataTableLocalDataProvider.prototype.fetch = function () {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ return __generator(this, function (_a) {
72
+ return [2 /*return*/, this.fetchSync()];
73
+ });
74
+ });
75
+ };
76
+ KTDataTableLocalDataProvider.prototype.fetchSync = function () {
77
+ var state = this.options.stateStore.getState();
78
+ var originalData = state.originalData;
79
+ if (!this.options.elements().tableElement ||
80
+ originalData === undefined ||
81
+ this.tableConfigInvalidate() ||
82
+ this.localTableHeaderInvalidate() ||
83
+ this.localTableContentInvalidate()) {
84
+ var _a = this.localExtractTableContent(), originalData_1 = _a.originalData, originalDataAttributes = _a.originalDataAttributes;
85
+ this.options.stateStore.setOriginalData(originalData_1, originalDataAttributes);
86
+ }
87
+ originalData = this.options.stateStore.getState().originalData;
88
+ var data = __spreadArray([], originalData, true);
89
+ var filteredData = data;
90
+ var _b = this.options.stateStore.getState(), sortField = _b.sortField, sortOrder = _b.sortOrder, page = _b.page, pageSize = _b.pageSize, search = _b.search;
91
+ if (search) {
92
+ var searchTerm = typeof search === 'string' ? search : '';
93
+ filteredData = data = this.options.config.search.callback.call(this, data, searchTerm);
94
+ }
95
+ if (sortField !== undefined &&
96
+ sortOrder !== undefined &&
97
+ sortOrder !== '' &&
98
+ typeof this.options.config.sort.callback === 'function') {
99
+ data = this.options.config.sort.callback.call(this, data, sortField, sortOrder);
100
+ }
101
+ if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
102
+ var startIndex = (page - 1) * pageSize;
103
+ var endIndex = startIndex + pageSize;
104
+ data = data.slice(startIndex, endIndex);
105
+ }
106
+ return {
107
+ data: data,
108
+ totalItems: filteredData.length,
109
+ };
110
+ };
111
+ KTDataTableLocalDataProvider.prototype.localTableContentInvalidate = function () {
112
+ var tbodyElement = this.options.elements().tbodyElement;
113
+ var checksum = utils_1.default.checksum(JSON.stringify(tbodyElement.innerHTML));
114
+ if (this.options.stateStore.getState()._contentChecksum !== checksum) {
115
+ this.options.stateStore.patchState({ _contentChecksum: checksum });
116
+ return true;
117
+ }
118
+ return false;
119
+ };
120
+ KTDataTableLocalDataProvider.prototype.tableConfigInvalidate = function () {
121
+ var _a = this.options.config, _state = _a._state, restConfig = __rest(_a, ["_state"]);
122
+ var checksum = utils_1.default.checksum(JSON.stringify(restConfig));
123
+ if (_state._configChecksum !== checksum) {
124
+ this.options.stateStore.patchState({ _configChecksum: checksum });
125
+ return true;
126
+ }
127
+ return false;
128
+ };
129
+ KTDataTableLocalDataProvider.prototype.localExtractTableContent = function () {
130
+ var originalData = [];
131
+ var originalDataAttributes = [];
132
+ var _a = this.options.elements(), tbodyElement = _a.tbodyElement, theadElement = _a.theadElement;
133
+ this.options.storeOriginalClasses();
134
+ var rows = tbodyElement.querySelectorAll('tr');
135
+ var allThs = theadElement
136
+ ? theadElement.querySelectorAll('th')
137
+ : [];
138
+ var ths = Array.from(allThs).filter(function (th) {
139
+ return th.hasAttribute('data-kt-datatable-column');
140
+ });
141
+ var columnsByIndex = ths.length > 0 && ths.length !== allThs.length ? Array.from(allThs) : ths;
142
+ rows.forEach(function (row) {
143
+ var dataRow = {};
144
+ var dataRowAttribute = {};
145
+ row.querySelectorAll('td').forEach(function (td, index) {
146
+ var _a, _b, _c;
147
+ var colName = (_a = columnsByIndex[index]) === null || _a === void 0 ? void 0 : _a.getAttribute('data-kt-datatable-column');
148
+ if (colName) {
149
+ dataRow[colName] = (_b = td.innerHTML) === null || _b === void 0 ? void 0 : _b.trim();
150
+ }
151
+ else {
152
+ dataRow[index] = (_c = td.innerHTML) === null || _c === void 0 ? void 0 : _c.trim();
153
+ }
154
+ });
155
+ if (Object.keys(dataRow).length > 0) {
156
+ originalData.push(dataRow);
157
+ originalDataAttributes.push(dataRowAttribute);
158
+ }
159
+ });
160
+ return { originalData: originalData, originalDataAttributes: originalDataAttributes };
161
+ };
162
+ KTDataTableLocalDataProvider.prototype.localTableHeaderInvalidate = function () {
163
+ var originalData = this.options.stateStore.getState().originalData;
164
+ var theadElement = this.options.elements().theadElement;
165
+ var totalColumns = originalData.length
166
+ ? Object.keys(originalData[0]).length
167
+ : 0;
168
+ var allThs = theadElement
169
+ ? theadElement.querySelectorAll('th')
170
+ : [];
171
+ var thsWithColumn = Array.from(allThs).filter(function (th) {
172
+ return th.hasAttribute('data-kt-datatable-column');
173
+ });
174
+ var currentTableHeaders = thsWithColumn.length > 0
175
+ ? thsWithColumn.length !== allThs.length
176
+ ? allThs.length
177
+ : thsWithColumn.length
178
+ : this.options.getLogicalColumnCount();
179
+ return currentTableHeaders !== totalColumns;
180
+ };
181
+ return KTDataTableLocalDataProvider;
182
+ }());
183
+ exports.KTDataTableLocalDataProvider = KTDataTableLocalDataProvider;
184
+ //# 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":"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"}
@@ -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,128 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.KTDataTableDomPaginationRenderer = void 0;
8
+ var KTDataTableDomPaginationRenderer = /** @class */ (function () {
9
+ function KTDataTableDomPaginationRenderer() {
10
+ }
11
+ KTDataTableDomPaginationRenderer.prototype.render = function (input) {
12
+ var _this = this;
13
+ this.removeChildElements(input.sizeElement);
14
+ this.createPageSizeControls(input);
15
+ this.removeChildElements(input.paginationElement);
16
+ this.createPaginationControls(input);
17
+ return function () {
18
+ if (input.sizeElement) {
19
+ input.sizeElement.onchange = null;
20
+ }
21
+ _this.removeChildElements(input.paginationElement);
22
+ };
23
+ };
24
+ KTDataTableDomPaginationRenderer.prototype.removeChildElements = function (container) {
25
+ if (!container) {
26
+ return;
27
+ }
28
+ while (container.firstChild) {
29
+ container.removeChild(container.firstChild);
30
+ }
31
+ };
32
+ KTDataTableDomPaginationRenderer.prototype.createPageSizeControls = function (input) {
33
+ if (!input.sizeElement) {
34
+ return input.sizeElement;
35
+ }
36
+ setTimeout(function () {
37
+ var _a;
38
+ var options = input.config.pageSizes.map(function (size) {
39
+ var option = document.createElement('option');
40
+ option.value = String(size);
41
+ option.text = String(size);
42
+ option.selected = input.state.pageSize === size;
43
+ return option;
44
+ });
45
+ (_a = input.sizeElement).append.apply(_a, options);
46
+ }, 100);
47
+ input.sizeElement.onchange = function (event) {
48
+ input.reloadPageSize(Number(event.target.value), 1);
49
+ };
50
+ return input.sizeElement;
51
+ };
52
+ KTDataTableDomPaginationRenderer.prototype.createPaginationControls = function (input) {
53
+ if (!input.infoElement ||
54
+ !input.paginationElement ||
55
+ input.dataLength === 0) {
56
+ return null;
57
+ }
58
+ this.setPaginationInfoText(input);
59
+ this.createPaginationButtons(input.paginationElement, input);
60
+ return input.paginationElement;
61
+ };
62
+ KTDataTableDomPaginationRenderer.prototype.setPaginationInfoText = function (input) {
63
+ input.infoElement.textContent = input.config.info
64
+ .replace('{start}', (input.state.page - 1) * input.state.pageSize + 1 + '')
65
+ .replace('{end}', Math.min(input.state.page * input.state.pageSize, input.state.totalItems) + '')
66
+ .replace('{total}', input.state.totalItems + '');
67
+ };
68
+ KTDataTableDomPaginationRenderer.prototype.createPaginationButtons = function (paginationContainer, input) {
69
+ var _a = input.state, currentPage = _a.page, totalPages = _a.totalPages;
70
+ var _b = input.config.pagination, previous = _b.previous, next = _b.next, number = _b.number, more = _b.more;
71
+ var createButton = function (text, className, disabled, handleClick) {
72
+ var button = document.createElement('button');
73
+ button.className = className;
74
+ button.innerHTML = text;
75
+ button.disabled = disabled;
76
+ button.onclick = handleClick;
77
+ return button;
78
+ };
79
+ paginationContainer.appendChild(createButton(previous.text, "".concat(previous.class).concat(currentPage === 1 ? ' disabled' : ''), currentPage === 1, function () { return input.paginateData(currentPage - 1); }));
80
+ if (input.config.pageMore) {
81
+ var range_1 = this.calculatePageRange(currentPage, totalPages, input.config.pageMoreLimit);
82
+ if (range_1.start > 1) {
83
+ paginationContainer.appendChild(createButton(more.text, more.class, false, function () {
84
+ return input.paginateData(Math.max(1, range_1.start - 1));
85
+ }));
86
+ }
87
+ var _loop_1 = function (i) {
88
+ paginationContainer.appendChild(createButton(number.text.replace('{page}', i.toString()), "".concat(number.class).concat(currentPage === i ? ' active disabled' : ''), currentPage === i, function () { return input.paginateData(i); }));
89
+ };
90
+ for (var i = range_1.start; i <= range_1.end; i++) {
91
+ _loop_1(i);
92
+ }
93
+ if (range_1.end < totalPages) {
94
+ paginationContainer.appendChild(createButton(more.text, more.class, false, function () {
95
+ return input.paginateData(Math.min(totalPages, range_1.end + 1));
96
+ }));
97
+ }
98
+ }
99
+ else {
100
+ var _loop_2 = function (i) {
101
+ paginationContainer.appendChild(createButton(number.text.replace('{page}', i.toString()), "".concat(number.class).concat(currentPage === i ? ' active disabled' : ''), currentPage === i, function () { return input.paginateData(i); }));
102
+ };
103
+ for (var i = 1; i <= totalPages; i++) {
104
+ _loop_2(i);
105
+ }
106
+ }
107
+ paginationContainer.appendChild(createButton(next.text, "".concat(next.class).concat(currentPage === totalPages ? ' disabled' : ''), currentPage === totalPages, function () { return input.paginateData(currentPage + 1); }));
108
+ };
109
+ KTDataTableDomPaginationRenderer.prototype.calculatePageRange = function (currentPage, totalPages, maxButtons) {
110
+ var startPage, endPage;
111
+ var halfMaxButtons = Math.floor(maxButtons / 2);
112
+ if (totalPages <= maxButtons) {
113
+ startPage = 1;
114
+ endPage = totalPages;
115
+ }
116
+ else {
117
+ startPage = Math.max(currentPage - halfMaxButtons, 1);
118
+ endPage = Math.min(startPage + maxButtons - 1, totalPages);
119
+ if (endPage - startPage < maxButtons - 1) {
120
+ startPage = Math.max(endPage - maxButtons + 1, 1);
121
+ }
122
+ }
123
+ return { start: startPage, end: endPage };
124
+ };
125
+ return KTDataTableDomPaginationRenderer;
126
+ }());
127
+ exports.KTDataTableDomPaginationRenderer = KTDataTableDomPaginationRenderer;
128
+ //# 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":";AAAA;;;GAGG;;;AAQH;IAAA;IAuMA,CAAC;IAtMO,iDAAM,GAAb,UACC,KAAyC;QAD1C,iBAeC;QAZA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO;YACN,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnC,CAAC;YACD,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC;IACH,CAAC;IAEO,8DAAmB,GAA3B,UAA4B,SAAsB;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAEO,iEAAsB,GAA9B,UACC,KAAyC;QAEzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,UAAU,CAAC;;YACV,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAY;gBACvD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;gBACrE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;gBAChD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,CAAA,KAAA,KAAK,CAAC,WAAW,CAAA,CAAC,MAAM,WAAI,OAAO,EAAE;QACtC,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,UAAC,KAAY;YACzC,KAAK,CAAC,cAAc,CACnB,MAAM,CAAE,KAAK,CAAC,MAA4B,CAAC,KAAK,CAAC,EACjD,CAAC,CACD,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,KAAK,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,mEAAwB,GAAhC,UACC,KAAyC;QAEzC,IACC,CAAC,KAAK,CAAC,WAAW;YAClB,CAAC,KAAK,CAAC,iBAAiB;YACxB,KAAK,CAAC,UAAU,KAAK,CAAC,EACrB,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE7D,OAAO,KAAK,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEO,gEAAqB,GAA7B,UACC,KAAyC;QAEzC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI;aAC/C,OAAO,CACP,SAAS,EACT,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,CACtD;aACA,OAAO,CACP,OAAO,EACP,IAAI,CAAC,GAAG,CACP,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EACvC,KAAK,CAAC,KAAK,CAAC,UAAU,CACtB,GAAG,EAAE,CACN;aACA,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAEO,kEAAuB,GAA/B,UACC,mBAAgC,EAChC,KAAyC;QAEnC,IAAA,KAAoC,KAAK,CAAC,KAAK,EAAvC,WAAW,UAAA,EAAE,UAAU,gBAAgB,CAAC;QAChD,IAAA,KAAmC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAxD,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAA4B,CAAC;QAEjE,IAAM,YAAY,GAAG,UACpB,IAAY,EACZ,SAAiB,EACjB,QAAiB,EACjB,WAAuB;YAEvB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;YACrE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;YAC7B,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QAEF,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CACX,QAAQ,CAAC,IAAI,EACb,UAAG,QAAQ,CAAC,KAAK,SAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,EAC1D,WAAW,KAAK,CAAC,EACjB,cAAM,OAAA,KAAK,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,EAAnC,CAAmC,CACzC,CACD,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAM,OAAK,GAAG,IAAI,CAAC,kBAAkB,CACpC,WAAW,EACX,UAAU,EACV,KAAK,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC;YAEF,IAAI,OAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrB,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;oBAC1C,OAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAhD,CAAgD,CAChD,CACD,CAAC;YACH,CAAC;oCAEQ,CAAC;gBACT,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC3C,UAAG,MAAM,CAAC,KAAK,SAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAE,EAC/D,WAAW,KAAK,CAAC,EACjB,cAAM,OAAA,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAArB,CAAqB,CAC3B,CACD,CAAC;;YARH,KAAK,IAAI,CAAC,GAAG,OAAK,CAAC,KAAK,EAAE,CAAC,IAAI,OAAK,CAAC,GAAG,EAAE,CAAC,EAAE;wBAApC,CAAC;aAST;YAED,IAAI,OAAK,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;gBAC5B,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;oBAC1C,OAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAAvD,CAAuD,CACvD,CACD,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;oCACE,CAAC;gBACT,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC3C,UAAG,MAAM,CAAC,KAAK,SAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAE,EAC/D,WAAW,KAAK,CAAC,EACjB,cAAM,OAAA,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAArB,CAAqB,CAC3B,CACD,CAAC;;YARH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE;wBAA3B,CAAC;aAST;QACF,CAAC;QAED,mBAAmB,CAAC,WAAW,CAC9B,YAAY,CACX,IAAI,CAAC,IAAI,EACT,UAAG,IAAI,CAAC,KAAK,SAAG,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,EAC/D,WAAW,KAAK,UAAU,EAC1B,cAAM,OAAA,KAAK,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,EAAnC,CAAmC,CACzC,CACD,CAAC;IACH,CAAC;IAEO,6DAAkB,GAA1B,UACC,WAAmB,EACnB,UAAkB,EAClB,UAAkB;QAElB,IAAI,SAAiB,EAAE,OAAe,CAAC;QACvC,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC9B,SAAS,GAAG,CAAC,CAAC;YACd,OAAO,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC1C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IACF,uCAAC;AAAD,CAAC,AAvMD,IAuMC;AAvMY,4EAAgC"}
@@ -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"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ 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);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.KTDataTableRemoteDataProvider = void 0;
55
+ var KTDataTableRemoteDataProvider = /** @class */ (function () {
56
+ function KTDataTableRemoteDataProvider(options) {
57
+ this.options = options;
58
+ this.abortController = null;
59
+ this.requestId = 0;
60
+ }
61
+ KTDataTableRemoteDataProvider.prototype.dispose = function () {
62
+ if (this.abortController) {
63
+ this.abortController.abort();
64
+ this.abortController = null;
65
+ }
66
+ };
67
+ KTDataTableRemoteDataProvider.prototype.fetch = function () {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ var currentRequestId, queryParams, response, error_1, responseData, error_2;
70
+ return __generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0:
73
+ currentRequestId = ++this.requestId;
74
+ queryParams = this.getQueryParamsForFetchRequest();
75
+ _a.label = 1;
76
+ case 1:
77
+ _a.trys.push([1, 3, , 4]);
78
+ return [4 /*yield*/, this.performFetchRequest(queryParams)];
79
+ case 2:
80
+ response = _a.sent();
81
+ return [3 /*break*/, 4];
82
+ case 3:
83
+ error_1 = _a.sent();
84
+ if (error_1.name === 'AbortError') {
85
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
86
+ }
87
+ throw error_1;
88
+ case 4:
89
+ if (currentRequestId !== this.requestId) {
90
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
91
+ }
92
+ responseData = null;
93
+ _a.label = 5;
94
+ case 5:
95
+ _a.trys.push([5, 7, , 8]);
96
+ return [4 /*yield*/, response.json()];
97
+ case 6:
98
+ responseData = _a.sent();
99
+ return [3 /*break*/, 8];
100
+ case 7:
101
+ error_2 = _a.sent();
102
+ this.options.eventAdapter.emit('parseError', {
103
+ response: response,
104
+ error: String(error_2),
105
+ status: response.status,
106
+ statusText: response.statusText,
107
+ });
108
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
109
+ case 8:
110
+ if (currentRequestId !== this.requestId) {
111
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
112
+ }
113
+ this.options.eventAdapter.emit('fetched', { response: responseData });
114
+ if (typeof this.options.config.mapResponse === 'function') {
115
+ responseData = this.options.config.mapResponse.call(this, responseData);
116
+ }
117
+ return [2 /*return*/, {
118
+ data: responseData.data,
119
+ totalItems: responseData.totalCount,
120
+ response: responseData,
121
+ }];
122
+ }
123
+ });
124
+ });
125
+ };
126
+ KTDataTableRemoteDataProvider.prototype.getQueryParamsForFetchRequest = function () {
127
+ var _a = this.options.stateStore.getState(), page = _a.page, pageSize = _a.pageSize, sortField = _a.sortField, sortOrder = _a.sortOrder, filters = _a.filters, search = _a.search;
128
+ var queryParams = new URLSearchParams();
129
+ queryParams.set('page', String(page));
130
+ queryParams.set('size', String(pageSize));
131
+ if (sortOrder !== undefined) {
132
+ queryParams.set('sortOrder', String(sortOrder));
133
+ }
134
+ if (sortField !== undefined) {
135
+ queryParams.set('sortField', String(sortField));
136
+ }
137
+ if (Array.isArray(filters) && filters.length) {
138
+ queryParams.set('filters', JSON.stringify(filters.map(function (filter) { return ({
139
+ column: filter.column,
140
+ type: filter.type,
141
+ value: filter.value,
142
+ }); })));
143
+ }
144
+ if (search) {
145
+ queryParams.set('search', typeof search === 'object' ? JSON.stringify(search) : search);
146
+ }
147
+ if (typeof this.options.config.mapRequest === 'function') {
148
+ queryParams = this.options.config.mapRequest.call(this, queryParams);
149
+ }
150
+ return queryParams;
151
+ };
152
+ KTDataTableRemoteDataProvider.prototype.performFetchRequest = function (queryParams) {
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var requestMethod, requestBody, apiEndpoint, apiEndpointWithQueryParams;
155
+ var _this = this;
156
+ return __generator(this, function (_a) {
157
+ requestMethod = this.options.config.requestMethod;
158
+ requestBody = undefined;
159
+ apiEndpoint = this.options.config.apiEndpoint;
160
+ if (this.abortController) {
161
+ this.abortController.abort();
162
+ }
163
+ this.abortController = new AbortController();
164
+ if (requestMethod === 'POST') {
165
+ requestBody = queryParams;
166
+ }
167
+ else if (requestMethod === 'GET') {
168
+ apiEndpointWithQueryParams = this.options.createUrl(apiEndpoint);
169
+ apiEndpointWithQueryParams.search = queryParams.toString();
170
+ apiEndpoint = apiEndpointWithQueryParams.toString();
171
+ }
172
+ return [2 /*return*/, fetch(apiEndpoint, __assign(__assign({ method: requestMethod, body: requestBody, headers: this.options.config.requestHeaders }, (this.options.config.requestCredentials && {
173
+ credentials: this.options.config.requestCredentials,
174
+ })), (this.abortController && { signal: this.abortController.signal }))).catch(function (error) {
175
+ if (error.name === 'AbortError') {
176
+ return Promise.reject(error);
177
+ }
178
+ _this.options.eventAdapter.emit('error', { error: error });
179
+ _this.options.noticeOnTable('Error performing fetch request: ' + String(error));
180
+ throw error;
181
+ })];
182
+ });
183
+ });
184
+ };
185
+ return KTDataTableRemoteDataProvider;
186
+ }());
187
+ exports.KTDataTableRemoteDataProvider = KTDataTableRemoteDataProvider;
188
+ //# sourceMappingURL=datatable-remote-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-remote-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableAttributeInterface, KTDataTableColumnFilterInterface, KTDataTableConfigInterface, KTDataTableDataInterface, KTDataTableSortOrderInterface, KTDataTableStateInterface } from './types';
6
+ import { KTDataTableStateStore } from './datatable-contracts';
7
+ export declare class KTDataTableConfigStateStore implements KTDataTableStateStore {
8
+ private readonly config;
9
+ constructor(config: KTDataTableConfigInterface);
10
+ getState(): KTDataTableStateInterface;
11
+ replaceState(state: KTDataTableStateInterface): void;
12
+ patchState(state: Partial<KTDataTableStateInterface>): void;
13
+ setPage(page: number): void;
14
+ setPageSize(pageSize: number, page?: number): void;
15
+ setSort(field: keyof KTDataTableDataInterface | number, order: KTDataTableSortOrderInterface): void;
16
+ setSearch(search: string | object): void;
17
+ setFilter(filter: KTDataTableColumnFilterInterface): void;
18
+ setOriginalData(originalData: KTDataTableDataInterface[], originalDataAttributes: KTDataTableAttributeInterface[]): void;
19
+ private ensureState;
20
+ }
21
+ //# sourceMappingURL=datatable-state-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-state-store.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-state-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,2BAA4B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,0BAA0B;IAIxD,QAAQ,IAAI,yBAAyB;IAYrC,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IAKpD,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAQ3D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,IAAI;IAIrD,OAAO,CACb,KAAK,EAAE,MAAM,wBAAwB,GAAG,MAAM,EAC9C,KAAK,EAAE,6BAA6B,GAClC,IAAI;IAOA,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxC,SAAS,CAAC,MAAM,EAAE,gCAAgC,GAAG,IAAI;IAWzD,eAAe,CACrB,YAAY,EAAE,wBAAwB,EAAE,EACxC,sBAAsB,EAAE,6BAA6B,EAAE,GACrD,IAAI;IAOP,OAAO,CAAC,WAAW;CAKnB"}