@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
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
7
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
8
+ if (ar || !(i in from)) {
9
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
10
+ ar[i] = from[i];
11
+ }
12
+ }
13
+ return to.concat(ar || Array.prototype.slice.call(from));
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createStickyLayoutPlugin = void 0;
17
+ var LOCKED_CELL_CLASS = 'kt-datatable-locked-cell';
18
+ var LOCKED_HEADER_CLASS = 'kt-datatable-locked-header';
19
+ var LOCKED_TOP_ROW_CLASS = 'kt-datatable-locked-top-row';
20
+ var LOCKED_BOTTOM_ROW_CLASS = 'kt-datatable-locked-bottom-row';
21
+ var LOCKED_LEFT_CLASS = 'kt-datatable-locked-left';
22
+ var LOCKED_RIGHT_CLASS = 'kt-datatable-locked-right';
23
+ var LOCKED_LAYOUT_SEPARATE_CLASS = 'kt-datatable-locked-layout-separate';
24
+ var LOCKED_HEADER_SECTION_CLASS = 'kt-datatable-locked-header-section';
25
+ var HEADER_Z_INDEX = 40;
26
+ var ROW_Z_INDEX = 30;
27
+ var COLUMN_Z_INDEX = 35;
28
+ var INTERSECTION_Z_INDEX = 45;
29
+ var toPositiveInteger = function (value) {
30
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
31
+ return 0;
32
+ }
33
+ return Math.max(0, Math.floor(value));
34
+ };
35
+ var hasStickyColumns = function (config) {
36
+ var _a, _b;
37
+ var lockedLayout = config.lockedLayout;
38
+ if (!(lockedLayout === null || lockedLayout === void 0 ? void 0 : lockedLayout.stickyColumns)) {
39
+ return false;
40
+ }
41
+ return ((((_a = lockedLayout.stickyColumns.left) === null || _a === void 0 ? void 0 : _a.length) || 0) > 0 ||
42
+ (((_b = lockedLayout.stickyColumns.right) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0);
43
+ };
44
+ var hasLockedLayoutConfig = function (config) {
45
+ var _a, _b, _c, _d, _e, _f;
46
+ var lockedLayout = config.lockedLayout;
47
+ if (!lockedLayout) {
48
+ return false;
49
+ }
50
+ return (lockedLayout.stickyHeader === true ||
51
+ toPositiveInteger((_a = lockedLayout.stickyRows) === null || _a === void 0 ? void 0 : _a.top) > 0 ||
52
+ toPositiveInteger((_b = lockedLayout.stickyRows) === null || _b === void 0 ? void 0 : _b.bottom) > 0 ||
53
+ (((_d = (_c = lockedLayout.stickyColumns) === null || _c === void 0 ? void 0 : _c.left) === null || _d === void 0 ? void 0 : _d.length) || 0) > 0 ||
54
+ (((_f = (_e = lockedLayout.stickyColumns) === null || _e === void 0 ? void 0 : _e.right) === null || _f === void 0 ? void 0 : _f.length) || 0) > 0);
55
+ };
56
+ var getScrollContainer = function (rootElement) {
57
+ return (rootElement.closest('.kt-table-wrapper') ||
58
+ rootElement.querySelector('.kt-table-wrapper') ||
59
+ rootElement);
60
+ };
61
+ var clearStickyStyles = function (tableElement, scrollContainer) {
62
+ tableElement.classList.remove('kt-datatable-locked-layout', LOCKED_LAYOUT_SEPARATE_CLASS);
63
+ scrollContainer.classList.remove('kt-datatable-locked-layout-host');
64
+ tableElement.style.borderCollapse = '';
65
+ tableElement.style.borderSpacing = '';
66
+ var theadElement = tableElement.tHead;
67
+ if (theadElement) {
68
+ theadElement.classList.remove(LOCKED_HEADER_SECTION_CLASS);
69
+ theadElement.style.position = '';
70
+ theadElement.style.top = '';
71
+ theadElement.style.zIndex = '';
72
+ }
73
+ var stickyElements = tableElement.querySelectorAll(".".concat(LOCKED_CELL_CLASS));
74
+ stickyElements.forEach(function (element) {
75
+ element.classList.remove(LOCKED_CELL_CLASS, LOCKED_HEADER_CLASS, LOCKED_TOP_ROW_CLASS, LOCKED_BOTTOM_ROW_CLASS, LOCKED_LEFT_CLASS, LOCKED_RIGHT_CLASS);
76
+ element.style.position = '';
77
+ element.style.top = '';
78
+ element.style.bottom = '';
79
+ element.style.left = '';
80
+ element.style.right = '';
81
+ element.style.zIndex = '';
82
+ element.style.backgroundColor = '';
83
+ });
84
+ };
85
+ var getDirection = function (tableElement) {
86
+ var _a;
87
+ var scopedDir = (_a = tableElement
88
+ .closest('[dir]')) === null || _a === void 0 ? void 0 : _a.getAttribute('dir');
89
+ var globalDir = typeof document !== 'undefined'
90
+ ? document.documentElement.getAttribute('dir')
91
+ : null;
92
+ return scopedDir === 'rtl' || globalDir === 'rtl' ? 'rtl' : 'ltr';
93
+ };
94
+ var resolveEdgeProperty = function (edge, direction) {
95
+ if (direction === 'rtl') {
96
+ return edge === 'left' ? 'right' : 'left';
97
+ }
98
+ return edge;
99
+ };
100
+ var setStickyEdge = function (element, edge, offset, direction) {
101
+ var resolvedEdge = resolveEdgeProperty(edge, direction);
102
+ if (resolvedEdge === 'left') {
103
+ element.style.left = "".concat(offset, "px");
104
+ element.style.right = '';
105
+ }
106
+ else {
107
+ element.style.right = "".concat(offset, "px");
108
+ element.style.left = '';
109
+ }
110
+ };
111
+ var ensureStickyCell = function (element, className, zIndex) {
112
+ element.classList.add(LOCKED_CELL_CLASS, className);
113
+ element.style.position = 'sticky';
114
+ element.style.zIndex = String(zIndex);
115
+ };
116
+ var measureStickyHeaderHeight = function (theadElement) { return Math.round(theadElement.offsetHeight); };
117
+ /** Offset for top sticky body rows so they sit flush under a sticky header. */
118
+ var getStickyTopRowOffset = function (headerHeight, useCollapsedBorders) {
119
+ if (headerHeight <= 0) {
120
+ return 0;
121
+ }
122
+ // Collapsed row borders are shared between thead and the first tbody row.
123
+ return useCollapsedBorders ? headerHeight - 1 : headerHeight;
124
+ };
125
+ var markIntersectionZIndex = function (element) {
126
+ var isRowLocked = element.classList.contains(LOCKED_HEADER_CLASS) ||
127
+ element.classList.contains(LOCKED_TOP_ROW_CLASS) ||
128
+ element.classList.contains(LOCKED_BOTTOM_ROW_CLASS);
129
+ var isColumnLocked = element.classList.contains(LOCKED_LEFT_CLASS) ||
130
+ element.classList.contains(LOCKED_RIGHT_CLASS);
131
+ if (isRowLocked && isColumnLocked) {
132
+ element.style.zIndex = String(INTERSECTION_Z_INDEX);
133
+ }
134
+ };
135
+ var applyStickyHeader = function (theadElement, enabled, useSectionSticky) {
136
+ if (!enabled) {
137
+ return 0;
138
+ }
139
+ if (useSectionSticky) {
140
+ theadElement.classList.add(LOCKED_HEADER_SECTION_CLASS);
141
+ theadElement.style.position = 'sticky';
142
+ theadElement.style.top = '0';
143
+ theadElement.style.zIndex = String(HEADER_Z_INDEX);
144
+ Array.from(theadElement.rows).forEach(function (row) {
145
+ Array.from(row.cells).forEach(function (cell) {
146
+ var headerCell = cell;
147
+ headerCell.classList.add(LOCKED_CELL_CLASS, LOCKED_HEADER_CLASS);
148
+ });
149
+ });
150
+ return measureStickyHeaderHeight(theadElement);
151
+ }
152
+ var cumulativeTop = 0;
153
+ Array.from(theadElement.rows).forEach(function (row) {
154
+ var rowTop = cumulativeTop;
155
+ Array.from(row.cells).forEach(function (cell) {
156
+ var headerCell = cell;
157
+ ensureStickyCell(headerCell, LOCKED_HEADER_CLASS, HEADER_Z_INDEX);
158
+ headerCell.style.top = "".concat(rowTop, "px");
159
+ });
160
+ cumulativeTop += row.offsetHeight;
161
+ });
162
+ return cumulativeTop;
163
+ };
164
+ var applyStickyRows = function (tbodyElement, headerHeight, topCount, bottomCount, useCollapsedBorders) {
165
+ var rows = Array.from(tbodyElement.rows);
166
+ var topOffset = getStickyTopRowOffset(headerHeight, useCollapsedBorders);
167
+ rows.slice(0, topCount).forEach(function (row) {
168
+ var rowTop = topOffset;
169
+ Array.from(row.cells).forEach(function (cell) {
170
+ var td = cell;
171
+ ensureStickyCell(td, LOCKED_TOP_ROW_CLASS, ROW_Z_INDEX);
172
+ td.style.top = "".concat(rowTop, "px");
173
+ });
174
+ topOffset += row.offsetHeight;
175
+ });
176
+ var bottomOffset = 0;
177
+ rows
178
+ .slice(Math.max(0, rows.length - bottomCount))
179
+ .reverse()
180
+ .forEach(function (row) {
181
+ var rowBottom = bottomOffset;
182
+ Array.from(row.cells).forEach(function (cell) {
183
+ var td = cell;
184
+ ensureStickyCell(td, LOCKED_BOTTOM_ROW_CLASS, ROW_Z_INDEX);
185
+ td.style.bottom = "".concat(rowBottom, "px");
186
+ });
187
+ bottomOffset += row.offsetHeight;
188
+ });
189
+ };
190
+ var getColumnIndexMap = function (theadElement, config) {
191
+ var map = new Map();
192
+ var typedHeaders = Array.from(theadElement.querySelectorAll('th[data-kt-datatable-column]'));
193
+ if (typedHeaders.length > 0) {
194
+ typedHeaders.forEach(function (th, index) {
195
+ var column = th.getAttribute('data-kt-datatable-column');
196
+ if (column) {
197
+ map.set(column, index);
198
+ }
199
+ });
200
+ return map;
201
+ }
202
+ if (config.columns) {
203
+ Object.keys(config.columns).forEach(function (key, index) {
204
+ map.set(key, index);
205
+ });
206
+ }
207
+ return map;
208
+ };
209
+ var getColumnCells = function (tableElement, columnIndex) {
210
+ var cells = [];
211
+ tableElement.querySelectorAll('tr').forEach(function (row) {
212
+ var cell = row.children.item(columnIndex);
213
+ if (cell instanceof HTMLTableCellElement) {
214
+ cells.push(cell);
215
+ }
216
+ });
217
+ return cells;
218
+ };
219
+ var applyStickyColumns = function (tableElement, theadElement, config) {
220
+ var _a;
221
+ var lockedColumns = (_a = config.lockedLayout) === null || _a === void 0 ? void 0 : _a.stickyColumns;
222
+ if (!lockedColumns) {
223
+ return;
224
+ }
225
+ var direction = getDirection(tableElement);
226
+ var columnMap = getColumnIndexMap(theadElement, config);
227
+ var leftOffset = 0;
228
+ (lockedColumns.left || []).forEach(function (key) {
229
+ var index = columnMap.get(key);
230
+ if (typeof index !== 'number') {
231
+ return;
232
+ }
233
+ var cells = getColumnCells(tableElement, index);
234
+ if (cells.length === 0) {
235
+ return;
236
+ }
237
+ var width = cells[0].getBoundingClientRect().width;
238
+ cells.forEach(function (cell) {
239
+ ensureStickyCell(cell, LOCKED_LEFT_CLASS, COLUMN_Z_INDEX);
240
+ setStickyEdge(cell, 'left', leftOffset, direction);
241
+ });
242
+ leftOffset += width;
243
+ });
244
+ var rightOffset = 0;
245
+ __spreadArray([], (lockedColumns.right || []), true).reverse().forEach(function (key) {
246
+ var index = columnMap.get(key);
247
+ if (typeof index !== 'number') {
248
+ return;
249
+ }
250
+ var cells = getColumnCells(tableElement, index);
251
+ if (cells.length === 0) {
252
+ return;
253
+ }
254
+ var width = cells[0].getBoundingClientRect().width;
255
+ cells.forEach(function (cell) {
256
+ ensureStickyCell(cell, LOCKED_RIGHT_CLASS, COLUMN_Z_INDEX);
257
+ setStickyEdge(cell, 'right', rightOffset, direction);
258
+ });
259
+ rightOffset += width;
260
+ });
261
+ tableElement
262
+ .querySelectorAll(".".concat(LOCKED_CELL_CLASS))
263
+ .forEach(markIntersectionZIndex);
264
+ };
265
+ var createStickyLayoutPlugin = function () {
266
+ var resizeHandler = null;
267
+ var scrollContainerTarget = null;
268
+ var isApplying = false;
269
+ var applyLayout = function (ctx) {
270
+ var _a, _b;
271
+ if (isApplying || !hasLockedLayoutConfig(ctx.config)) {
272
+ return;
273
+ }
274
+ isApplying = true;
275
+ try {
276
+ var scrollContainer = getScrollContainer(ctx.rootElement);
277
+ clearStickyStyles(ctx.tableElement, scrollContainer);
278
+ ctx.tableElement.classList.add('kt-datatable-locked-layout');
279
+ scrollContainer.classList.add('kt-datatable-locked-layout-host');
280
+ if (hasStickyColumns(ctx.config)) {
281
+ ctx.tableElement.classList.add(LOCKED_LAYOUT_SEPARATE_CLASS);
282
+ ctx.tableElement.style.borderCollapse = 'separate';
283
+ ctx.tableElement.style.borderSpacing = '0';
284
+ }
285
+ var lockedLayout = ctx.config.lockedLayout || {};
286
+ var useCollapsedBorders = !hasStickyColumns(ctx.config);
287
+ var headerHeight = applyStickyHeader(ctx.theadElement, lockedLayout.stickyHeader === true, useCollapsedBorders);
288
+ applyStickyRows(ctx.tbodyElement, headerHeight, toPositiveInteger((_a = lockedLayout.stickyRows) === null || _a === void 0 ? void 0 : _a.top), toPositiveInteger((_b = lockedLayout.stickyRows) === null || _b === void 0 ? void 0 : _b.bottom), useCollapsedBorders);
289
+ applyStickyColumns(ctx.tableElement, ctx.theadElement, ctx.config);
290
+ }
291
+ finally {
292
+ isApplying = false;
293
+ }
294
+ };
295
+ var detachResizeListener = function () {
296
+ if (!resizeHandler) {
297
+ return;
298
+ }
299
+ window.removeEventListener('resize', resizeHandler);
300
+ if (scrollContainerTarget) {
301
+ scrollContainerTarget.removeEventListener('scroll', resizeHandler);
302
+ }
303
+ resizeHandler = null;
304
+ scrollContainerTarget = null;
305
+ };
306
+ return {
307
+ beforeDraw: function (ctx) {
308
+ var scrollContainer = getScrollContainer(ctx.rootElement);
309
+ clearStickyStyles(ctx.tableElement, scrollContainer);
310
+ },
311
+ afterDraw: function (ctx) {
312
+ detachResizeListener();
313
+ applyLayout(ctx);
314
+ // Throttle re-layout with rAF to avoid running on every resize/scroll event
315
+ var rafId = 0;
316
+ var throttledApply = function () {
317
+ if (rafId)
318
+ return;
319
+ rafId = requestAnimationFrame(function () {
320
+ rafId = 0;
321
+ applyLayout(ctx);
322
+ });
323
+ };
324
+ var scrollContainer = getScrollContainer(ctx.rootElement);
325
+ resizeHandler = throttledApply;
326
+ window.addEventListener('resize', resizeHandler);
327
+ scrollContainerTarget = scrollContainer;
328
+ scrollContainer.addEventListener('scroll', resizeHandler);
329
+ },
330
+ dispose: function (ctx) {
331
+ detachResizeListener();
332
+ var scrollContainer = getScrollContainer(ctx.rootElement);
333
+ clearStickyStyles(ctx.tableElement, scrollContainer);
334
+ },
335
+ };
336
+ };
337
+ exports.createStickyLayoutPlugin = createStickyLayoutPlugin;
338
+ //# sourceMappingURL=datatable-layout-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable-layout-plugin.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-layout-plugin.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { KTDataTableConfigInterface, KTDataTableDataInterface } from './types';
6
6
  import { KTDataTableDataProvider, KTDataTableLocalProviderElements, KTDataTableProviderResult, KTDataTableStateStore } from './datatable-contracts';
7
- interface KTDataTableLocalProviderOptions<T extends KTDataTableDataInterface> {
7
+ interface KTDataTableLocalProviderOptions {
8
8
  config: KTDataTableConfigInterface;
9
9
  elements: () => KTDataTableLocalProviderElements;
10
10
  getLogicalColumnCount: () => number;
@@ -13,7 +13,7 @@ interface KTDataTableLocalProviderOptions<T extends KTDataTableDataInterface> {
13
13
  }
14
14
  export declare class KTDataTableLocalDataProvider<T extends KTDataTableDataInterface> implements KTDataTableDataProvider<T> {
15
15
  private readonly options;
16
- constructor(options: KTDataTableLocalProviderOptions<T>);
16
+ constructor(options: KTDataTableLocalProviderOptions);
17
17
  fetch(): Promise<KTDataTableProviderResult<T>>;
18
18
  fetchSync(): KTDataTableProviderResult<T>;
19
19
  private localTableContentInvalidate;
@@ -1 +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;IA6DhD,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,wBAAwB;IA8ChC,OAAO,CAAC,0BAA0B;CAuBlC"}
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,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AA8B/B,UAAU,+BAA+B;IACxC,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;IAExD,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAIpD,SAAS,IAAI,yBAAyB,CAAC,CAAC,CAAC;IAkFhD,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,wBAAwB;IAsChC,OAAO,CAAC,0BAA0B;CA0BlC"}
@@ -62,6 +62,34 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
62
  Object.defineProperty(exports, "__esModule", { value: true });
63
63
  exports.KTDataTableLocalDataProvider = void 0;
64
64
  var utils_1 = require("../../helpers/utils");
65
+ var datatable_column_utils_1 = require("./datatable-column-utils");
66
+ var datatable_utils_1 = require("./datatable-utils");
67
+ var FILTER_MATCHERS = {
68
+ text: function (cellValue, filterValue) {
69
+ if (!filterValue)
70
+ return true;
71
+ return (0, datatable_utils_1.stripHtml)(cellValue)
72
+ .toLowerCase()
73
+ .includes(String(filterValue).toLowerCase());
74
+ },
75
+ numeric: function (cellValue, filterValue) {
76
+ var num = parseFloat(String(cellValue !== null && cellValue !== void 0 ? cellValue : '').replace(/[^0-9.-]/g, ''));
77
+ return !Number.isNaN(num) && num === filterValue;
78
+ },
79
+ dateRange: function (cellValue, filterValue) {
80
+ var range = filterValue;
81
+ if (!(range === null || range === void 0 ? void 0 : range.from) && !(range === null || range === void 0 ? void 0 : range.to))
82
+ return true;
83
+ var cellDate = new Date(String(cellValue !== null && cellValue !== void 0 ? cellValue : ''));
84
+ if (Number.isNaN(cellDate.getTime()))
85
+ return false;
86
+ if (range.from && cellDate < new Date(range.from))
87
+ return false;
88
+ if (range.to && cellDate > new Date(range.to))
89
+ return false;
90
+ return true;
91
+ },
92
+ };
65
93
  var KTDataTableLocalDataProvider = /** @class */ (function () {
66
94
  function KTDataTableLocalDataProvider(options) {
67
95
  this.options = options;
@@ -77,11 +105,13 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
77
105
  var _a, _b;
78
106
  var state = this.options.stateStore.getState();
79
107
  var originalData = state.originalData;
108
+ var skipDomInvalidation = Boolean(this.options.config.lockedLayout || this.options.config.layoutPlugin);
80
109
  if (!this.options.elements().tableElement ||
81
110
  originalData === undefined ||
82
- this.tableConfigInvalidate() ||
83
- this.localTableHeaderInvalidate() ||
84
- this.localTableContentInvalidate()) {
111
+ (!skipDomInvalidation &&
112
+ (this.tableConfigInvalidate() ||
113
+ this.localTableHeaderInvalidate() ||
114
+ this.localTableContentInvalidate()))) {
85
115
  var _c = this.localExtractTableContent(), originalData_1 = _c.originalData, originalDataAttributes = _c.originalDataAttributes;
86
116
  this.options.stateStore.setOriginalData(originalData_1, originalDataAttributes);
87
117
  }
@@ -96,6 +126,17 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
96
126
  filteredData = data = searchCallback.call(this, data, searchTerm);
97
127
  }
98
128
  }
129
+ // Apply column filters
130
+ var filters = this.options.stateStore.getState().filters;
131
+ if (filters && filters.length > 0) {
132
+ filteredData = data = data.filter(function (item) {
133
+ return filters.every(function (filter) {
134
+ var cellValue = item[filter.column];
135
+ var matcher = FILTER_MATCHERS[filter.type];
136
+ return matcher ? matcher(cellValue, filter.value) : true;
137
+ });
138
+ });
139
+ }
99
140
  var sortCallback = (_b = this.options.config.sort) === null || _b === void 0 ? void 0 : _b.callback;
100
141
  if (sortField !== undefined &&
101
142
  sortOrder !== undefined &&
@@ -114,9 +155,27 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
114
155
  };
115
156
  };
116
157
  KTDataTableLocalDataProvider.prototype.localTableContentInvalidate = function () {
158
+ var _a, _b;
117
159
  var tbodyElement = this.options.elements().tbodyElement;
118
160
  var checksum = utils_1.default.checksum(JSON.stringify(tbodyElement.innerHTML));
119
161
  if (this.options.stateStore.getState()._contentChecksum !== checksum) {
162
+ var domRowCount = tbodyElement.querySelectorAll('tr').length;
163
+ var storedRowCount = (_b = (_a = this.options.stateStore.getState().originalData) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
164
+ // Programmatic dataset with an empty tbody must not re-import from the DOM.
165
+ if (domRowCount === 0 && storedRowCount > 0) {
166
+ return false;
167
+ }
168
+ // After pagination redraw the tbody only holds the current page. A checksum
169
+ // mismatch there must not shrink originalData to pageSize rows.
170
+ if (storedRowCount > 0 &&
171
+ domRowCount > 0 &&
172
+ domRowCount < storedRowCount) {
173
+ var pageSize = this.options.stateStore.getState().pageSize;
174
+ if (domRowCount <= pageSize) {
175
+ this.options.stateStore.patchState({ _contentChecksum: checksum });
176
+ return false;
177
+ }
178
+ }
120
179
  this.options.stateStore.patchState({ _contentChecksum: checksum });
121
180
  return true;
122
181
  }
@@ -126,9 +185,13 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
126
185
  var _a;
127
186
  var _b = this.options.config, _state = _b._state, restConfig = __rest(_b, ["_state"]);
128
187
  var checksum = utils_1.default.checksum(JSON.stringify(restConfig));
129
- if (((_a = _state === null || _state === void 0 ? void 0 : _state._configChecksum) !== null && _a !== void 0 ? _a : '') !== checksum) {
188
+ var previousChecksum = (_a = _state === null || _state === void 0 ? void 0 : _state._configChecksum) !== null && _a !== void 0 ? _a : '';
189
+ if (previousChecksum !== checksum) {
130
190
  this.options.stateStore.patchState({ _configChecksum: checksum });
131
- return true;
191
+ // First load skips this check (originalData === undefined). On the first
192
+ // pagination fetch, previousChecksum is still empty — record it but do
193
+ // not re-extract from the paginated DOM (that would shrink originalData).
194
+ return previousChecksum !== '';
132
195
  }
133
196
  return false;
134
197
  };
@@ -138,13 +201,7 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
138
201
  var _a = this.options.elements(), tbodyElement = _a.tbodyElement, theadElement = _a.theadElement;
139
202
  this.options.storeOriginalClasses();
140
203
  var rows = tbodyElement.querySelectorAll('tr');
141
- var allThs = theadElement
142
- ? theadElement.querySelectorAll('th')
143
- : [];
144
- var ths = Array.from(allThs).filter(function (th) {
145
- return th.hasAttribute('data-kt-datatable-column');
146
- });
147
- var columnsByIndex = ths.length > 0 && ths.length !== allThs.length ? Array.from(allThs) : ths;
204
+ var columnsByIndex = (0, datatable_column_utils_1.resolveColumns)(theadElement).columnsByIndex;
148
205
  rows.forEach(function (row) {
149
206
  var dataRow = {};
150
207
  var dataRowAttribute = {};
@@ -167,22 +224,23 @@ var KTDataTableLocalDataProvider = /** @class */ (function () {
167
224
  };
168
225
  KTDataTableLocalDataProvider.prototype.localTableHeaderInvalidate = function () {
169
226
  var originalData = this.options.stateStore.getState().originalData;
227
+ if (!(originalData === null || originalData === void 0 ? void 0 : originalData.length)) {
228
+ return false;
229
+ }
170
230
  var theadElement = this.options.elements().theadElement;
171
- var totalColumns = originalData.length
172
- ? Object.keys(originalData[0]).length
173
- : 0;
174
- var allThs = theadElement
175
- ? theadElement.querySelectorAll('th')
176
- : [];
177
- var thsWithColumn = Array.from(allThs).filter(function (th) {
178
- return th.hasAttribute('data-kt-datatable-column');
179
- });
180
- var currentTableHeaders = thsWithColumn.length > 0
181
- ? thsWithColumn.length !== allThs.length
182
- ? allThs.length
183
- : thsWithColumn.length
184
- : this.options.getLogicalColumnCount();
185
- return currentTableHeaders !== totalColumns;
231
+ var typedThs = (0, datatable_column_utils_1.resolveColumns)(theadElement).typedThs;
232
+ if (typedThs.length === 0) {
233
+ return (this.options.getLogicalColumnCount() !==
234
+ Object.keys(originalData[0]).length);
235
+ }
236
+ var typedColumnNames = typedThs
237
+ .map(function (th) { return th.getAttribute('data-kt-datatable-column'); })
238
+ .filter(function (name) { return Boolean(name); });
239
+ var dataColumnKeys = Object.keys(originalData[0]);
240
+ var matchingTypedColumns = typedColumnNames.filter(function (name) {
241
+ return dataColumnKeys.includes(name);
242
+ }).length;
243
+ return typedColumnNames.length !== matchingTypedColumns;
186
244
  };
187
245
  return KTDataTableLocalDataProvider;
188
246
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-local-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-local-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable-local-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-local-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +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;IAqB5B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,uBAAuB;IA4F/B,OAAO,CAAC,kBAAkB;CAqB1B"}
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;AAG/B,qBAAa,gCAAiC,YAAW,6BAA6B;IAC9E,MAAM,CACZ,KAAK,EAAE,kCAAkC,GACvC,kBAAkB,GAAG,IAAI;IAsB5B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,uBAAuB;IA4F/B,OAAO,CAAC,kBAAkB;CAqB1B"}