@keenthemes/ktui 1.2.3 → 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 (141) hide show
  1. package/dist/ktui.js +1681 -957
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +110 -1
  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 +114 -686
  48. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  49. package/lib/cjs/components/select/index.d.ts +1 -1
  50. package/lib/cjs/components/select/index.d.ts.map +1 -1
  51. package/lib/cjs/index.d.ts +5 -1
  52. package/lib/cjs/index.d.ts.map +1 -1
  53. package/lib/cjs/index.js +7 -7
  54. package/lib/cjs/index.js.map +1 -1
  55. package/lib/cjs/init-all.d.ts +6 -0
  56. package/lib/cjs/init-all.d.ts.map +1 -0
  57. package/lib/cjs/init-all.js +17 -0
  58. package/lib/cjs/init-all.js.map +1 -0
  59. package/lib/cjs/legacy.d.ts +8 -0
  60. package/lib/cjs/legacy.d.ts.map +1 -0
  61. package/lib/cjs/legacy.js +26 -0
  62. package/lib/cjs/legacy.js.map +1 -0
  63. package/lib/esm/components/context-menu/context-menu.d.ts +66 -0
  64. package/lib/esm/components/context-menu/context-menu.d.ts.map +1 -0
  65. package/lib/esm/components/context-menu/context-menu.js +420 -0
  66. package/lib/esm/components/context-menu/context-menu.js.map +1 -0
  67. package/lib/esm/components/context-menu/index.d.ts +7 -0
  68. package/lib/esm/components/context-menu/index.d.ts.map +1 -0
  69. package/lib/esm/components/context-menu/index.js +6 -0
  70. package/lib/esm/components/context-menu/index.js.map +1 -0
  71. package/lib/esm/components/context-menu/types.d.ts +30 -0
  72. package/lib/esm/components/context-menu/types.d.ts.map +1 -0
  73. package/lib/esm/components/context-menu/types.js +6 -0
  74. package/lib/esm/components/context-menu/types.js.map +1 -0
  75. package/lib/esm/components/datatable/datatable-contracts.d.ts +66 -0
  76. package/lib/esm/components/datatable/datatable-contracts.d.ts.map +1 -0
  77. package/lib/esm/components/datatable/datatable-contracts.js +6 -0
  78. package/lib/esm/components/datatable/datatable-contracts.js.map +1 -0
  79. package/lib/esm/components/datatable/datatable-event-adapter.d.ts +7 -0
  80. package/lib/esm/components/datatable/datatable-event-adapter.d.ts.map +1 -0
  81. package/lib/esm/components/datatable/datatable-event-adapter.js +13 -0
  82. package/lib/esm/components/datatable/datatable-event-adapter.js.map +1 -0
  83. package/lib/esm/components/datatable/datatable-local-provider.d.ts +25 -0
  84. package/lib/esm/components/datatable/datatable-local-provider.d.ts.map +1 -0
  85. package/lib/esm/components/datatable/datatable-local-provider.js +181 -0
  86. package/lib/esm/components/datatable/datatable-local-provider.js.map +1 -0
  87. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts +15 -0
  88. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts.map +1 -0
  89. package/lib/esm/components/datatable/datatable-pagination-renderer.js +125 -0
  90. package/lib/esm/components/datatable/datatable-pagination-renderer.js.map +1 -0
  91. package/lib/esm/components/datatable/datatable-remote-provider.d.ts +25 -0
  92. package/lib/esm/components/datatable/datatable-remote-provider.d.ts.map +1 -0
  93. package/lib/esm/components/datatable/datatable-remote-provider.js +185 -0
  94. package/lib/esm/components/datatable/datatable-remote-provider.js.map +1 -0
  95. package/lib/esm/components/datatable/datatable-state-store.d.ts +21 -0
  96. package/lib/esm/components/datatable/datatable-state-store.d.ts.map +1 -0
  97. package/lib/esm/components/datatable/datatable-state-store.js +78 -0
  98. package/lib/esm/components/datatable/datatable-state-store.js.map +1 -0
  99. package/lib/esm/components/datatable/datatable-table-renderer.d.ts +16 -0
  100. package/lib/esm/components/datatable/datatable-table-renderer.d.ts.map +1 -0
  101. package/lib/esm/components/datatable/datatable-table-renderer.js +130 -0
  102. package/lib/esm/components/datatable/datatable-table-renderer.js.map +1 -0
  103. package/lib/esm/components/datatable/datatable.d.ts +9 -87
  104. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  105. package/lib/esm/components/datatable/datatable.js +114 -686
  106. package/lib/esm/components/datatable/datatable.js.map +1 -1
  107. package/lib/esm/components/select/index.d.ts +1 -1
  108. package/lib/esm/components/select/index.d.ts.map +1 -1
  109. package/lib/esm/index.d.ts +5 -1
  110. package/lib/esm/index.d.ts.map +1 -1
  111. package/lib/esm/index.js +4 -5
  112. package/lib/esm/index.js.map +1 -1
  113. package/lib/esm/init-all.d.ts +6 -0
  114. package/lib/esm/init-all.d.ts.map +1 -0
  115. package/lib/esm/init-all.js +13 -0
  116. package/lib/esm/init-all.js.map +1 -0
  117. package/lib/esm/legacy.d.ts +8 -0
  118. package/lib/esm/legacy.d.ts.map +1 -0
  119. package/lib/esm/legacy.js +8 -0
  120. package/lib/esm/legacy.js.map +1 -0
  121. package/package.json +34 -4
  122. package/src/__tests__/entrypoints.test.ts +71 -0
  123. package/src/components/context-menu/__tests__/context-menu.test.ts +117 -0
  124. package/src/components/context-menu/context-menu.css +32 -0
  125. package/src/components/context-menu/context-menu.ts +529 -0
  126. package/src/components/context-menu/index.ts +10 -0
  127. package/src/components/context-menu/types.ts +32 -0
  128. package/src/components/datatable/__tests__/architecture-boundaries.test.ts +259 -0
  129. package/src/components/datatable/datatable-contracts.ts +96 -0
  130. package/src/components/datatable/datatable-event-adapter.ts +21 -0
  131. package/src/components/datatable/datatable-local-provider.ts +194 -0
  132. package/src/components/datatable/datatable-pagination-renderer.ts +211 -0
  133. package/src/components/datatable/datatable-remote-provider.ts +175 -0
  134. package/src/components/datatable/datatable-state-store.ts +94 -0
  135. package/src/components/datatable/datatable-table-renderer.ts +206 -0
  136. package/src/components/datatable/datatable.ts +128 -839
  137. package/src/components/select/index.ts +1 -1
  138. package/src/index.ts +9 -5
  139. package/src/init-all.ts +15 -0
  140. package/src/legacy.ts +9 -0
  141. package/styles.css +1 -0
@@ -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":"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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,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"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ 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);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ 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;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ var KTDataTableRemoteDataProvider = /** @class */ (function () {
53
+ function KTDataTableRemoteDataProvider(options) {
54
+ this.options = options;
55
+ this.abortController = null;
56
+ this.requestId = 0;
57
+ }
58
+ KTDataTableRemoteDataProvider.prototype.dispose = function () {
59
+ if (this.abortController) {
60
+ this.abortController.abort();
61
+ this.abortController = null;
62
+ }
63
+ };
64
+ KTDataTableRemoteDataProvider.prototype.fetch = function () {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ var currentRequestId, queryParams, response, error_1, responseData, error_2;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ currentRequestId = ++this.requestId;
71
+ queryParams = this.getQueryParamsForFetchRequest();
72
+ _a.label = 1;
73
+ case 1:
74
+ _a.trys.push([1, 3, , 4]);
75
+ return [4 /*yield*/, this.performFetchRequest(queryParams)];
76
+ case 2:
77
+ response = _a.sent();
78
+ return [3 /*break*/, 4];
79
+ case 3:
80
+ error_1 = _a.sent();
81
+ if (error_1.name === 'AbortError') {
82
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
83
+ }
84
+ throw error_1;
85
+ case 4:
86
+ if (currentRequestId !== this.requestId) {
87
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
88
+ }
89
+ responseData = null;
90
+ _a.label = 5;
91
+ case 5:
92
+ _a.trys.push([5, 7, , 8]);
93
+ return [4 /*yield*/, response.json()];
94
+ case 6:
95
+ responseData = _a.sent();
96
+ return [3 /*break*/, 8];
97
+ case 7:
98
+ error_2 = _a.sent();
99
+ this.options.eventAdapter.emit('parseError', {
100
+ response: response,
101
+ error: String(error_2),
102
+ status: response.status,
103
+ statusText: response.statusText,
104
+ });
105
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
106
+ case 8:
107
+ if (currentRequestId !== this.requestId) {
108
+ return [2 /*return*/, { data: [], totalItems: 0, skipped: true }];
109
+ }
110
+ this.options.eventAdapter.emit('fetched', { response: responseData });
111
+ if (typeof this.options.config.mapResponse === 'function') {
112
+ responseData = this.options.config.mapResponse.call(this, responseData);
113
+ }
114
+ return [2 /*return*/, {
115
+ data: responseData.data,
116
+ totalItems: responseData.totalCount,
117
+ response: responseData,
118
+ }];
119
+ }
120
+ });
121
+ });
122
+ };
123
+ KTDataTableRemoteDataProvider.prototype.getQueryParamsForFetchRequest = function () {
124
+ var _a = this.options.stateStore.getState(), page = _a.page, pageSize = _a.pageSize, sortField = _a.sortField, sortOrder = _a.sortOrder, filters = _a.filters, search = _a.search;
125
+ var queryParams = new URLSearchParams();
126
+ queryParams.set('page', String(page));
127
+ queryParams.set('size', String(pageSize));
128
+ if (sortOrder !== undefined) {
129
+ queryParams.set('sortOrder', String(sortOrder));
130
+ }
131
+ if (sortField !== undefined) {
132
+ queryParams.set('sortField', String(sortField));
133
+ }
134
+ if (Array.isArray(filters) && filters.length) {
135
+ queryParams.set('filters', JSON.stringify(filters.map(function (filter) { return ({
136
+ column: filter.column,
137
+ type: filter.type,
138
+ value: filter.value,
139
+ }); })));
140
+ }
141
+ if (search) {
142
+ queryParams.set('search', typeof search === 'object' ? JSON.stringify(search) : search);
143
+ }
144
+ if (typeof this.options.config.mapRequest === 'function') {
145
+ queryParams = this.options.config.mapRequest.call(this, queryParams);
146
+ }
147
+ return queryParams;
148
+ };
149
+ KTDataTableRemoteDataProvider.prototype.performFetchRequest = function (queryParams) {
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ var requestMethod, requestBody, apiEndpoint, apiEndpointWithQueryParams;
152
+ var _this = this;
153
+ return __generator(this, function (_a) {
154
+ requestMethod = this.options.config.requestMethod;
155
+ requestBody = undefined;
156
+ apiEndpoint = this.options.config.apiEndpoint;
157
+ if (this.abortController) {
158
+ this.abortController.abort();
159
+ }
160
+ this.abortController = new AbortController();
161
+ if (requestMethod === 'POST') {
162
+ requestBody = queryParams;
163
+ }
164
+ else if (requestMethod === 'GET') {
165
+ apiEndpointWithQueryParams = this.options.createUrl(apiEndpoint);
166
+ apiEndpointWithQueryParams.search = queryParams.toString();
167
+ apiEndpoint = apiEndpointWithQueryParams.toString();
168
+ }
169
+ return [2 /*return*/, fetch(apiEndpoint, __assign(__assign({ method: requestMethod, body: requestBody, headers: this.options.config.requestHeaders }, (this.options.config.requestCredentials && {
170
+ credentials: this.options.config.requestCredentials,
171
+ })), (this.abortController && { signal: this.abortController.signal }))).catch(function (error) {
172
+ if (error.name === 'AbortError') {
173
+ return Promise.reject(error);
174
+ }
175
+ _this.options.eventAdapter.emit('error', { error: error });
176
+ _this.options.noticeOnTable('Error performing fetch request: ' + String(error));
177
+ throw error;
178
+ })];
179
+ });
180
+ });
181
+ };
182
+ return KTDataTableRemoteDataProvider;
183
+ }());
184
+ export { KTDataTableRemoteDataProvider };
185
+ //# 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"}