@keenthemes/ktui 1.2.4 → 1.2.6

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 (152) hide show
  1. package/dist/ktui.js +2551 -2817
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +136 -40
  5. package/lib/cjs/components/datatable/datatable-checkbox.d.ts.map +1 -1
  6. package/lib/cjs/components/datatable/datatable-checkbox.js +34 -15
  7. package/lib/cjs/components/datatable/datatable-checkbox.js.map +1 -1
  8. package/lib/cjs/components/datatable/datatable-contracts.d.ts +3 -3
  9. package/lib/cjs/components/datatable/datatable-contracts.d.ts.map +1 -1
  10. package/lib/cjs/components/datatable/datatable-layout-plugin.d.ts +7 -0
  11. package/lib/cjs/components/datatable/datatable-layout-plugin.d.ts.map +1 -0
  12. package/lib/cjs/components/datatable/datatable-layout-plugin.js +328 -0
  13. package/lib/cjs/components/datatable/datatable-layout-plugin.js.map +1 -0
  14. package/lib/cjs/components/datatable/datatable-local-provider.d.ts +2 -2
  15. package/lib/cjs/components/datatable/datatable-local-provider.d.ts.map +1 -1
  16. package/lib/cjs/components/datatable/datatable-local-provider.js +18 -10
  17. package/lib/cjs/components/datatable/datatable-local-provider.js.map +1 -1
  18. package/lib/cjs/components/datatable/datatable-pagination-renderer.d.ts.map +1 -1
  19. package/lib/cjs/components/datatable/datatable-pagination-renderer.js +40 -25
  20. package/lib/cjs/components/datatable/datatable-pagination-renderer.js.map +1 -1
  21. package/lib/cjs/components/datatable/datatable-remote-provider.d.ts.map +1 -1
  22. package/lib/cjs/components/datatable/datatable-remote-provider.js +3 -0
  23. package/lib/cjs/components/datatable/datatable-remote-provider.js.map +1 -1
  24. package/lib/cjs/components/datatable/datatable-table-renderer.d.ts.map +1 -1
  25. package/lib/cjs/components/datatable/datatable-table-renderer.js +14 -6
  26. package/lib/cjs/components/datatable/datatable-table-renderer.js.map +1 -1
  27. package/lib/cjs/components/datatable/datatable.d.ts +9 -0
  28. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -1
  29. package/lib/cjs/components/datatable/datatable.js +200 -61
  30. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  31. package/lib/cjs/components/datatable/index.d.ts +1 -1
  32. package/lib/cjs/components/datatable/index.d.ts.map +1 -1
  33. package/lib/cjs/components/datatable/types.d.ts +27 -0
  34. package/lib/cjs/components/datatable/types.d.ts.map +1 -1
  35. package/lib/cjs/components/dropdown/dropdown.d.ts +2 -2
  36. package/lib/cjs/components/dropdown/dropdown.d.ts.map +1 -1
  37. package/lib/cjs/components/dropdown/dropdown.js +68 -31
  38. package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
  39. package/lib/cjs/components/input-number/index.d.ts +7 -0
  40. package/lib/cjs/components/input-number/index.d.ts.map +1 -0
  41. package/lib/cjs/components/input-number/index.js +10 -0
  42. package/lib/cjs/components/input-number/index.js.map +1 -0
  43. package/lib/cjs/components/input-number/input-number.d.ts +40 -0
  44. package/lib/cjs/components/input-number/input-number.d.ts.map +1 -0
  45. package/lib/cjs/components/input-number/input-number.js +248 -0
  46. package/lib/cjs/components/input-number/input-number.js.map +1 -0
  47. package/lib/cjs/components/input-number/types.d.ts +30 -0
  48. package/lib/cjs/components/input-number/types.d.ts.map +1 -0
  49. package/lib/cjs/components/input-number/types.js +7 -0
  50. package/lib/cjs/components/input-number/types.js.map +1 -0
  51. package/lib/cjs/components/select/config.d.ts +1 -0
  52. package/lib/cjs/components/select/config.d.ts.map +1 -1
  53. package/lib/cjs/components/select/config.js +2 -1
  54. package/lib/cjs/components/select/config.js.map +1 -1
  55. package/lib/cjs/components/select/select.d.ts +8 -1
  56. package/lib/cjs/components/select/select.d.ts.map +1 -1
  57. package/lib/cjs/components/select/select.js +14 -1
  58. package/lib/cjs/components/select/select.js.map +1 -1
  59. package/lib/cjs/components/select/tags.d.ts.map +1 -1
  60. package/lib/cjs/components/select/tags.js +10 -0
  61. package/lib/cjs/components/select/tags.js.map +1 -1
  62. package/lib/cjs/index.d.ts +5 -1
  63. package/lib/cjs/index.d.ts.map +1 -1
  64. package/lib/cjs/index.js +5 -1
  65. package/lib/cjs/index.js.map +1 -1
  66. package/lib/esm/components/datatable/datatable-checkbox.d.ts.map +1 -1
  67. package/lib/esm/components/datatable/datatable-checkbox.js +34 -15
  68. package/lib/esm/components/datatable/datatable-checkbox.js.map +1 -1
  69. package/lib/esm/components/datatable/datatable-contracts.d.ts +3 -3
  70. package/lib/esm/components/datatable/datatable-contracts.d.ts.map +1 -1
  71. package/lib/esm/components/datatable/datatable-layout-plugin.d.ts +7 -0
  72. package/lib/esm/components/datatable/datatable-layout-plugin.d.ts.map +1 -0
  73. package/lib/esm/components/datatable/datatable-layout-plugin.js +324 -0
  74. package/lib/esm/components/datatable/datatable-layout-plugin.js.map +1 -0
  75. package/lib/esm/components/datatable/datatable-local-provider.d.ts +2 -2
  76. package/lib/esm/components/datatable/datatable-local-provider.d.ts.map +1 -1
  77. package/lib/esm/components/datatable/datatable-local-provider.js +18 -10
  78. package/lib/esm/components/datatable/datatable-local-provider.js.map +1 -1
  79. package/lib/esm/components/datatable/datatable-pagination-renderer.d.ts.map +1 -1
  80. package/lib/esm/components/datatable/datatable-pagination-renderer.js +40 -25
  81. package/lib/esm/components/datatable/datatable-pagination-renderer.js.map +1 -1
  82. package/lib/esm/components/datatable/datatable-remote-provider.d.ts.map +1 -1
  83. package/lib/esm/components/datatable/datatable-remote-provider.js +3 -0
  84. package/lib/esm/components/datatable/datatable-remote-provider.js.map +1 -1
  85. package/lib/esm/components/datatable/datatable-table-renderer.d.ts.map +1 -1
  86. package/lib/esm/components/datatable/datatable-table-renderer.js +14 -6
  87. package/lib/esm/components/datatable/datatable-table-renderer.js.map +1 -1
  88. package/lib/esm/components/datatable/datatable.d.ts +9 -0
  89. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  90. package/lib/esm/components/datatable/datatable.js +200 -61
  91. package/lib/esm/components/datatable/datatable.js.map +1 -1
  92. package/lib/esm/components/datatable/index.d.ts +1 -1
  93. package/lib/esm/components/datatable/index.d.ts.map +1 -1
  94. package/lib/esm/components/datatable/types.d.ts +27 -0
  95. package/lib/esm/components/datatable/types.d.ts.map +1 -1
  96. package/lib/esm/components/dropdown/dropdown.d.ts +2 -2
  97. package/lib/esm/components/dropdown/dropdown.d.ts.map +1 -1
  98. package/lib/esm/components/dropdown/dropdown.js +68 -31
  99. package/lib/esm/components/dropdown/dropdown.js.map +1 -1
  100. package/lib/esm/components/input-number/index.d.ts +7 -0
  101. package/lib/esm/components/input-number/index.d.ts.map +1 -0
  102. package/lib/esm/components/input-number/index.js +6 -0
  103. package/lib/esm/components/input-number/index.js.map +1 -0
  104. package/lib/esm/components/input-number/input-number.d.ts +40 -0
  105. package/lib/esm/components/input-number/input-number.d.ts.map +1 -0
  106. package/lib/esm/components/input-number/input-number.js +245 -0
  107. package/lib/esm/components/input-number/input-number.js.map +1 -0
  108. package/lib/esm/components/input-number/types.d.ts +30 -0
  109. package/lib/esm/components/input-number/types.d.ts.map +1 -0
  110. package/lib/esm/components/input-number/types.js +6 -0
  111. package/lib/esm/components/input-number/types.js.map +1 -0
  112. package/lib/esm/components/select/config.d.ts +1 -0
  113. package/lib/esm/components/select/config.d.ts.map +1 -1
  114. package/lib/esm/components/select/config.js +2 -1
  115. package/lib/esm/components/select/config.js.map +1 -1
  116. package/lib/esm/components/select/select.d.ts +8 -1
  117. package/lib/esm/components/select/select.d.ts.map +1 -1
  118. package/lib/esm/components/select/select.js +14 -1
  119. package/lib/esm/components/select/select.js.map +1 -1
  120. package/lib/esm/components/select/tags.d.ts.map +1 -1
  121. package/lib/esm/components/select/tags.js +11 -1
  122. package/lib/esm/components/select/tags.js.map +1 -1
  123. package/lib/esm/index.d.ts +5 -1
  124. package/lib/esm/index.d.ts.map +1 -1
  125. package/lib/esm/index.js +3 -0
  126. package/lib/esm/index.js.map +1 -1
  127. package/package.json +5 -11
  128. package/src/components/datatable/__tests__/locked-layout.test.ts +257 -0
  129. package/src/components/datatable/__tests__/pagination-reset.test.ts +18 -0
  130. package/src/components/datatable/datatable-checkbox.ts +35 -27
  131. package/src/components/datatable/datatable-contracts.ts +3 -3
  132. package/src/components/datatable/datatable-layout-plugin.ts +449 -0
  133. package/src/components/datatable/datatable-local-provider.ts +21 -14
  134. package/src/components/datatable/datatable-pagination-renderer.ts +40 -29
  135. package/src/components/datatable/datatable-remote-provider.ts +3 -0
  136. package/src/components/datatable/datatable-table-renderer.ts +40 -32
  137. package/src/components/datatable/datatable.css +98 -0
  138. package/src/components/datatable/datatable.ts +223 -86
  139. package/src/components/datatable/index.ts +5 -0
  140. package/src/components/datatable/types.ts +33 -0
  141. package/src/components/dropdown/dropdown.ts +86 -58
  142. package/src/components/input/input-group.css +14 -1
  143. package/src/components/input-number/__tests__/input-number.test.ts +278 -0
  144. package/src/components/input-number/index.ts +11 -0
  145. package/src/components/input-number/input-number.ts +267 -0
  146. package/src/components/input-number/types.ts +32 -0
  147. package/src/components/select/__tests__/ux-behaviors.test.ts +72 -0
  148. package/src/components/select/config.ts +3 -1
  149. package/src/components/select/select.css +23 -20
  150. package/src/components/select/select.ts +15 -1
  151. package/src/components/select/tags.ts +14 -1
  152. package/src/index.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-remote-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEN,0BAA0B,EAC1B,wBAAwB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU,gCAAgC;IACzC,MAAM,EAAE,0BAA0B,CAAC;IACnC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,6BAA6B,CACzC,CAAC,SAAS,wBAAwB,CACjC,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAK;gBAEO,OAAO,EAAE,gCAAgC;IAE/D,OAAO,IAAI,IAAI;IAOT,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAiD3D,OAAO,CAAC,6BAA6B;YA2CvB,mBAAmB;CA0CjC"}
1
+ {"version":3,"file":"datatable-remote-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEN,0BAA0B,EAC1B,wBAAwB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU,gCAAgC;IACzC,MAAM,EAAE,0BAA0B,CAAC;IACnC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,6BAA6B,CACzC,CAAC,SAAS,wBAAwB,CACjC,YAAW,uBAAuB,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAK;gBAEO,OAAO,EAAE,gCAAgC;IAE/D,OAAO,IAAI,IAAI;IAOT,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAiD3D,OAAO,CAAC,6BAA6B;YA2CvB,mBAAmB;CA6CjC"}
@@ -154,6 +154,9 @@ var KTDataTableRemoteDataProvider = /** @class */ (function () {
154
154
  requestMethod = this.options.config.requestMethod;
155
155
  requestBody = undefined;
156
156
  apiEndpoint = this.options.config.apiEndpoint;
157
+ if (!apiEndpoint) {
158
+ throw new Error('KTDataTable: apiEndpoint is required for remote fetch');
159
+ }
157
160
  if (this.abortController) {
158
161
  this.abortController.abort();
159
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-remote-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBH;IAMC,uCAA6B,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;QAH9D,oBAAe,GAA2B,IAAI,CAAC;QAC/C,cAAS,GAAG,CAAC,CAAC;IAEmD,CAAC;IAEnE,+CAAO,GAAd;QACC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,CAAC;IACF,CAAC;IAEY,6CAAK,GAAlB;;;;;;wBACO,gBAAgB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpC,WAAW,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;;;;wBAI7C,qBAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAA;;wBAAtD,QAAQ,GAAG,SAA2C,CAAC;;;;wBAEvD,IAAK,OAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BAC5C,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBACD,MAAM,OAAK,CAAC;;wBAGb,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;4BACzC,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBAEG,YAAY,GAAG,IAAI,CAAC;;;;wBAGR,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAApC,YAAY,GAAG,SAAqB,CAAC;;;;wBAErC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;4BAC5C,QAAQ,UAAA;4BACR,KAAK,EAAE,MAAM,CAAC,OAAK,CAAC;4BACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;yBAC/B,CAAC,CAAC;wBACH,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;;wBAGnD,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;4BACzC,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;wBAEtE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;4BAC3D,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACzE,CAAC;wBAED,sBAAO;gCACN,IAAI,EAAE,YAAY,CAAC,IAAW;gCAC9B,UAAU,EAAE,YAAY,CAAC,UAAU;gCACnC,QAAQ,EAAE,YAAY;6BACtB,EAAC;;;;KACF;IAEO,qEAA6B,GAArC;QACO,IAAA,KACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAD3B,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAC1B,CAAC;QAEpC,IAAI,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,WAAW,CAAC,GAAG,CACd,SAAS,EACT,IAAI,CAAC,SAAS,CACb,OAAO,CAAC,GAAG,CAAC,UAAC,MAAwC,IAAK,OAAA,CAAC;gBAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC,EAJwD,CAIxD,CAAC,CACH,CACD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,WAAW,CAAC,GAAG,CACd,QAAQ,EACR,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;QACH,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC1D,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAEa,2DAAmB,GAAjC,UACC,WAA4B;;;;;gBAEtB,aAAa,GAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/B,WAAW,GAAoC,SAAS,CAAC;gBACzD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBAElD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;gBAE7C,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBAC9B,WAAW,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;oBAC9B,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBACvE,0BAA0B,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAC3D,WAAW,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC;gBACrD,CAAC;gBAED,sBAAO,KAAK,CAAC,WAAW,sBACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,IACxC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI;wBAC7C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB;qBACnD,CAAC,GACC,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EACnE,CAAC,KAAK,CAAC,UAAC,KAAK;wBACd,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACjC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;wBAED,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;wBACnD,KAAI,CAAC,OAAO,CAAC,aAAa,CACzB,kCAAkC,GAAG,MAAM,CAAC,KAAK,CAAC,CAClD,CAAC;wBACF,MAAM,KAAK,CAAC;oBACb,CAAC,CAAC,EAAC;;;KACH;IACF,oCAAC;AAAD,CAAC,AArJD,IAqJC"}
1
+ {"version":3,"file":"datatable-remote-provider.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-remote-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBH;IAMC,uCAA6B,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;QAH9D,oBAAe,GAA2B,IAAI,CAAC;QAC/C,cAAS,GAAG,CAAC,CAAC;IAEmD,CAAC;IAEnE,+CAAO,GAAd;QACC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,CAAC;IACF,CAAC;IAEY,6CAAK,GAAlB;;;;;;wBACO,gBAAgB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpC,WAAW,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;;;;wBAI7C,qBAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAA;;wBAAtD,QAAQ,GAAG,SAA2C,CAAC;;;;wBAEvD,IAAK,OAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BAC5C,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBACD,MAAM,OAAK,CAAC;;wBAGb,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;4BACzC,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBAEG,YAAY,GAAG,IAAI,CAAC;;;;wBAGR,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAApC,YAAY,GAAG,SAAqB,CAAC;;;;wBAErC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;4BAC5C,QAAQ,UAAA;4BACR,KAAK,EAAE,MAAM,CAAC,OAAK,CAAC;4BACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;yBAC/B,CAAC,CAAC;wBACH,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;;wBAGnD,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;4BACzC,sBAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC;wBACnD,CAAC;wBAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;wBAEtE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;4BAC3D,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBACzE,CAAC;wBAED,sBAAO;gCACN,IAAI,EAAE,YAAY,CAAC,IAAW;gCAC9B,UAAU,EAAE,YAAY,CAAC,UAAU;gCACnC,QAAQ,EAAE,YAAY;6BACtB,EAAC;;;;KACF;IAEO,qEAA6B,GAArC;QACO,IAAA,KACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAD3B,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAC1B,CAAC;QAEpC,IAAI,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,WAAW,CAAC,GAAG,CACd,SAAS,EACT,IAAI,CAAC,SAAS,CACb,OAAO,CAAC,GAAG,CAAC,UAAC,MAAwC,IAAK,OAAA,CAAC;gBAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC,EAJwD,CAIxD,CAAC,CACH,CACD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,WAAW,CAAC,GAAG,CACd,QAAQ,EACR,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;QACH,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC1D,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAEa,2DAAmB,GAAjC,UACC,WAA4B;;;;;gBAEtB,aAAa,GAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/B,WAAW,GAAoC,SAAS,CAAC;gBACzD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClD,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;gBAE7C,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBAC9B,WAAW,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;oBAC9B,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBACvE,0BAA0B,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAC3D,WAAW,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC;gBACrD,CAAC;gBAED,sBAAO,KAAK,CAAC,WAAW,sBACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,IACxC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,IAAI;wBAC7C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB;qBACnD,CAAC,GACC,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EACnE,CAAC,KAAK,CAAC,UAAC,KAAK;wBACd,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACjC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;wBAED,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;wBACnD,KAAI,CAAC,OAAO,CAAC,aAAa,CACzB,kCAAkC,GAAG,MAAM,CAAC,KAAK,CAAC,CAClD,CAAC;wBACF,MAAM,KAAK,CAAC;oBACb,CAAC,CAAC,EAAC;;;KACH;IACF,oCAAC;AAAD,CAAC,AAxJD,IAwJC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-table-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-table-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACN,wBAAwB,EAExB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,2BAA2B,CACvC,CAAC,SAAS,wBAAwB,CACjC,YAAW,wBAAwB,CAAC,CAAC,CAAC;IAChC,MAAM,CACZ,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GACrC,uBAAuB;IAiBnB,MAAM,CACZ,YAAY,EAAE,gBAAgB,EAC9B,qBAAqB,EAAE,MAAM,MAAM,EACnC,OAAO,GAAE,MAAW,GAClB,IAAI;IAQP,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,uBAAuB;IAyC/B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,sBAAsB;CAW9B"}
1
+ {"version":3,"file":"datatable-table-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-table-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACN,wBAAwB,EAExB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,2BAA2B,CACvC,CAAC,SAAS,wBAAwB,CACjC,YAAW,wBAAwB,CAAC,CAAC,CAAC;IAChC,MAAM,CACZ,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC,GACrC,uBAAuB;IAiBnB,MAAM,CACZ,YAAY,EAAE,gBAAgB,EAC9B,qBAAqB,EAAE,MAAM,MAAM,EACnC,OAAO,GAAE,MAAW,GAClB,IAAI;IAQP,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,uBAAuB;IAiD/B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,sBAAsB;CAW9B"}
@@ -81,18 +81,26 @@ var KTDataTableDomTableRenderer = /** @class */ (function () {
81
81
  }
82
82
  td.innerHTML = value;
83
83
  this.applyOriginalTdClass(input, td, rowIndex, colIndex);
84
- this.applyDataRowAttributes(td, dataRowAttributes, colIndex);
84
+ this.applyDataRowAttributes(td, dataRowAttributes !== null && dataRowAttributes !== void 0 ? dataRowAttributes : null, colIndex);
85
85
  row.appendChild(td);
86
86
  }
87
87
  };
88
88
  KTDataTableDomTableRenderer.prototype.renderConfiguredColumns = function (input, row, item, rowIndex) {
89
89
  var _this = this;
90
- Object.keys(input.config.columns).forEach(function (key, colIndex) {
90
+ var columns = input.config.columns;
91
+ if (!columns) {
92
+ return;
93
+ }
94
+ Object.keys(columns).forEach(function (key, colIndex) {
95
+ var columnDef = columns[key];
96
+ if (!columnDef) {
97
+ return;
98
+ }
99
+ var colKey = key;
91
100
  var td = document.createElement('td');
92
- var columnDef = input.config.columns[key];
93
101
  _this.applyOriginalTdClass(input, td, rowIndex, colIndex);
94
102
  if (typeof columnDef.render === 'function') {
95
- var result = columnDef.render.call(input.context, item[key], item, input.context);
103
+ var result = columnDef.render.call(input.context, item[colKey], item, input.context);
96
104
  if (result instanceof HTMLElement ||
97
105
  result instanceof DocumentFragment) {
98
106
  td.appendChild(result);
@@ -102,10 +110,10 @@ var KTDataTableDomTableRenderer = /** @class */ (function () {
102
110
  }
103
111
  }
104
112
  else {
105
- td.textContent = item[key];
113
+ td.textContent = item[colKey];
106
114
  }
107
115
  if (typeof columnDef.createdCell === 'function') {
108
- columnDef.createdCell.call(input.context, td, item[key], item, row);
116
+ columnDef.createdCell.call(input.context, td, item[colKey], item, row);
109
117
  }
110
118
  row.appendChild(td);
111
119
  });
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-table-renderer.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-table-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable-table-renderer.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-table-renderer.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare class KTDataTable<T extends KTDataTableDataInterface> extends KTC
32
32
  private _paginationElement;
33
33
  private _checkbox;
34
34
  private _sortHandler;
35
+ private _layoutPlugin;
35
36
  private _eventAdapter;
36
37
  private _stateStore;
37
38
  private _localProvider;
@@ -44,6 +45,14 @@ export declare class KTDataTable<T extends KTDataTableDataInterface> extends KTC
44
45
  constructor(element: HTMLElement, config?: KTDataTableConfigInterface);
45
46
  private _emit;
46
47
  private _initDataProviders;
48
+ private _createLayoutPlugin;
49
+ /**
50
+ * Apply config from a late constructor call (e.g. docs demo script after auto-init).
51
+ */
52
+ private _applyRuntimeConfig;
53
+ private _normalizePageSizeConfig;
54
+ private _normalizePageState;
55
+ private _getLayoutPluginContext;
47
56
  /**
48
57
  * Initialize default configuration for the datatable
49
58
  * @param config User-provided configuration options
@@ -1 +1 @@
1
- {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable.ts"],"names":[],"mappings":"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"}
@@ -69,12 +69,14 @@ import KTComponents from '../../index';
69
69
  import KTData from '../../helpers/data';
70
70
  import { createCheckboxHandler, } from './datatable-checkbox';
71
71
  import { createSortHandler } from './datatable-sort';
72
+ import { createStickyLayoutPlugin } from './datatable-layout-plugin';
72
73
  import { createDataTableEventAdapter } from './datatable-event-adapter';
73
74
  import { KTDataTableLocalDataProvider } from './datatable-local-provider';
74
75
  import { KTDataTableRemoteDataProvider } from './datatable-remote-provider';
75
76
  import { KTDataTableConfigStateStore } from './datatable-state-store';
76
77
  import { KTDataTableDomPaginationRenderer } from './datatable-pagination-renderer';
77
78
  import { KTDataTableDomTableRenderer } from './datatable-table-renderer';
79
+ import KTUtils from '../../helpers/utils';
78
80
  /**
79
81
  * Custom DataTable plugin class with server-side API, pagination, and sorting
80
82
  * @classdesc A custom KTComponent class that integrates server-side API, pagination, and sorting functionality into a table.
@@ -94,25 +96,37 @@ var KTDataTable = /** @class */ (function (_super) {
94
96
  _this._originalTheadClass = ''; // Store original thead class
95
97
  _this._originalTdClasses = []; // Store original td classes as a 2D array [row][col]
96
98
  _this._originalThClasses = []; // Store original th classes
99
+ _this._infoElement = null;
100
+ _this._sizeElement = null;
101
+ _this._paginationElement = null;
102
+ _this._layoutPlugin = null;
97
103
  _this._cleanupCallbacks = [];
98
104
  _this._data = [];
99
105
  _this._isFetching = false;
100
106
  if (KTData.has(element, _this._name)) {
101
- // Already initialized (e.g. by createInstances). Merge user config so columns/sortType etc. apply.
107
+ // Already initialized (e.g. by createInstances). Merge demo config and redraw once.
102
108
  var existing = KTDataTable.getInstance(element);
103
109
  if (existing && config) {
104
- existing._mergeConfig(config);
110
+ existing._applyRuntimeConfig(config);
105
111
  }
106
112
  return _this;
107
113
  }
108
114
  _this._defaultConfig = _this._initDefaultConfig(config);
109
115
  _this._init(element);
116
+ if (!_this._element) {
117
+ return _this;
118
+ }
119
+ if (!_this._element.hasAttribute('data-kt-datatable')) {
120
+ _this._element.setAttribute('data-kt-datatable', 'true');
121
+ }
110
122
  _this._buildConfig();
123
+ _this._normalizePageSizeConfig();
111
124
  _this._stateStore = new KTDataTableConfigStateStore(_this._config);
112
125
  _this._eventAdapter = createDataTableEventAdapter(_this._fireEvent.bind(_this), _this._dispatchEvent.bind(_this));
113
126
  // Store the instance directly on the element
114
127
  KTDataTable.asElementWithInstance(element).instance = _this;
115
128
  _this._initElements();
129
+ _this._layoutPlugin = _this._createLayoutPlugin();
116
130
  _this._tableRenderer = new KTDataTableDomTableRenderer();
117
131
  _this._paginationRenderer = new KTDataTableDomPaginationRenderer();
118
132
  _this._initDataProviders();
@@ -131,6 +145,7 @@ var KTDataTable = /** @class */ (function (_super) {
131
145
  }
132
146
  if (_this._config.stateSave) {
133
147
  _this._loadState();
148
+ _this._normalizePageState();
134
149
  }
135
150
  _this._updateData();
136
151
  _this._emit('init');
@@ -166,6 +181,60 @@ var KTDataTable = /** @class */ (function (_super) {
166
181
  stateStore: this._stateStore,
167
182
  });
168
183
  };
184
+ KTDataTable.prototype._createLayoutPlugin = function () {
185
+ if (this._config.layoutPlugin) {
186
+ return this._config.layoutPlugin;
187
+ }
188
+ if (this._config.lockedLayout) {
189
+ return createStickyLayoutPlugin();
190
+ }
191
+ return null;
192
+ };
193
+ /**
194
+ * Apply config from a late constructor call (e.g. docs demo script after auto-init).
195
+ */
196
+ KTDataTable.prototype._applyRuntimeConfig = function (config) {
197
+ this._mergeConfig(config);
198
+ this._normalizePageSizeConfig();
199
+ this._layoutPlugin = this._createLayoutPlugin();
200
+ this.reload();
201
+ };
202
+ KTDataTable.prototype._normalizePageSizeConfig = function () {
203
+ var configuredPageSizes = Array.isArray(this._config.pageSizes)
204
+ ? this._config.pageSizes
205
+ : [];
206
+ var pageSizes = configuredPageSizes
207
+ .map(function (size) { return Number(size); })
208
+ .filter(function (size) { return Number.isFinite(size) && size > 0; })
209
+ .map(function (size) { return Math.floor(size); });
210
+ var fallbackPageSizes = [5, 10, 20, 30, 50];
211
+ this._config.pageSizes =
212
+ pageSizes.length > 0 ? Array.from(new Set(pageSizes)) : fallbackPageSizes;
213
+ var configuredPageSize = Number(this._config.pageSize);
214
+ this._config.pageSize =
215
+ Number.isFinite(configuredPageSize) && configuredPageSize > 0
216
+ ? Math.floor(configuredPageSize)
217
+ : this._config.pageSizes[0];
218
+ };
219
+ KTDataTable.prototype._normalizePageState = function () {
220
+ var statePageSize = Number(this._config._state.pageSize);
221
+ this._config._state.pageSize =
222
+ Number.isFinite(statePageSize) && statePageSize > 0
223
+ ? Math.floor(statePageSize)
224
+ : this._config.pageSize;
225
+ var statePage = Number(this._config._state.page);
226
+ this._config._state.page =
227
+ Number.isFinite(statePage) && statePage > 0 ? Math.floor(statePage) : 1;
228
+ };
229
+ KTDataTable.prototype._getLayoutPluginContext = function () {
230
+ return {
231
+ rootElement: this._element,
232
+ tableElement: this._tableElement,
233
+ theadElement: this._theadElement,
234
+ tbodyElement: this._tbodyElement,
235
+ config: this._config,
236
+ };
237
+ };
169
238
  /**
170
239
  * Initialize default configuration for the datatable
171
240
  * @param config User-provided configuration options
@@ -372,33 +441,31 @@ var KTDataTable = /** @class */ (function (_super) {
372
441
  * @returns {void}
373
442
  */
374
443
  KTDataTable.prototype._initElements = function () {
375
- /**
376
- * Data table element
377
- */
378
- this._tableElement = this._element.querySelector(this._config.attributes.table);
379
- /**
380
- * Table body element
381
- */
444
+ var _a;
445
+ var root = this._element;
446
+ var attrs = this._config.attributes;
447
+ if (!root || !(attrs === null || attrs === void 0 ? void 0 : attrs.table)) {
448
+ throw new Error('KTDataTable: root element and table selector are required');
449
+ }
450
+ var tableEl = root.querySelector(attrs.table);
451
+ if (!tableEl) {
452
+ throw new Error("KTDataTable: table element not found (".concat(attrs.table, ")"));
453
+ }
454
+ this._tableElement = tableEl;
382
455
  this._tbodyElement =
383
456
  this._tableElement.tBodies[0] || this._tableElement.createTBody();
384
- /**
385
- * Table head element
386
- */
387
- this._theadElement = this._tableElement.tHead;
388
- // Store original classes
457
+ this._theadElement =
458
+ (_a = this._tableElement.tHead) !== null && _a !== void 0 ? _a : this._tableElement.createTHead();
389
459
  this._storeOriginalClasses();
390
- /**
391
- * Pagination info element
392
- */
393
- this._infoElement = this._element.querySelector(this._config.attributes.info);
394
- /**
395
- * Page size dropdown element
396
- */
397
- this._sizeElement = this._element.querySelector(this._config.attributes.size);
398
- /**
399
- * Pagination element
400
- */
401
- this._paginationElement = this._element.querySelector(this._config.attributes.pagination);
460
+ this._infoElement = attrs.info
461
+ ? root.querySelector(attrs.info)
462
+ : null;
463
+ this._sizeElement = attrs.size
464
+ ? root.querySelector(attrs.size)
465
+ : null;
466
+ this._paginationElement = attrs.pagination
467
+ ? root.querySelector(attrs.pagination)
468
+ : null;
402
469
  };
403
470
  /**
404
471
  * Store original classes from table elements
@@ -482,7 +549,8 @@ var KTDataTable = /** @class */ (function (_super) {
482
549
  * @returns {void}
483
550
  */
484
551
  KTDataTable.prototype._finalize = function () {
485
- this._element.classList.add('datatable-initialized');
552
+ var _a;
553
+ (_a = this._element) === null || _a === void 0 ? void 0 : _a.classList.add('datatable-initialized');
486
554
  // Initialize checkbox logic
487
555
  this._checkbox.init();
488
556
  // Re-initialize sort handler to restore click listeners after table redraw
@@ -504,6 +572,7 @@ var KTDataTable = /** @class */ (function (_super) {
504
572
  */
505
573
  KTDataTable.prototype._attachSearchEvent = function () {
506
574
  var _this = this;
575
+ var _a, _b;
507
576
  var tableId = this._tableId();
508
577
  var searchElement = document.querySelector("[data-kt-datatable-search=\"#".concat(tableId, "\"]"));
509
578
  // Get search state
@@ -527,7 +596,7 @@ var KTDataTable = /** @class */ (function (_super) {
527
596
  // Create a new debounced search function
528
597
  var debouncedSearch = this._debounce(function () {
529
598
  _this.search(searchElement.value);
530
- }, this._config.search.delay);
599
+ }, (_b = (_a = this._config.search) === null || _a === void 0 ? void 0 : _a.delay) !== null && _b !== void 0 ? _b : 500);
531
600
  // Store the new debounced function as a property of the element
532
601
  searchWithDebounce._debouncedSearch = debouncedSearch;
533
602
  // Add the new debounced event listener
@@ -567,7 +636,10 @@ var KTDataTable = /** @class */ (function (_super) {
567
636
  * @returns {URL} The resulting URL object.
568
637
  */
569
638
  KTDataTable.prototype._createUrl = function (pathOrUrl, baseUrl) {
570
- if (baseUrl === void 0) { baseUrl = window.location.origin; }
639
+ var _a;
640
+ if (baseUrl === void 0) { baseUrl = typeof window !== 'undefined'
641
+ ? window.location.origin
642
+ : null; }
571
643
  // Regular expression to check if the input is a full URL
572
644
  var isFullUrl = /^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(pathOrUrl);
573
645
  if (isFullUrl) {
@@ -577,7 +649,38 @@ var KTDataTable = /** @class */ (function (_super) {
577
649
  var normalizedPath = pathOrUrl.startsWith('/')
578
650
  ? pathOrUrl
579
651
  : "/".concat(pathOrUrl);
580
- return new URL(normalizedPath, baseUrl);
652
+ // Opaque origins (e.g. srcdoc iframes) serialize as the string "null", which is not a valid URL base.
653
+ var bases = [];
654
+ if (baseUrl && baseUrl !== 'null') {
655
+ bases.push(baseUrl);
656
+ }
657
+ if (typeof window !== 'undefined') {
658
+ var href = window.location.href;
659
+ if (href && !bases.includes(href)) {
660
+ bases.push(href);
661
+ }
662
+ try {
663
+ if (window.parent !== window && ((_a = window.parent.location) === null || _a === void 0 ? void 0 : _a.href)) {
664
+ var parentHref = window.parent.location.href;
665
+ if (parentHref && !bases.includes(parentHref)) {
666
+ bases.push(parentHref);
667
+ }
668
+ }
669
+ }
670
+ catch (_b) {
671
+ // parent is cross-origin
672
+ }
673
+ }
674
+ for (var _i = 0, bases_1 = bases; _i < bases_1.length; _i++) {
675
+ var base = bases_1[_i];
676
+ try {
677
+ return new URL(normalizedPath, base);
678
+ }
679
+ catch (_c) {
680
+ // try next base
681
+ }
682
+ }
683
+ throw new Error("KTDataTable: cannot resolve relative apiEndpoint \"".concat(pathOrUrl, "\" (no valid base URL; use an absolute apiEndpoint)."));
581
684
  };
582
685
  /**
583
686
  * Update the table and pagination controls with new data
@@ -585,19 +688,31 @@ var KTDataTable = /** @class */ (function (_super) {
585
688
  */
586
689
  KTDataTable.prototype._draw = function () {
587
690
  return __awaiter(this, void 0, void 0, function () {
588
- return __generator(this, function (_a) {
589
- this._stateStore.patchState({
590
- totalPages: Math.ceil(this.getState().totalItems / this.getState().pageSize) || 0,
591
- });
691
+ var normalizedPageSize, totalPages, page;
692
+ var _a, _b, _c, _d;
693
+ return __generator(this, function (_e) {
694
+ normalizedPageSize = Math.max(1, Number(this.getState().pageSize) || Number(this._config.pageSize) || 1);
695
+ totalPages = Math.ceil(this.getState().totalItems / normalizedPageSize) || 0;
696
+ page = totalPages > 0
697
+ ? Math.min(Math.max(1, this.getState().page), totalPages)
698
+ : 1;
699
+ this._stateStore.patchState({ totalPages: totalPages, page: page });
700
+ (_b = (_a = this._layoutPlugin) === null || _a === void 0 ? void 0 : _a.beforeDraw) === null || _b === void 0 ? void 0 : _b.call(_a, this._getLayoutPluginContext());
592
701
  this._emit('draw');
593
702
  this._dispose();
594
703
  // Update the table and pagination controls
595
704
  if (this._theadElement && this._tbodyElement) {
596
705
  this._updateTable();
597
706
  }
598
- if (this._infoElement && this._paginationElement) {
707
+ if (this._infoElement || this._sizeElement || this._paginationElement) {
599
708
  this._updatePagination();
600
709
  }
710
+ (_d = (_c = this._layoutPlugin) === null || _c === void 0 ? void 0 : _c.afterDraw) === null || _d === void 0 ? void 0 : _d.call(_c, this._getLayoutPluginContext());
711
+ if (!this._config.apiEndpoint) {
712
+ this._stateStore.patchState({
713
+ _contentChecksum: KTUtils.checksum(JSON.stringify(this._tbodyElement.innerHTML)),
714
+ });
715
+ }
601
716
  this._emit('drew');
602
717
  // Spinner is hidden in _finalize() to ensure it stays visible until the entire request completes
603
718
  // Removed duplicate _hideSpinner() call here to prevent premature hiding
@@ -613,7 +728,7 @@ var KTDataTable = /** @class */ (function (_super) {
613
728
  * @returns {HTMLTableSectionElement} The new table body element
614
729
  */
615
730
  KTDataTable.prototype._updateTable = function () {
616
- return this._tableRenderer.render({
731
+ this._tbodyElement = this._tableRenderer.render({
617
732
  config: this._config,
618
733
  context: this,
619
734
  data: this._data,
@@ -625,6 +740,7 @@ var KTDataTable = /** @class */ (function (_super) {
625
740
  tableElement: this._tableElement,
626
741
  theadElement: this._theadElement,
627
742
  });
743
+ return this._tbodyElement;
628
744
  };
629
745
  /**
630
746
  * Show a notice on the table
@@ -678,30 +794,42 @@ var KTDataTable = /** @class */ (function (_super) {
678
794
  };
679
795
  // Method to show the loading spinner
680
796
  KTDataTable.prototype._showSpinner = function () {
681
- var spinner = this._element.querySelector(this._config.attributes.spinner) || this._createSpinner();
797
+ var _a, _b;
798
+ var root = this._element;
799
+ var spinnerSel = (_a = this._config.attributes) === null || _a === void 0 ? void 0 : _a.spinner;
800
+ var fromDom = root && spinnerSel ? root.querySelector(spinnerSel) : null;
801
+ var spinner = fromDom !== null && fromDom !== void 0 ? fromDom : this._createSpinner();
682
802
  if (spinner) {
683
803
  spinner.style.display = 'block';
684
804
  }
685
- this._element.classList.add(this._config.loadingClass);
805
+ root === null || root === void 0 ? void 0 : root.classList.add((_b = this._config.loadingClass) !== null && _b !== void 0 ? _b : 'loading');
686
806
  };
687
807
  // Method to hide the loading spinner
688
808
  KTDataTable.prototype._hideSpinner = function () {
689
- var spinner = this._element.querySelector(this._config.attributes.spinner);
809
+ var _a, _b;
810
+ var root = this._element;
811
+ var spinnerSel = (_a = this._config.attributes) === null || _a === void 0 ? void 0 : _a.spinner;
812
+ var spinner = root && spinnerSel ? root.querySelector(spinnerSel) : null;
690
813
  if (spinner) {
691
814
  spinner.style.display = 'none';
692
815
  }
693
- this._element.classList.remove(this._config.loadingClass);
816
+ root === null || root === void 0 ? void 0 : root.classList.remove((_b = this._config.loadingClass) !== null && _b !== void 0 ? _b : 'loading');
694
817
  };
695
818
  // Method to create a spinner element if it doesn't exist
696
819
  KTDataTable.prototype._createSpinner = function () {
697
- if (typeof this._config.loading === 'undefined') {
820
+ var loading = this._config.loading;
821
+ if (!loading) {
698
822
  return null;
699
823
  }
700
824
  var template = document.createElement('template');
701
- template.innerHTML = this._config.loading.template
825
+ template.innerHTML = loading.template
702
826
  .trim()
703
- .replace('{content}', this._config.loading.content);
704
- var spinner = template.content.firstChild;
827
+ .replace('{content}', loading.content);
828
+ var first = template.content.firstChild;
829
+ if (!first || !(first instanceof HTMLElement)) {
830
+ return null;
831
+ }
832
+ var spinner = first;
705
833
  spinner.setAttribute('data-kt-datatable-spinner', 'true');
706
834
  this._tableElement.appendChild(spinner);
707
835
  return spinner;
@@ -759,22 +887,27 @@ var KTDataTable = /** @class */ (function (_super) {
759
887
  };
760
888
  KTDataTable.prototype._tableId = function () {
761
889
  var _a, _b;
762
- var id = null;
763
- // If the table element has an ID, use that
764
- if ((_a = this._tableElement) === null || _a === void 0 ? void 0 : _a.getAttribute('id')) {
765
- id = this._tableElement.getAttribute('id');
890
+ var tableIdAttr = (_a = this._tableElement) === null || _a === void 0 ? void 0 : _a.getAttribute('id');
891
+ if (tableIdAttr) {
892
+ return tableIdAttr;
766
893
  }
767
- // If the component element has an ID, use that
768
- if ((_b = this._element) === null || _b === void 0 ? void 0 : _b.getAttribute('id')) {
769
- id = this._element.getAttribute('id');
894
+ var rootIdAttr = (_b = this._element) === null || _b === void 0 ? void 0 : _b.getAttribute('id');
895
+ if (rootIdAttr) {
896
+ return rootIdAttr;
770
897
  }
771
- return id;
898
+ return '';
772
899
  };
773
900
  /**
774
901
  * Clean up all event listeners, handlers, and DOM nodes created by this instance.
775
902
  * This method is called before re-rendering or when disposing the component.
776
903
  */
777
904
  KTDataTable.prototype._dispose = function () {
905
+ var _a, _b, _c, _d, _e;
906
+ (_b = (_a = this._layoutPlugin) === null || _a === void 0 ? void 0 : _a.dispose) === null || _b === void 0 ? void 0 : _b.call(_a, this._getLayoutPluginContext());
907
+ var root = this._element;
908
+ if (!root) {
909
+ return;
910
+ }
778
911
  this._cleanupCallbacks.forEach(function (cleanup) { return cleanup(); });
779
912
  this._cleanupCallbacks = [];
780
913
  // --- 1. Remove search input event listener (debounced) ---
@@ -805,10 +938,12 @@ var KTDataTable = /** @class */ (function (_super) {
805
938
  checkboxWithDispose.dispose();
806
939
  }
807
940
  else {
808
- // Remove header checkbox event listener if possible
809
- var headerCheckElement = this._element.querySelector(this._config.attributes.check);
810
- if (headerCheckElement) {
811
- headerCheckElement.replaceWith(headerCheckElement.cloneNode(true));
941
+ var checkSel = (_c = this._config.attributes) === null || _c === void 0 ? void 0 : _c.check;
942
+ if (checkSel) {
943
+ var headerCheckElement = root.querySelector(checkSel);
944
+ if (headerCheckElement) {
945
+ headerCheckElement.replaceWith(headerCheckElement.cloneNode(true));
946
+ }
812
947
  }
813
948
  }
814
949
  // KTDataTableSortAPI does not have a dispose method, but we can remove th click listeners by replacing them
@@ -819,16 +954,20 @@ var KTDataTable = /** @class */ (function (_super) {
819
954
  });
820
955
  }
821
956
  // --- 5. Remove spinner DOM node if it exists ---
822
- var spinner = this._element.querySelector(this._config.attributes.spinner);
823
- if (spinner && spinner.parentNode) {
824
- spinner.parentNode.removeChild(spinner);
957
+ var spinnerSel = (_d = this._config.attributes) === null || _d === void 0 ? void 0 : _d.spinner;
958
+ if (spinnerSel) {
959
+ var spinner = root.querySelector(spinnerSel);
960
+ if (spinner === null || spinner === void 0 ? void 0 : spinner.parentNode) {
961
+ spinner.parentNode.removeChild(spinner);
962
+ }
825
963
  }
826
- this._element.classList.remove(this._config.loadingClass);
964
+ root.classList.remove((_e = this._config.loadingClass) !== null && _e !== void 0 ? _e : 'loading');
827
965
  // --- 6. Remove instance reference from the DOM element ---
828
- var elementWithInstance = KTDataTable.asElementWithInstance(this._element);
966
+ var elementWithInstance = KTDataTable.asElementWithInstance(root);
829
967
  if (elementWithInstance.instance) {
830
968
  delete elementWithInstance.instance;
831
969
  }
970
+ KTData.remove(root, this._name);
832
971
  // --- 7. (Optional) Clear localStorage state ---
833
972
  // Uncomment the following line if you want to clear state on dispose:
834
973
  // this._deleteState();