@keenthemes/ktui 1.2.5 → 1.2.7

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 (196) hide show
  1. package/README.md +14 -5
  2. package/dist/ktui.js +1538 -786
  3. package/dist/ktui.min.js +1 -1
  4. package/dist/ktui.min.js.map +1 -1
  5. package/dist/styles.css +85 -5
  6. package/lib/cjs/components/datatable/datatable-checkbox.d.ts +37 -1
  7. package/lib/cjs/components/datatable/datatable-checkbox.d.ts.map +1 -1
  8. package/lib/cjs/components/datatable/datatable-checkbox.js +143 -156
  9. package/lib/cjs/components/datatable/datatable-checkbox.js.map +1 -1
  10. package/lib/cjs/components/datatable/datatable-column-utils.d.ts +30 -0
  11. package/lib/cjs/components/datatable/datatable-column-utils.d.ts.map +1 -0
  12. package/lib/cjs/components/datatable/datatable-column-utils.js +42 -0
  13. package/lib/cjs/components/datatable/datatable-column-utils.js.map +1 -0
  14. package/lib/cjs/components/datatable/datatable-contracts.d.ts +2 -4
  15. package/lib/cjs/components/datatable/datatable-contracts.d.ts.map +1 -1
  16. package/lib/cjs/components/datatable/datatable-defaults.d.ts +20 -0
  17. package/lib/cjs/components/datatable/datatable-defaults.d.ts.map +1 -0
  18. package/lib/cjs/components/datatable/datatable-defaults.js +193 -0
  19. package/lib/cjs/components/datatable/datatable-defaults.js.map +1 -0
  20. package/lib/cjs/components/datatable/datatable-layout-plugin.d.ts +7 -0
  21. package/lib/cjs/components/datatable/datatable-layout-plugin.d.ts.map +1 -0
  22. package/lib/cjs/components/datatable/datatable-layout-plugin.js +338 -0
  23. package/lib/cjs/components/datatable/datatable-layout-plugin.js.map +1 -0
  24. package/lib/cjs/components/datatable/datatable-local-provider.d.ts +2 -2
  25. package/lib/cjs/components/datatable/datatable-local-provider.d.ts.map +1 -1
  26. package/lib/cjs/components/datatable/datatable-local-provider.js +85 -27
  27. package/lib/cjs/components/datatable/datatable-local-provider.js.map +1 -1
  28. package/lib/cjs/components/datatable/datatable-pagination-renderer.d.ts.map +1 -1
  29. package/lib/cjs/components/datatable/datatable-pagination-renderer.js +13 -13
  30. package/lib/cjs/components/datatable/datatable-pagination-renderer.js.map +1 -1
  31. package/lib/cjs/components/datatable/datatable-registry.d.ts +18 -0
  32. package/lib/cjs/components/datatable/datatable-registry.d.ts.map +1 -0
  33. package/lib/cjs/components/datatable/datatable-registry.js +66 -0
  34. package/lib/cjs/components/datatable/datatable-registry.js.map +1 -0
  35. package/lib/cjs/components/datatable/datatable-remote-provider.d.ts.map +1 -1
  36. package/lib/cjs/components/datatable/datatable-remote-provider.js +1 -2
  37. package/lib/cjs/components/datatable/datatable-remote-provider.js.map +1 -1
  38. package/lib/cjs/components/datatable/datatable-search-handler.d.ts +10 -0
  39. package/lib/cjs/components/datatable/datatable-search-handler.d.ts.map +1 -0
  40. package/lib/cjs/components/datatable/datatable-search-handler.js +65 -0
  41. package/lib/cjs/components/datatable/datatable-search-handler.js.map +1 -0
  42. package/lib/cjs/components/datatable/datatable-sort.d.ts +31 -4
  43. package/lib/cjs/components/datatable/datatable-sort.d.ts.map +1 -1
  44. package/lib/cjs/components/datatable/datatable-sort.js +86 -58
  45. package/lib/cjs/components/datatable/datatable-sort.js.map +1 -1
  46. package/lib/cjs/components/datatable/datatable-spinner.d.ts +30 -0
  47. package/lib/cjs/components/datatable/datatable-spinner.d.ts.map +1 -0
  48. package/lib/cjs/components/datatable/datatable-spinner.js +54 -0
  49. package/lib/cjs/components/datatable/datatable-spinner.js.map +1 -0
  50. package/lib/cjs/components/datatable/datatable-state-persistence.d.ts +19 -0
  51. package/lib/cjs/components/datatable/datatable-state-persistence.d.ts.map +1 -0
  52. package/lib/cjs/components/datatable/datatable-state-persistence.js +59 -0
  53. package/lib/cjs/components/datatable/datatable-state-persistence.js.map +1 -0
  54. package/lib/cjs/components/datatable/datatable-table-renderer.d.ts +2 -0
  55. package/lib/cjs/components/datatable/datatable-table-renderer.d.ts.map +1 -1
  56. package/lib/cjs/components/datatable/datatable-table-renderer.js +75 -16
  57. package/lib/cjs/components/datatable/datatable-table-renderer.js.map +1 -1
  58. package/lib/cjs/components/datatable/datatable-utils.d.ts +10 -0
  59. package/lib/cjs/components/datatable/datatable-utils.d.ts.map +1 -0
  60. package/lib/cjs/components/datatable/datatable-utils.js +15 -0
  61. package/lib/cjs/components/datatable/datatable-utils.js.map +1 -0
  62. package/lib/cjs/components/datatable/datatable.d.ts +35 -34
  63. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -1
  64. package/lib/cjs/components/datatable/datatable.js +233 -497
  65. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  66. package/lib/cjs/components/datatable/index.d.ts +1 -1
  67. package/lib/cjs/components/datatable/index.d.ts.map +1 -1
  68. package/lib/cjs/components/datatable/types.d.ts +127 -11
  69. package/lib/cjs/components/datatable/types.d.ts.map +1 -1
  70. package/lib/cjs/index.d.ts +1 -1
  71. package/lib/cjs/index.d.ts.map +1 -1
  72. package/lib/cjs/index.js +6 -0
  73. package/lib/cjs/index.js.map +1 -1
  74. package/lib/esm/components/datatable/datatable-checkbox.d.ts +37 -1
  75. package/lib/esm/components/datatable/datatable-checkbox.d.ts.map +1 -1
  76. package/lib/esm/components/datatable/datatable-checkbox.js +142 -155
  77. package/lib/esm/components/datatable/datatable-checkbox.js.map +1 -1
  78. package/lib/esm/components/datatable/datatable-column-utils.d.ts +30 -0
  79. package/lib/esm/components/datatable/datatable-column-utils.d.ts.map +1 -0
  80. package/lib/esm/components/datatable/datatable-column-utils.js +38 -0
  81. package/lib/esm/components/datatable/datatable-column-utils.js.map +1 -0
  82. package/lib/esm/components/datatable/datatable-contracts.d.ts +2 -4
  83. package/lib/esm/components/datatable/datatable-contracts.d.ts.map +1 -1
  84. package/lib/esm/components/datatable/datatable-defaults.d.ts +20 -0
  85. package/lib/esm/components/datatable/datatable-defaults.d.ts.map +1 -0
  86. package/lib/esm/components/datatable/datatable-defaults.js +190 -0
  87. package/lib/esm/components/datatable/datatable-defaults.js.map +1 -0
  88. package/lib/esm/components/datatable/datatable-layout-plugin.d.ts +7 -0
  89. package/lib/esm/components/datatable/datatable-layout-plugin.d.ts.map +1 -0
  90. package/lib/esm/components/datatable/datatable-layout-plugin.js +334 -0
  91. package/lib/esm/components/datatable/datatable-layout-plugin.js.map +1 -0
  92. package/lib/esm/components/datatable/datatable-local-provider.d.ts +2 -2
  93. package/lib/esm/components/datatable/datatable-local-provider.d.ts.map +1 -1
  94. package/lib/esm/components/datatable/datatable-local-provider.js +85 -27
  95. package/lib/esm/components/datatable/datatable-local-provider.js.map +1 -1
  96. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts.map +1 -1
  97. package/lib/esm/components/datatable/datatable-pagination-renderer.js +13 -13
  98. package/lib/esm/components/datatable/datatable-pagination-renderer.js.map +1 -1
  99. package/lib/esm/components/datatable/datatable-registry.d.ts +18 -0
  100. package/lib/esm/components/datatable/datatable-registry.d.ts.map +1 -0
  101. package/lib/esm/components/datatable/datatable-registry.js +63 -0
  102. package/lib/esm/components/datatable/datatable-registry.js.map +1 -0
  103. package/lib/esm/components/datatable/datatable-remote-provider.d.ts.map +1 -1
  104. package/lib/esm/components/datatable/datatable-remote-provider.js +1 -2
  105. package/lib/esm/components/datatable/datatable-remote-provider.js.map +1 -1
  106. package/lib/esm/components/datatable/datatable-search-handler.d.ts +10 -0
  107. package/lib/esm/components/datatable/datatable-search-handler.d.ts.map +1 -0
  108. package/lib/esm/components/datatable/datatable-search-handler.js +62 -0
  109. package/lib/esm/components/datatable/datatable-search-handler.js.map +1 -0
  110. package/lib/esm/components/datatable/datatable-sort.d.ts +31 -4
  111. package/lib/esm/components/datatable/datatable-sort.d.ts.map +1 -1
  112. package/lib/esm/components/datatable/datatable-sort.js +85 -57
  113. package/lib/esm/components/datatable/datatable-sort.js.map +1 -1
  114. package/lib/esm/components/datatable/datatable-spinner.d.ts +30 -0
  115. package/lib/esm/components/datatable/datatable-spinner.d.ts.map +1 -0
  116. package/lib/esm/components/datatable/datatable-spinner.js +51 -0
  117. package/lib/esm/components/datatable/datatable-spinner.js.map +1 -0
  118. package/lib/esm/components/datatable/datatable-state-persistence.d.ts +19 -0
  119. package/lib/esm/components/datatable/datatable-state-persistence.d.ts.map +1 -0
  120. package/lib/esm/components/datatable/datatable-state-persistence.js +55 -0
  121. package/lib/esm/components/datatable/datatable-state-persistence.js.map +1 -0
  122. package/lib/esm/components/datatable/datatable-table-renderer.d.ts +2 -0
  123. package/lib/esm/components/datatable/datatable-table-renderer.d.ts.map +1 -1
  124. package/lib/esm/components/datatable/datatable-table-renderer.js +75 -16
  125. package/lib/esm/components/datatable/datatable-table-renderer.js.map +1 -1
  126. package/lib/esm/components/datatable/datatable-utils.d.ts +10 -0
  127. package/lib/esm/components/datatable/datatable-utils.d.ts.map +1 -0
  128. package/lib/esm/components/datatable/datatable-utils.js +12 -0
  129. package/lib/esm/components/datatable/datatable-utils.js.map +1 -0
  130. package/lib/esm/components/datatable/datatable.d.ts +35 -34
  131. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  132. package/lib/esm/components/datatable/datatable.js +235 -499
  133. package/lib/esm/components/datatable/datatable.js.map +1 -1
  134. package/lib/esm/components/datatable/index.d.ts +1 -1
  135. package/lib/esm/components/datatable/index.d.ts.map +1 -1
  136. package/lib/esm/components/datatable/types.d.ts +127 -11
  137. package/lib/esm/components/datatable/types.d.ts.map +1 -1
  138. package/lib/esm/index.d.ts +1 -1
  139. package/lib/esm/index.d.ts.map +1 -1
  140. package/lib/esm/index.js +6 -0
  141. package/lib/esm/index.js.map +1 -1
  142. package/package.json +5 -1
  143. package/skills/ktui/SKILL.md +711 -0
  144. package/skills/ktui-datatable/SKILL.md +302 -0
  145. package/skills/ktui-install/SKILL.md +150 -0
  146. package/skills/ktui-select/SKILL.md +271 -0
  147. package/src/components/__tests__/component.test.ts +347 -0
  148. package/src/components/collapse/collapse.css +2 -2
  149. package/src/components/datatable/__tests__/architecture-boundaries.test.ts +56 -8
  150. package/src/components/datatable/__tests__/currency-sort.test.ts +25 -28
  151. package/src/components/datatable/__tests__/datatable-checkbox.test.ts +527 -0
  152. package/src/components/datatable/__tests__/datatable-column-utils.test.ts +117 -0
  153. package/src/components/datatable/__tests__/datatable-defaults.test.ts +57 -0
  154. package/src/components/datatable/__tests__/datatable-finalize-extended.test.ts +361 -0
  155. package/src/components/datatable/__tests__/datatable-fixed-layout.test.ts +427 -0
  156. package/src/components/datatable/__tests__/datatable-improvements.test.ts +484 -0
  157. package/src/components/datatable/__tests__/datatable-pagination-extended.test.ts +508 -0
  158. package/src/components/datatable/__tests__/datatable-public-api.test.ts +269 -0
  159. package/src/components/datatable/__tests__/datatable-registry.test.ts +172 -0
  160. package/src/components/datatable/__tests__/datatable-remote-provider.test.ts +468 -0
  161. package/src/components/datatable/__tests__/datatable-search-handler.test.ts +124 -0
  162. package/src/components/datatable/__tests__/datatable-sort-extended.test.ts +417 -0
  163. package/src/components/datatable/__tests__/datatable-spinner.test.ts +95 -0
  164. package/src/components/datatable/__tests__/datatable-table-renderer-extended.test.ts +425 -0
  165. package/src/components/datatable/__tests__/datatable-types.test.ts +117 -0
  166. package/src/components/datatable/__tests__/datatable-utils.test.ts +52 -0
  167. package/src/components/datatable/__tests__/locked-layout.test.ts +257 -0
  168. package/src/components/datatable/__tests__/multi-row-headers.test.ts +7 -7
  169. package/src/components/datatable/__tests__/pagination-reset.test.ts +147 -6
  170. package/src/components/datatable/__tests__/race-conditions.test.ts +11 -11
  171. package/src/components/datatable/__tests__/setup.ts +12 -4
  172. package/src/components/datatable/datatable-checkbox.ts +139 -143
  173. package/src/components/datatable/datatable-column-utils.ts +63 -0
  174. package/src/components/datatable/datatable-contracts.ts +2 -3
  175. package/src/components/datatable/datatable-defaults.ts +204 -0
  176. package/src/components/datatable/datatable-layout-plugin.ts +459 -0
  177. package/src/components/datatable/datatable-local-provider.ts +106 -35
  178. package/src/components/datatable/datatable-pagination-renderer.ts +13 -15
  179. package/src/components/datatable/datatable-registry.ts +89 -0
  180. package/src/components/datatable/datatable-remote-provider.ts +1 -3
  181. package/src/components/datatable/datatable-search-handler.ts +97 -0
  182. package/src/components/datatable/datatable-sort.ts +111 -66
  183. package/src/components/datatable/datatable-spinner.ts +103 -0
  184. package/src/components/datatable/datatable-state-persistence.ts +67 -0
  185. package/src/components/datatable/datatable-table-renderer.ts +81 -18
  186. package/src/components/datatable/datatable-utils.ts +12 -0
  187. package/src/components/datatable/datatable.css +98 -0
  188. package/src/components/datatable/datatable.ts +288 -583
  189. package/src/components/datatable/index.ts +8 -0
  190. package/src/components/datatable/types.ts +157 -23
  191. package/src/helpers/__tests__/dom.test.ts +776 -0
  192. package/src/helpers/__tests__/utils.test.ts +332 -0
  193. package/src/index.ts +15 -0
  194. package/skills/ktui-components/SKILL.md +0 -41
  195. package/skills/ktui-theming/SKILL.md +0 -50
  196. package/src/components/datatable/datatable-event-adapter.ts +0 -21
@@ -12,83 +12,75 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
12
12
  return to.concat(ar || Array.prototype.slice.call(from));
13
13
  };
14
14
  import KTEventHandler from '../../helpers/event-handler';
15
- // Main function to create checkbox logic for a datatable instance
16
- export function createCheckboxHandler(element, config, fireEvent) {
17
- var _a;
18
- var headerChecked = false;
19
- var headerCheckElement = null;
20
- var targetElements = null;
21
- // Default: preserve selection across all pages
22
- var preserveSelection = ((_a = config.checkbox) === null || _a === void 0 ? void 0 : _a.preserveSelection) !== false;
23
- function ensureState() {
24
- var state = config._state;
25
- if (!state) {
26
- state = {};
27
- config._state = state;
28
- }
29
- return state;
30
- }
31
- // Helper: get selectedRows from state, always as string[]
32
- function getSelectedRows() {
33
- var state = ensureState();
34
- if (!Array.isArray(state.selectedRows))
35
- state.selectedRows = [];
36
- return state.selectedRows.map(String);
37
- }
38
- // Helper: set selectedRows in state
39
- function setSelectedRows(rows) {
40
- var state = ensureState();
41
- state.selectedRows = Array.from(new Set(rows.map(String)));
42
- }
43
- // Helper: get all visible row IDs (values)
44
- function getVisibleRowIds() {
45
- if (!targetElements)
15
+ var KTDataTableCheckboxHandler = /** @class */ (function () {
16
+ function KTDataTableCheckboxHandler(element, config, fireEvent, deps) {
17
+ var _this = this;
18
+ var _a;
19
+ this._headerChecked = false;
20
+ this._headerCheckElement = null;
21
+ this._targetElements = null;
22
+ this._delegatedEventId = null;
23
+ this._checkboxListener = function (event) {
24
+ _this._checkboxToggle(event);
25
+ };
26
+ this._element = element;
27
+ this._config = config;
28
+ this._fireEvent = fireEvent;
29
+ this._deps = deps;
30
+ this._preserveSelection = ((_a = config.checkbox) === null || _a === void 0 ? void 0 : _a.preserveSelection) !== false;
31
+ }
32
+ KTDataTableCheckboxHandler.prototype._getSelectedRows = function () {
33
+ var rows = this._deps.getState().selectedRows;
34
+ return Array.isArray(rows) ? rows.map(String) : [];
35
+ };
36
+ KTDataTableCheckboxHandler.prototype._setSelectedRows = function (rows) {
37
+ this._deps.setSelectedRows(Array.from(new Set(rows.map(String))));
38
+ };
39
+ KTDataTableCheckboxHandler.prototype._getVisibleRowIds = function () {
40
+ if (!this._targetElements)
46
41
  return [];
47
- return Array.from(targetElements)
42
+ return Array.from(this._targetElements)
48
43
  .map(function (el) { return el.value; })
49
44
  .filter(function (v) { return v != null && v !== ''; });
50
- }
51
- // Listener for header checkbox
52
- var checkboxListener = function (event) {
53
- checkboxToggle(event);
54
45
  };
55
- function init() {
56
- var attrs = config.attributes;
46
+ KTDataTableCheckboxHandler.prototype.init = function () {
47
+ var attrs = this._config.attributes;
57
48
  if (!(attrs === null || attrs === void 0 ? void 0 : attrs.check) || !attrs.checkbox) {
58
49
  return;
59
50
  }
60
- headerCheckElement = element.querySelector(attrs.check);
61
- if (!headerCheckElement)
51
+ this._headerCheckElement =
52
+ this._element.querySelector(attrs.check);
53
+ if (!this._headerCheckElement)
62
54
  return;
63
- headerChecked = headerCheckElement.checked;
64
- targetElements = element.querySelectorAll(attrs.checkbox);
65
- checkboxHandler();
66
- reapplyCheckedStates();
67
- updateHeaderCheckboxState();
68
- }
69
- function checkboxHandler() {
55
+ this._headerChecked = this._headerCheckElement.checked;
56
+ this._targetElements =
57
+ this._element.querySelectorAll(attrs.checkbox);
58
+ this._checkboxHandler();
59
+ this._reapplyCheckedStates();
60
+ this._updateHeaderCheckboxState();
61
+ };
62
+ KTDataTableCheckboxHandler.prototype._checkboxHandler = function () {
63
+ var _this = this;
70
64
  var _a;
71
- if (!headerCheckElement)
65
+ if (!this._headerCheckElement)
72
66
  return;
73
- var rowCheckboxSelector = (_a = config.attributes) === null || _a === void 0 ? void 0 : _a.checkbox;
67
+ var rowCheckboxSelector = (_a = this._config.attributes) === null || _a === void 0 ? void 0 : _a.checkbox;
74
68
  if (!rowCheckboxSelector)
75
69
  return;
76
- headerCheckElement.addEventListener('click', checkboxListener);
77
- KTEventHandler.on(document.body, rowCheckboxSelector, 'input', (function (event) {
70
+ this._headerCheckElement.addEventListener('click', this._checkboxListener);
71
+ this._delegatedEventId = KTEventHandler.on(this._element, rowCheckboxSelector, 'input', (function (event) {
78
72
  if (event)
79
- handleRowCheckboxChange(event);
73
+ _this._handleRowCheckboxChange(event);
80
74
  }));
81
- }
82
- // When a row checkbox is changed
83
- function handleRowCheckboxChange(event) {
75
+ };
76
+ KTDataTableCheckboxHandler.prototype._handleRowCheckboxChange = function (event) {
84
77
  var input = event.target;
85
78
  if (!input)
86
79
  return;
87
80
  var value = input.value;
88
- var selectedRows = getSelectedRows();
81
+ var selectedRows = this._getSelectedRows();
89
82
  var wasChecked = selectedRows.includes(value);
90
83
  var isNowChecked = input.checked;
91
- // Update state first
92
84
  if (isNowChecked) {
93
85
  if (!wasChecked)
94
86
  selectedRows.push(value);
@@ -96,151 +88,146 @@ export function createCheckboxHandler(element, config, fireEvent) {
96
88
  else {
97
89
  selectedRows = selectedRows.filter(function (v) { return v !== value; });
98
90
  }
99
- setSelectedRows(selectedRows);
100
- updateHeaderCheckboxState();
101
- // Fire specific checked/unchecked events after state is updated
91
+ this._setSelectedRows(selectedRows);
92
+ this._updateHeaderCheckboxState();
102
93
  if (isNowChecked && !wasChecked) {
103
- fireEvent('checked');
94
+ this._fireEvent('checked', { value: value });
104
95
  }
105
96
  else if (!isNowChecked && wasChecked) {
106
- fireEvent('unchecked');
97
+ this._fireEvent('unchecked', { value: value });
107
98
  }
108
- // Always fire changed event for backward compatibility
109
- fireEvent('changed');
110
- }
111
- // When the header checkbox is toggled
112
- function checkboxToggle(_event) {
113
- var checked = !isChecked();
114
- // Update state first, then fire events
115
- change(checked);
116
- // Fire checked/unchecked events after state is updated
99
+ this._fireEvent('changed');
100
+ };
101
+ KTDataTableCheckboxHandler.prototype._checkboxToggle = function (_event) {
102
+ var checked = !this.isChecked();
103
+ this._change(checked);
117
104
  var eventType = checked ? 'checked' : 'unchecked';
118
- fireEvent(eventType);
119
- }
120
- // Change all visible checkboxes and update selectedRows
121
- function change(checked) {
105
+ this._fireEvent(eventType);
106
+ };
107
+ KTDataTableCheckboxHandler.prototype._change = function (checked) {
122
108
  var payload = { cancel: false };
123
- fireEvent('change', payload);
109
+ this._fireEvent('change', payload);
124
110
  if (payload.cancel === true)
125
111
  return;
126
- headerChecked = checked;
127
- if (headerCheckElement)
128
- headerCheckElement.checked = checked;
129
- if (targetElements) {
130
- var visibleIds_1 = getVisibleRowIds();
131
- var selectedRows = getSelectedRows();
112
+ this._headerChecked = checked;
113
+ if (this._headerCheckElement)
114
+ this._headerCheckElement.checked = checked;
115
+ if (this._targetElements) {
116
+ var visibleIds_1 = this._getVisibleRowIds();
117
+ var selectedRows = this._getSelectedRows();
132
118
  if (checked) {
133
- // Add all visible IDs to selectedRows
134
- selectedRows = preserveSelection
119
+ selectedRows = this._preserveSelection
135
120
  ? Array.from(new Set(__spreadArray(__spreadArray([], selectedRows, true), visibleIds_1, true)))
136
121
  : visibleIds_1;
137
122
  }
138
123
  else {
139
- // Remove all visible IDs from selectedRows
140
- selectedRows = preserveSelection
124
+ selectedRows = this._preserveSelection
141
125
  ? selectedRows.filter(function (v) { return !visibleIds_1.includes(v); })
142
126
  : [];
143
127
  }
144
- setSelectedRows(selectedRows);
145
- // Update visible checkboxes
146
- targetElements.forEach(function (element) {
128
+ this._setSelectedRows(selectedRows);
129
+ this._targetElements.forEach(function (element) {
147
130
  if (element) {
148
131
  element.checked = checked;
149
132
  }
150
133
  });
151
134
  }
152
- updateHeaderCheckboxState();
153
- fireEvent('changed');
154
- }
155
- // Reapply checked state to visible checkboxes based on selectedRows
156
- function reapplyCheckedStates() {
157
- var selectedRows = getSelectedRows();
158
- if (!targetElements)
135
+ this._updateHeaderCheckboxState();
136
+ this._fireEvent('changed');
137
+ };
138
+ KTDataTableCheckboxHandler.prototype._reapplyCheckedStates = function () {
139
+ var _this = this;
140
+ var selectedRows = this._getSelectedRows();
141
+ if (!this._targetElements)
159
142
  return;
160
- targetElements.forEach(function (element) {
143
+ this._targetElements.forEach(function (element) {
161
144
  var _a;
162
145
  if (!element)
163
146
  return;
164
147
  var value = element.value;
165
148
  element.checked = selectedRows.includes(value);
166
- // Update row class
167
149
  var row = element.closest('tr');
168
- if (row && ((_a = config.checkbox) === null || _a === void 0 ? void 0 : _a.checkedClass)) {
150
+ if (row && ((_a = _this._config.checkbox) === null || _a === void 0 ? void 0 : _a.checkedClass)) {
169
151
  if (element.checked) {
170
- row.classList.add(config.checkbox.checkedClass);
152
+ row.classList.add(_this._config.checkbox.checkedClass);
171
153
  }
172
154
  else {
173
- row.classList.remove(config.checkbox.checkedClass);
155
+ row.classList.remove(_this._config.checkbox.checkedClass);
174
156
  }
175
157
  }
176
158
  });
177
- }
178
- // Update header checkbox state (checked/indeterminate/unchecked)
179
- function updateHeaderCheckboxState() {
180
- if (!headerCheckElement || !targetElements)
159
+ };
160
+ KTDataTableCheckboxHandler.prototype._updateHeaderCheckboxState = function () {
161
+ if (!this._headerCheckElement || !this._targetElements)
181
162
  return;
182
- var total = targetElements.length;
163
+ var total = this._targetElements.length;
183
164
  var checked = 0;
184
165
  for (var i = 0; i < total; i++) {
185
- if (targetElements[i].checked)
166
+ if (this._targetElements[i].checked)
186
167
  checked++;
187
168
  }
188
169
  if (checked === 0) {
189
- headerCheckElement.indeterminate = false;
190
- headerCheckElement.checked = false;
191
- headerChecked = false;
170
+ this._headerCheckElement.indeterminate = false;
171
+ this._headerCheckElement.checked = false;
172
+ this._headerChecked = false;
192
173
  }
193
174
  else if (checked > 0 && checked < total) {
194
- headerCheckElement.indeterminate = true;
195
- headerCheckElement.checked = false;
196
- headerChecked = false;
175
+ this._headerCheckElement.indeterminate = true;
176
+ this._headerCheckElement.checked = false;
177
+ this._headerChecked = false;
197
178
  }
198
179
  else if (checked === total) {
199
- headerCheckElement.indeterminate = false;
200
- headerCheckElement.checked = true;
201
- headerChecked = true;
180
+ this._headerCheckElement.indeterminate = false;
181
+ this._headerCheckElement.checked = true;
182
+ this._headerChecked = true;
202
183
  }
203
- }
204
- // Fix: isChecked() implementation
205
- function isChecked() {
206
- return headerChecked;
207
- }
208
- function getChecked() {
209
- return getSelectedRows();
210
- }
211
- function check() {
212
- change(true);
213
- reapplyCheckedStates();
214
- updateHeaderCheckboxState();
215
- }
216
- function uncheck() {
217
- change(false);
218
- reapplyCheckedStates();
219
- updateHeaderCheckboxState();
220
- }
221
- function toggle() {
222
- checkboxToggle();
223
- reapplyCheckedStates();
224
- updateHeaderCheckboxState();
225
- }
226
- function updateState() {
184
+ };
185
+ KTDataTableCheckboxHandler.prototype.isChecked = function () {
186
+ return this._headerChecked;
187
+ };
188
+ KTDataTableCheckboxHandler.prototype.getChecked = function () {
189
+ return this._getSelectedRows();
190
+ };
191
+ KTDataTableCheckboxHandler.prototype.check = function () {
192
+ this._change(true);
193
+ this._reapplyCheckedStates();
194
+ this._updateHeaderCheckboxState();
195
+ };
196
+ KTDataTableCheckboxHandler.prototype.uncheck = function () {
197
+ this._change(false);
198
+ this._reapplyCheckedStates();
199
+ this._updateHeaderCheckboxState();
200
+ };
201
+ KTDataTableCheckboxHandler.prototype.toggle = function () {
202
+ this._checkboxToggle();
203
+ this._reapplyCheckedStates();
204
+ this._updateHeaderCheckboxState();
205
+ };
206
+ KTDataTableCheckboxHandler.prototype.updateState = function () {
227
207
  var _a;
228
- var rowCheckSel = (_a = config.attributes) === null || _a === void 0 ? void 0 : _a.checkbox;
208
+ var rowCheckSel = (_a = this._config.attributes) === null || _a === void 0 ? void 0 : _a.checkbox;
229
209
  if (!rowCheckSel) {
230
210
  return;
231
211
  }
232
- targetElements = element.querySelectorAll(rowCheckSel);
233
- reapplyCheckedStates();
234
- updateHeaderCheckboxState();
235
- }
236
- return {
237
- init: init,
238
- check: check,
239
- uncheck: uncheck,
240
- toggle: toggle,
241
- isChecked: isChecked,
242
- getChecked: getChecked,
243
- updateState: updateState,
244
- };
245
- }
212
+ this._targetElements =
213
+ this._element.querySelectorAll(rowCheckSel);
214
+ this._reapplyCheckedStates();
215
+ this._updateHeaderCheckboxState();
216
+ };
217
+ KTDataTableCheckboxHandler.prototype.dispose = function () {
218
+ var _a;
219
+ if (this._headerCheckElement) {
220
+ this._headerCheckElement.removeEventListener('click', this._checkboxListener);
221
+ }
222
+ var rowCheckboxSelector = (_a = this._config.attributes) === null || _a === void 0 ? void 0 : _a.checkbox;
223
+ if (this._delegatedEventId && rowCheckboxSelector) {
224
+ KTEventHandler.off(this._element, 'input', this._delegatedEventId);
225
+ this._delegatedEventId = null;
226
+ }
227
+ this._headerCheckElement = null;
228
+ this._targetElements = null;
229
+ };
230
+ return KTDataTableCheckboxHandler;
231
+ }());
232
+ export { KTDataTableCheckboxHandler };
246
233
  //# sourceMappingURL=datatable-checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-checkbox.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-checkbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AASH,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAazD,kEAAkE;AAClE,MAAM,UAAU,qBAAqB,CACpC,OAAoB,EACpB,MAAkC,EAClC,SAA0D;;IAE1D,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,kBAAkB,GAA4B,IAAI,CAAC;IACvD,IAAI,cAAc,GAAwC,IAAI,CAAC;IAE/D,+CAA+C;IAC/C,IAAM,iBAAiB,GAAG,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,iBAAiB,MAAK,KAAK,CAAC;IAEvE,SAAS,WAAW;QACnB,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,EAA+B,CAAC;YACxC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,SAAS,eAAe;QACvB,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YAAE,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,oCAAoC;IACpC,SAAS,eAAe,CAAC,IAAc;QACtC,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,2CAA2C;IAC3C,SAAS,gBAAgB;QACxB,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;aAC/B,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAR,CAAQ,CAAC;aACrB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAArB,CAAqB,CAAC,CAAC;IACxC,CAAC;IAED,+BAA+B;IAC/B,IAAM,gBAAgB,GAAG,UAAC,KAAiB;QAC1C,cAAc,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,SAAS,IAAI;QACZ,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QACD,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAmB,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAChC,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC3C,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAmB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5E,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,CAAC;QACvB,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,eAAe;;QACvB,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAChC,IAAM,mBAAmB,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,QAAQ,CAAC;QACxD,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC/D,cAAc,CAAC,EAAE,CAChB,QAAQ,CAAC,IAAI,EACb,mBAAmB,EACnB,OAAO,EACP,CAAC,UAAC,KAAa;YACd,IAAI,KAAK;gBAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAmB,CACpB,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,SAAS,uBAAuB,CAAC,KAAY;QAC5C,IAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;QACrC,IAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAEnC,qBAAqB;QACrB,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,KAAK,EAAX,CAAW,CAAC,CAAC;QACxD,CAAC;QACD,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9B,yBAAyB,EAAE,CAAC;QAE5B,gEAAgE;QAChE,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;YACxC,SAAS,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;QAED,uDAAuD;QACvD,SAAS,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED,sCAAsC;IACtC,SAAS,cAAc,CAAC,MAAc;QACrC,IAAM,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;QAC7B,uCAAuC;QACvC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChB,uDAAuD;QACvD,IAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QACpD,SAAS,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED,wDAAwD;IACxD,SAAS,MAAM,CAAC,OAAgB;QAC/B,IAAM,OAAO,GAA2C,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1E,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACpC,aAAa,GAAG,OAAO,CAAC;QACxB,IAAI,kBAAkB;YAAE,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7D,IAAI,cAAc,EAAE,CAAC;YACpB,IAAM,YAAU,GAAG,gBAAgB,EAAE,CAAC;YACtC,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACb,sCAAsC;gBACtC,YAAY,GAAG,iBAAiB;oBAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,iCAAK,YAAY,SAAK,YAAU,QAAE,CAAC;oBACvD,CAAC,CAAC,YAAU,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,2CAA2C;gBAC3C,YAAY,GAAG,iBAAiB;oBAC/B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,YAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC;oBACrD,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YACD,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,4BAA4B;YAC5B,cAAc,CAAC,OAAO,CAAC,UAAC,OAAyB;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,yBAAyB,EAAE,CAAC;QAC5B,SAAS,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED,oEAAoE;IACpE,SAAS,oBAAoB;QAC5B,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,cAAc,CAAC,OAAO,CAAC,UAAC,OAAyB;;YAChD,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/C,mBAAmB;YACnB,IAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,GAAG,KAAI,MAAA,MAAM,CAAC,QAAQ,0CAAE,YAAY,CAAA,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACpD,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,SAAS,yBAAyB;QACjC,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc;YAAE,OAAO;QACnD,IAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;QACpC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACnB,kBAAkB,CAAC,aAAa,GAAG,KAAK,CAAC;YACzC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,aAAa,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YAC3C,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC;YACxC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,aAAa,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,kBAAkB,CAAC,aAAa,GAAG,KAAK,CAAC;YACzC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,aAAa,GAAG,IAAI,CAAC;QACtB,CAAC;IACF,CAAC;IAED,kCAAkC;IAClC,SAAS,SAAS;QACjB,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,SAAS,UAAU;QAClB,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS,KAAK;QACb,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,oBAAoB,EAAE,CAAC;QACvB,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,OAAO;QACf,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,oBAAoB,EAAE,CAAC;QACvB,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,MAAM;QACd,cAAc,EAAE,CAAC;QACjB,oBAAoB,EAAE,CAAC;QACvB,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,WAAW;;QACnB,IAAM,WAAW,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QACD,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAmB,WAAW,CAAC,CAAC;QACzE,oBAAoB,EAAE,CAAC;QACvB,yBAAyB,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACN,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;QACP,MAAM,QAAA;QACN,SAAS,WAAA;QACT,UAAU,YAAA;QACV,WAAW,aAAA;KACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"datatable-checkbox.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-checkbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;AAQH,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAmBzD;IAWC,oCACC,OAAoB,EACpB,MAAkC,EAClC,SAA0D,EAC1D,IAA6B;QAJ9B,iBAWC;;QAjBO,mBAAc,GAAG,KAAK,CAAC;QACvB,wBAAmB,GAA4B,IAAI,CAAC;QACpD,oBAAe,GAAwC,IAAI,CAAC;QAC5D,sBAAiB,GAAkB,IAAI,CAAC;QAgBxC,sBAAiB,GAAG,UAAC,KAAiB;YAC7C,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QATD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,kBAAkB,GAAG,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,iBAAiB,MAAK,KAAK,CAAC;IACxE,CAAC;IAMO,qDAAgB,GAAxB;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC;QAChD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAEO,qDAAgB,GAAxB,UAAyB,IAAc;QACtC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,sDAAiB,GAAzB;QACC,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;aACrC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAR,CAAQ,CAAC;aACrB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAArB,CAAqB,CAAC,CAAC;IACxC,CAAC;IAEM,yCAAI,GAAX;QACC,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,mBAAmB;YACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAmB,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,eAAe;YACnB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAmB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEO,qDAAgB,GAAxB;QAAA,iBAaC;;QAZA,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,QAAQ,CAAC;QAC9D,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,EAAE,CACzC,IAAI,CAAC,QAAQ,EACb,mBAAmB,EACnB,OAAO,EACP,CAAC,UAAC,KAAa;YACd,IAAI,KAAK;gBAAE,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAmB,CACpB,CAAC;IACH,CAAC;IAEO,6DAAwB,GAAhC,UAAiC,KAAY;QAC5C,IAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAEnC,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,KAAK,EAAX,CAAW,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEO,oDAAe,GAAvB,UAAwB,MAAc;QACrC,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,IAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEO,4CAAO,GAAf,UAAgB,OAAgB;QAC/B,IAAM,OAAO,GAA2C,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACpC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,IAAI,CAAC,mBAAmB;YAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;QACzE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAM,YAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACb,YAAY,GAAG,IAAI,CAAC,kBAAkB;oBACrC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,iCAAK,YAAY,SAAK,YAAU,QAAE,CAAC;oBACvD,CAAC,CAAC,YAAU,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,IAAI,CAAC,kBAAkB;oBACrC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,YAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC;oBACrD,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,OAAyB;gBACtD,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEO,0DAAqB,GAA7B;QAAA,iBAgBC;QAfA,IAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAClC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,OAAyB;;YACtD,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,GAAG,KAAI,MAAA,KAAI,CAAC,OAAO,CAAC,QAAQ,0CAAE,YAAY,CAAA,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC1D,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,+DAA0B,GAAlC;QACC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAC/D,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,KAAK,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,KAAK,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,CAAC;IACF,CAAC;IAEM,8CAAS,GAAhB;QACC,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAEM,+CAAU,GAAjB;QACC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAEM,0CAAK,GAAZ;QACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEM,4CAAO,GAAd;QACC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEM,2CAAM,GAAb;QACC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEM,gDAAW,GAAlB;;QACC,IAAM,WAAW,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,QAAQ,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe;YACnB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAmB,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEM,4CAAO,GAAd;;QACC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAC3C,OAAO,EACP,IAAI,CAAC,iBAAiB,CACtB,CAAC;QACH,CAAC;QACD,IAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,QAAQ,CAAC;QAC9D,IAAI,IAAI,CAAC,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YACnD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IACF,iCAAC;AAAD,CAAC,AApOD,IAoOC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ /**
6
+ * Shared column resolution utilities for KTDataTable.
7
+ * Eliminates duplicated column discovery logic across local-provider,
8
+ * table-renderer, and the main datatable class.
9
+ */
10
+ export interface ResolvedColumns {
11
+ /** All <th> elements from the thead */
12
+ allThs: HTMLTableCellElement[];
13
+ /** Only <th> elements that have data-kt-datatable-column attribute */
14
+ typedThs: HTMLTableCellElement[];
15
+ /** The column list to use for rendering: typedThs if all ths have the attr, else allThs */
16
+ columnsByIndex: HTMLTableCellElement[];
17
+ }
18
+ /**
19
+ * Resolve column headers from a thead element.
20
+ * Returns both the raw th list and the typed (data-kt-datatable-column) subset.
21
+ * When some ths lack the attribute, columnsByIndex falls back to all ths by index.
22
+ */
23
+ export declare function resolveColumns(theadElement: HTMLTableSectionElement | null): ResolvedColumns;
24
+ /**
25
+ * Get the logical column count: number of data columns.
26
+ * Prefers originalData keys, falls back to first tbody row td count,
27
+ * then to resolved columns from thead.
28
+ */
29
+ export declare function getLogicalColumnCount(theadElement: HTMLTableSectionElement | null, tbodyElement: HTMLTableSectionElement | null, originalData?: Array<Record<string, unknown>>): number;
30
+ //# sourceMappingURL=datatable-column-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-column-utils.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-column-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC/B,uCAAuC;IACvC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,2FAA2F;IAC3F,cAAc,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,YAAY,EAAE,uBAAuB,GAAG,IAAI,GAC1C,eAAe,CAYjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,uBAAuB,GAAG,IAAI,EAC5C,YAAY,EAAE,uBAAuB,GAAG,IAAI,EAC5C,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC3C,MAAM,CAYR"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ /**
6
+ * Resolve column headers from a thead element.
7
+ * Returns both the raw th list and the typed (data-kt-datatable-column) subset.
8
+ * When some ths lack the attribute, columnsByIndex falls back to all ths by index.
9
+ */
10
+ export function resolveColumns(theadElement) {
11
+ var allThs = theadElement
12
+ ? Array.from(theadElement.querySelectorAll('th'))
13
+ : [];
14
+ var typedThs = allThs.filter(function (th) {
15
+ return th.hasAttribute('data-kt-datatable-column');
16
+ });
17
+ var columnsByIndex = typedThs.length > 0 ? typedThs : allThs;
18
+ return { allThs: allThs, typedThs: typedThs, columnsByIndex: columnsByIndex };
19
+ }
20
+ /**
21
+ * Get the logical column count: number of data columns.
22
+ * Prefers originalData keys, falls back to first tbody row td count,
23
+ * then to resolved columns from thead.
24
+ */
25
+ export function getLogicalColumnCount(theadElement, tbodyElement, originalData) {
26
+ if (originalData && originalData.length > 0) {
27
+ return Object.keys(originalData[0]).length;
28
+ }
29
+ if (tbodyElement) {
30
+ var firstRow = tbodyElement.querySelector('tr');
31
+ if (firstRow) {
32
+ return firstRow.querySelectorAll('td').length;
33
+ }
34
+ }
35
+ var columnsByIndex = resolveColumns(theadElement).columnsByIndex;
36
+ return columnsByIndex.length;
37
+ }
38
+ //# sourceMappingURL=datatable-column-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-column-utils.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-column-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC7B,YAA4C;IAE5C,IAAM,MAAM,GAA2B,YAAY;QAClD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IAEN,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,EAAE;QACjC,OAAA,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC;IAA3C,CAA2C,CAC3C,CAAC;IAEF,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/D,OAAO,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,cAAc,gBAAA,EAAE,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACpC,YAA4C,EAC5C,YAA4C,EAC5C,YAA6C;IAE7C,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QAClB,IAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAsB,IAAI,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC/C,CAAC;IACF,CAAC;IACO,IAAA,cAAc,GAAK,cAAc,CAAC,YAAY,CAAC,eAAjC,CAAkC;IACxD,OAAO,cAAc,CAAC,MAAM,CAAC;AAC9B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
3
  * Copyright 2025 by Keenthemes Inc
4
4
  */
5
- import { KTDataTableAttributeInterface, KTDataTableColumnFilterInterface, KTDataTableConfigInterface, KTDataTableDataInterface, KTDataTableInterface, KTDataTableSortOrderInterface, KTDataTableStateInterface } from './types';
5
+ import { KTDataTableAttributeInterface, KTDataTableColumnFilterInterface, KTDataTableConfigInterface, KTDataTableDataInterface, KTDataTableInterface, KTDataTableSortOrderInterface, KTDataTableStateInterface, OriginalTableClasses } from './types';
6
6
  export type KTDataTableEmit = (eventName: string, eventData?: object) => void;
7
7
  export type KTDataTableCleanup = () => void;
8
8
  export interface KTDataTableEventAdapter {
@@ -40,9 +40,7 @@ export interface KTDataTableTableRendererInput<T extends KTDataTableDataInterfac
40
40
  data: T[];
41
41
  getLogicalColumnCount: () => number;
42
42
  getState: () => KTDataTableStateInterface;
43
- originalTbodyClass: string;
44
- originalTrClasses: string[];
45
- originalTdClasses: string[][];
43
+ originalClasses: OriginalTableClasses;
46
44
  tableElement: HTMLTableElement;
47
45
  theadElement: HTMLTableSectionElement;
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-contracts.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable-contracts.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTDataTableConfigInterface } from './types';
6
+ /** Default page size options shown in the size selector */
7
+ export declare const DEFAULT_PAGE_SIZES: readonly [5, 10, 20, 30, 50];
8
+ /** Default debounce delay (ms) for search input */
9
+ export declare const DEFAULT_SEARCH_DELAY = 500;
10
+ /** Default maximum visible page buttons before showing '...' */
11
+ export declare const DEFAULT_PAGE_MORE_LIMIT = 3;
12
+ /**
13
+ * Default configuration for KTDataTable.
14
+ * Extracted from _initDefaultConfig() for separation of concerns.
15
+ * Note: sort.callback and search.callback are NOT included here because
16
+ * they require instance context (this._sortHandler). They are added
17
+ * in datatable.ts _initDefaultConfig().
18
+ */
19
+ export declare const DATATABLE_DEFAULTS: Readonly<KTDataTableConfigInterface>;
20
+ //# sourceMappingURL=datatable-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-defaults.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-defaults.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAA6B,MAAM,SAAS,CAAC;AAEhF,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,8BAA+B,CAAC;AAE/D,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,0BAA0B,CAoLnE,CAAC"}