@keenthemes/ktui 1.1.6 → 1.2.1

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 (492) hide show
  1. package/README.md +24 -0
  2. package/dist/ktui.js +4321 -2055
  3. package/dist/ktui.min.js +1 -1
  4. package/dist/ktui.min.js.map +1 -1
  5. package/dist/styles.css +108 -6
  6. package/lib/cjs/components/accordion/accordion.d.ts +32 -0
  7. package/lib/cjs/components/accordion/accordion.d.ts.map +1 -0
  8. package/lib/cjs/components/accordion/index.d.ts +7 -0
  9. package/lib/cjs/components/accordion/index.d.ts.map +1 -0
  10. package/lib/cjs/components/accordion/types.d.ts +15 -0
  11. package/lib/cjs/components/accordion/types.d.ts.map +1 -0
  12. package/lib/cjs/components/clipboard/clipboard.d.ts +37 -0
  13. package/lib/cjs/components/clipboard/clipboard.d.ts.map +1 -0
  14. package/lib/cjs/components/clipboard/clipboard.js +402 -0
  15. package/lib/cjs/components/clipboard/clipboard.js.map +1 -0
  16. package/lib/cjs/components/clipboard/index.d.ts +3 -0
  17. package/lib/cjs/components/clipboard/index.d.ts.map +1 -0
  18. package/lib/cjs/components/clipboard/index.js +6 -0
  19. package/lib/cjs/components/clipboard/index.js.map +1 -0
  20. package/lib/cjs/components/clipboard/types.d.ts +44 -0
  21. package/lib/cjs/components/clipboard/types.d.ts.map +1 -0
  22. package/lib/cjs/components/clipboard/types.js +7 -0
  23. package/lib/cjs/components/clipboard/types.js.map +1 -0
  24. package/lib/cjs/components/collapse/collapse.d.ts +28 -0
  25. package/lib/cjs/components/collapse/collapse.d.ts.map +1 -0
  26. package/lib/cjs/components/collapse/index.d.ts +7 -0
  27. package/lib/cjs/components/collapse/index.d.ts.map +1 -0
  28. package/lib/cjs/components/collapse/types.d.ts +15 -0
  29. package/lib/cjs/components/collapse/types.d.ts.map +1 -0
  30. package/lib/cjs/components/component.d.ts +44 -0
  31. package/lib/cjs/components/component.d.ts.map +1 -0
  32. package/lib/cjs/components/constants.d.ts +6 -0
  33. package/lib/cjs/components/constants.d.ts.map +1 -0
  34. package/lib/cjs/components/datatable/datatable-checkbox.d.ts +16 -0
  35. package/lib/cjs/components/datatable/datatable-checkbox.d.ts.map +1 -0
  36. package/lib/cjs/components/datatable/datatable-sort.d.ts +16 -0
  37. package/lib/cjs/components/datatable/datatable-sort.d.ts.map +1 -0
  38. package/lib/cjs/components/datatable/datatable.d.ts +339 -0
  39. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -0
  40. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  41. package/lib/cjs/components/datatable/index.d.ts +7 -0
  42. package/lib/cjs/components/datatable/index.d.ts.map +1 -0
  43. package/lib/cjs/components/datatable/types.d.ts +166 -0
  44. package/lib/cjs/components/datatable/types.d.ts.map +1 -0
  45. package/lib/cjs/components/dismiss/dismiss.d.ts +30 -0
  46. package/lib/cjs/components/dismiss/dismiss.d.ts.map +1 -0
  47. package/lib/cjs/components/dismiss/index.d.ts +7 -0
  48. package/lib/cjs/components/dismiss/index.d.ts.map +1 -0
  49. package/lib/cjs/components/dismiss/types.d.ts +15 -0
  50. package/lib/cjs/components/dismiss/types.d.ts.map +1 -0
  51. package/lib/cjs/components/drawer/drawer.d.ts +63 -0
  52. package/lib/cjs/components/drawer/drawer.d.ts.map +1 -0
  53. package/lib/cjs/components/drawer/index.d.ts +7 -0
  54. package/lib/cjs/components/drawer/index.d.ts.map +1 -0
  55. package/lib/cjs/components/drawer/types.d.ts +27 -0
  56. package/lib/cjs/components/drawer/types.d.ts.map +1 -0
  57. package/lib/cjs/components/dropdown/dropdown.d.ts +71 -0
  58. package/lib/cjs/components/dropdown/dropdown.d.ts.map +1 -0
  59. package/lib/cjs/components/dropdown/index.d.ts +7 -0
  60. package/lib/cjs/components/dropdown/index.d.ts.map +1 -0
  61. package/lib/cjs/components/dropdown/types.d.ts +27 -0
  62. package/lib/cjs/components/dropdown/types.d.ts.map +1 -0
  63. package/lib/cjs/components/image-input/image-input.d.ts +42 -0
  64. package/lib/cjs/components/image-input/image-input.d.ts.map +1 -0
  65. package/lib/cjs/components/image-input/index.d.ts +7 -0
  66. package/lib/cjs/components/image-input/index.d.ts.map +1 -0
  67. package/lib/cjs/components/image-input/types.d.ts +12 -0
  68. package/lib/cjs/components/image-input/types.d.ts.map +1 -0
  69. package/lib/cjs/components/modal/index.d.ts +7 -0
  70. package/lib/cjs/components/modal/index.d.ts.map +1 -0
  71. package/lib/cjs/components/modal/modal.d.ts +45 -0
  72. package/lib/cjs/components/modal/modal.d.ts.map +1 -0
  73. package/lib/cjs/components/modal/types.d.ts +21 -0
  74. package/lib/cjs/components/modal/types.d.ts.map +1 -0
  75. package/lib/cjs/components/range-slider/index.d.ts +7 -0
  76. package/lib/cjs/components/range-slider/index.d.ts.map +1 -0
  77. package/lib/cjs/components/range-slider/index.js +10 -0
  78. package/lib/cjs/components/range-slider/index.js.map +1 -0
  79. package/lib/cjs/components/range-slider/range-slider.d.ts +42 -0
  80. package/lib/cjs/components/range-slider/range-slider.d.ts.map +1 -0
  81. package/lib/cjs/components/range-slider/range-slider.js +254 -0
  82. package/lib/cjs/components/range-slider/range-slider.js.map +1 -0
  83. package/lib/cjs/components/range-slider/types.d.ts +33 -0
  84. package/lib/cjs/components/range-slider/types.d.ts.map +1 -0
  85. package/lib/cjs/components/range-slider/types.js +7 -0
  86. package/lib/cjs/components/range-slider/types.js.map +1 -0
  87. package/lib/cjs/components/rating/index.d.ts +7 -0
  88. package/lib/cjs/components/rating/index.d.ts.map +1 -0
  89. package/lib/cjs/components/rating/index.js +10 -0
  90. package/lib/cjs/components/rating/index.js.map +1 -0
  91. package/lib/cjs/components/rating/rating.d.ts +31 -0
  92. package/lib/cjs/components/rating/rating.d.ts.map +1 -0
  93. package/lib/cjs/components/rating/rating.js +244 -0
  94. package/lib/cjs/components/rating/rating.js.map +1 -0
  95. package/lib/cjs/components/rating/types.d.ts +25 -0
  96. package/lib/cjs/components/rating/types.d.ts.map +1 -0
  97. package/lib/cjs/components/rating/types.js +7 -0
  98. package/lib/cjs/components/rating/types.js.map +1 -0
  99. package/lib/cjs/components/reparent/index.d.ts +7 -0
  100. package/lib/cjs/components/reparent/index.d.ts.map +1 -0
  101. package/lib/cjs/components/reparent/reparent.d.ts +25 -0
  102. package/lib/cjs/components/reparent/reparent.d.ts.map +1 -0
  103. package/lib/cjs/components/reparent/types.d.ts +13 -0
  104. package/lib/cjs/components/reparent/types.d.ts.map +1 -0
  105. package/lib/cjs/components/repeater/index.d.ts +7 -0
  106. package/lib/cjs/components/repeater/index.d.ts.map +1 -0
  107. package/lib/cjs/components/repeater/index.js +10 -0
  108. package/lib/cjs/components/repeater/index.js.map +1 -0
  109. package/lib/cjs/components/repeater/repeater.d.ts +33 -0
  110. package/lib/cjs/components/repeater/repeater.d.ts.map +1 -0
  111. package/lib/cjs/components/repeater/repeater.js +174 -0
  112. package/lib/cjs/components/repeater/repeater.js.map +1 -0
  113. package/lib/cjs/components/repeater/types.d.ts +18 -0
  114. package/lib/cjs/components/repeater/types.d.ts.map +1 -0
  115. package/lib/cjs/components/repeater/types.js +7 -0
  116. package/lib/cjs/components/repeater/types.js.map +1 -0
  117. package/lib/cjs/components/scrollable/index.d.ts +7 -0
  118. package/lib/cjs/components/scrollable/index.d.ts.map +1 -0
  119. package/lib/cjs/components/scrollable/scrollable.d.ts +37 -0
  120. package/lib/cjs/components/scrollable/scrollable.d.ts.map +1 -0
  121. package/lib/cjs/components/scrollable/types.d.ts +15 -0
  122. package/lib/cjs/components/scrollable/types.d.ts.map +1 -0
  123. package/lib/cjs/components/scrollspy/index.d.ts +7 -0
  124. package/lib/cjs/components/scrollspy/index.d.ts.map +1 -0
  125. package/lib/cjs/components/scrollspy/scrollspy.d.ts +35 -0
  126. package/lib/cjs/components/scrollspy/scrollspy.d.ts.map +1 -0
  127. package/lib/cjs/components/scrollspy/types.d.ts +14 -0
  128. package/lib/cjs/components/scrollspy/types.d.ts.map +1 -0
  129. package/lib/cjs/components/scrollto/index.d.ts +7 -0
  130. package/lib/cjs/components/scrollto/index.d.ts.map +1 -0
  131. package/lib/cjs/components/scrollto/scrollto.d.ts +28 -0
  132. package/lib/cjs/components/scrollto/scrollto.d.ts.map +1 -0
  133. package/lib/cjs/components/scrollto/types.d.ts +14 -0
  134. package/lib/cjs/components/scrollto/types.d.ts.map +1 -0
  135. package/lib/cjs/components/select/combobox.d.ts +52 -0
  136. package/lib/cjs/components/select/combobox.d.ts.map +1 -0
  137. package/lib/cjs/components/select/config.d.ts +105 -0
  138. package/lib/cjs/components/select/config.d.ts.map +1 -0
  139. package/lib/cjs/components/select/dropdown.d.ts +101 -0
  140. package/lib/cjs/components/select/dropdown.d.ts.map +1 -0
  141. package/lib/cjs/components/select/index.d.ts +13 -0
  142. package/lib/cjs/components/select/index.d.ts.map +1 -0
  143. package/lib/cjs/components/select/option.d.ts +23 -0
  144. package/lib/cjs/components/select/option.d.ts.map +1 -0
  145. package/lib/cjs/components/select/remote.d.ts +91 -0
  146. package/lib/cjs/components/select/remote.d.ts.map +1 -0
  147. package/lib/cjs/components/select/search.d.ts +67 -0
  148. package/lib/cjs/components/select/search.d.ts.map +1 -0
  149. package/lib/cjs/components/select/select.d.ts +427 -0
  150. package/lib/cjs/components/select/select.d.ts.map +1 -0
  151. package/lib/cjs/components/select/select.js +3 -0
  152. package/lib/cjs/components/select/select.js.map +1 -1
  153. package/lib/cjs/components/select/tags.d.ts +32 -0
  154. package/lib/cjs/components/select/tags.d.ts.map +1 -0
  155. package/lib/cjs/components/select/templates.d.ts +79 -0
  156. package/lib/cjs/components/select/templates.d.ts.map +1 -0
  157. package/lib/cjs/components/select/types.d.ts +23 -0
  158. package/lib/cjs/components/select/types.d.ts.map +1 -0
  159. package/lib/cjs/components/select/utils.d.ts +130 -0
  160. package/lib/cjs/components/select/utils.d.ts.map +1 -0
  161. package/lib/cjs/components/select/utils.js +3 -1
  162. package/lib/cjs/components/select/utils.js.map +1 -1
  163. package/lib/cjs/components/stepper/index.d.ts +7 -0
  164. package/lib/cjs/components/stepper/index.d.ts.map +1 -0
  165. package/lib/cjs/components/stepper/stepper.d.ts +53 -0
  166. package/lib/cjs/components/stepper/stepper.d.ts.map +1 -0
  167. package/lib/cjs/components/stepper/types.d.ts +12 -0
  168. package/lib/cjs/components/stepper/types.d.ts.map +1 -0
  169. package/lib/cjs/components/sticky/index.d.ts +7 -0
  170. package/lib/cjs/components/sticky/index.d.ts.map +1 -0
  171. package/lib/cjs/components/sticky/sticky.d.ts +51 -0
  172. package/lib/cjs/components/sticky/sticky.d.ts.map +1 -0
  173. package/lib/cjs/components/sticky/sticky.js +3 -1
  174. package/lib/cjs/components/sticky/sticky.js.map +1 -1
  175. package/lib/cjs/components/sticky/types.d.ts +28 -0
  176. package/lib/cjs/components/sticky/types.d.ts.map +1 -0
  177. package/lib/cjs/components/tabs/index.d.ts +7 -0
  178. package/lib/cjs/components/tabs/index.d.ts.map +1 -0
  179. package/lib/cjs/components/tabs/tabs.d.ts +38 -0
  180. package/lib/cjs/components/tabs/tabs.d.ts.map +1 -0
  181. package/lib/cjs/components/tabs/types.d.ts +12 -0
  182. package/lib/cjs/components/tabs/types.d.ts.map +1 -0
  183. package/lib/cjs/components/theme-switch/index.d.ts +7 -0
  184. package/lib/cjs/components/theme-switch/index.d.ts.map +1 -0
  185. package/lib/cjs/components/theme-switch/theme-switch.d.ts +33 -0
  186. package/lib/cjs/components/theme-switch/theme-switch.d.ts.map +1 -0
  187. package/lib/cjs/components/theme-switch/types.d.ts +13 -0
  188. package/lib/cjs/components/theme-switch/types.d.ts.map +1 -0
  189. package/lib/cjs/components/toast/index.d.ts +7 -0
  190. package/lib/cjs/components/toast/index.d.ts.map +1 -0
  191. package/lib/cjs/components/toast/toast.d.ts +76 -0
  192. package/lib/cjs/components/toast/toast.d.ts.map +1 -0
  193. package/lib/cjs/components/toast/types.d.ts +146 -0
  194. package/lib/cjs/components/toast/types.d.ts.map +1 -0
  195. package/lib/cjs/components/toggle/index.d.ts +7 -0
  196. package/lib/cjs/components/toggle/index.d.ts.map +1 -0
  197. package/lib/cjs/components/toggle/toggle.d.ts +31 -0
  198. package/lib/cjs/components/toggle/toggle.d.ts.map +1 -0
  199. package/lib/cjs/components/toggle/types.d.ts +17 -0
  200. package/lib/cjs/components/toggle/types.d.ts.map +1 -0
  201. package/lib/cjs/components/toggle-password/index.d.ts +7 -0
  202. package/lib/cjs/components/toggle-password/index.d.ts.map +1 -0
  203. package/lib/cjs/components/toggle-password/toggle-password.d.ts +32 -0
  204. package/lib/cjs/components/toggle-password/toggle-password.d.ts.map +1 -0
  205. package/lib/cjs/components/toggle-password/types.d.ts +12 -0
  206. package/lib/cjs/components/toggle-password/types.d.ts.map +1 -0
  207. package/lib/cjs/components/tooltip/index.d.ts +7 -0
  208. package/lib/cjs/components/tooltip/index.d.ts.map +1 -0
  209. package/lib/cjs/components/tooltip/tooltip.d.ts +46 -0
  210. package/lib/cjs/components/tooltip/tooltip.d.ts.map +1 -0
  211. package/lib/cjs/components/tooltip/types.d.ts +26 -0
  212. package/lib/cjs/components/tooltip/types.d.ts.map +1 -0
  213. package/lib/cjs/helpers/data.d.ts +13 -0
  214. package/lib/cjs/helpers/data.d.ts.map +1 -0
  215. package/lib/cjs/helpers/dom.d.ts +42 -0
  216. package/lib/cjs/helpers/dom.d.ts.map +1 -0
  217. package/lib/cjs/helpers/event-handler.d.ts +14 -0
  218. package/lib/cjs/helpers/event-handler.d.ts.map +1 -0
  219. package/lib/cjs/helpers/utils.d.ts +25 -0
  220. package/lib/cjs/helpers/utils.d.ts.map +1 -0
  221. package/lib/cjs/index.d.ts +122 -0
  222. package/lib/cjs/index.d.ts.map +1 -0
  223. package/lib/cjs/index.js +17 -1
  224. package/lib/cjs/index.js.map +1 -1
  225. package/lib/cjs/types.d.ts +17 -0
  226. package/lib/cjs/types.d.ts.map +1 -0
  227. package/lib/esm/components/accordion/accordion.d.ts +32 -0
  228. package/lib/esm/components/accordion/accordion.d.ts.map +1 -0
  229. package/lib/esm/components/accordion/index.d.ts +7 -0
  230. package/lib/esm/components/accordion/index.d.ts.map +1 -0
  231. package/lib/esm/components/accordion/types.d.ts +15 -0
  232. package/lib/esm/components/accordion/types.d.ts.map +1 -0
  233. package/lib/esm/components/clipboard/clipboard.d.ts +37 -0
  234. package/lib/esm/components/clipboard/clipboard.d.ts.map +1 -0
  235. package/lib/esm/components/clipboard/clipboard.js +399 -0
  236. package/lib/esm/components/clipboard/clipboard.js.map +1 -0
  237. package/lib/esm/components/clipboard/index.d.ts +3 -0
  238. package/lib/esm/components/clipboard/index.d.ts.map +1 -0
  239. package/lib/esm/components/clipboard/index.js +2 -0
  240. package/lib/esm/components/clipboard/index.js.map +1 -0
  241. package/lib/esm/components/clipboard/types.d.ts +44 -0
  242. package/lib/esm/components/clipboard/types.d.ts.map +1 -0
  243. package/lib/esm/components/clipboard/types.js +6 -0
  244. package/lib/esm/components/clipboard/types.js.map +1 -0
  245. package/lib/esm/components/collapse/collapse.d.ts +28 -0
  246. package/lib/esm/components/collapse/collapse.d.ts.map +1 -0
  247. package/lib/esm/components/collapse/index.d.ts +7 -0
  248. package/lib/esm/components/collapse/index.d.ts.map +1 -0
  249. package/lib/esm/components/collapse/types.d.ts +15 -0
  250. package/lib/esm/components/collapse/types.d.ts.map +1 -0
  251. package/lib/esm/components/component.d.ts +44 -0
  252. package/lib/esm/components/component.d.ts.map +1 -0
  253. package/lib/esm/components/constants.d.ts +6 -0
  254. package/lib/esm/components/constants.d.ts.map +1 -0
  255. package/lib/esm/components/datatable/datatable-checkbox.d.ts +16 -0
  256. package/lib/esm/components/datatable/datatable-checkbox.d.ts.map +1 -0
  257. package/lib/esm/components/datatable/datatable-sort.d.ts +16 -0
  258. package/lib/esm/components/datatable/datatable-sort.d.ts.map +1 -0
  259. package/lib/esm/components/datatable/datatable.d.ts +339 -0
  260. package/lib/esm/components/datatable/datatable.d.ts.map +1 -0
  261. package/lib/esm/components/datatable/datatable.js.map +1 -1
  262. package/lib/esm/components/datatable/index.d.ts +7 -0
  263. package/lib/esm/components/datatable/index.d.ts.map +1 -0
  264. package/lib/esm/components/datatable/types.d.ts +166 -0
  265. package/lib/esm/components/datatable/types.d.ts.map +1 -0
  266. package/lib/esm/components/dismiss/dismiss.d.ts +30 -0
  267. package/lib/esm/components/dismiss/dismiss.d.ts.map +1 -0
  268. package/lib/esm/components/dismiss/index.d.ts +7 -0
  269. package/lib/esm/components/dismiss/index.d.ts.map +1 -0
  270. package/lib/esm/components/dismiss/types.d.ts +15 -0
  271. package/lib/esm/components/dismiss/types.d.ts.map +1 -0
  272. package/lib/esm/components/drawer/drawer.d.ts +63 -0
  273. package/lib/esm/components/drawer/drawer.d.ts.map +1 -0
  274. package/lib/esm/components/drawer/index.d.ts +7 -0
  275. package/lib/esm/components/drawer/index.d.ts.map +1 -0
  276. package/lib/esm/components/drawer/types.d.ts +27 -0
  277. package/lib/esm/components/drawer/types.d.ts.map +1 -0
  278. package/lib/esm/components/dropdown/dropdown.d.ts +71 -0
  279. package/lib/esm/components/dropdown/dropdown.d.ts.map +1 -0
  280. package/lib/esm/components/dropdown/index.d.ts +7 -0
  281. package/lib/esm/components/dropdown/index.d.ts.map +1 -0
  282. package/lib/esm/components/dropdown/types.d.ts +27 -0
  283. package/lib/esm/components/dropdown/types.d.ts.map +1 -0
  284. package/lib/esm/components/image-input/image-input.d.ts +42 -0
  285. package/lib/esm/components/image-input/image-input.d.ts.map +1 -0
  286. package/lib/esm/components/image-input/index.d.ts +7 -0
  287. package/lib/esm/components/image-input/index.d.ts.map +1 -0
  288. package/lib/esm/components/image-input/types.d.ts +12 -0
  289. package/lib/esm/components/image-input/types.d.ts.map +1 -0
  290. package/lib/esm/components/modal/index.d.ts +7 -0
  291. package/lib/esm/components/modal/index.d.ts.map +1 -0
  292. package/lib/esm/components/modal/modal.d.ts +45 -0
  293. package/lib/esm/components/modal/modal.d.ts.map +1 -0
  294. package/lib/esm/components/modal/types.d.ts +21 -0
  295. package/lib/esm/components/modal/types.d.ts.map +1 -0
  296. package/lib/esm/components/range-slider/index.d.ts +7 -0
  297. package/lib/esm/components/range-slider/index.d.ts.map +1 -0
  298. package/lib/esm/components/range-slider/index.js +6 -0
  299. package/lib/esm/components/range-slider/index.js.map +1 -0
  300. package/lib/esm/components/range-slider/range-slider.d.ts +42 -0
  301. package/lib/esm/components/range-slider/range-slider.d.ts.map +1 -0
  302. package/lib/esm/components/range-slider/range-slider.js +251 -0
  303. package/lib/esm/components/range-slider/range-slider.js.map +1 -0
  304. package/lib/esm/components/range-slider/types.d.ts +33 -0
  305. package/lib/esm/components/range-slider/types.d.ts.map +1 -0
  306. package/lib/esm/components/range-slider/types.js +6 -0
  307. package/lib/esm/components/range-slider/types.js.map +1 -0
  308. package/lib/esm/components/rating/index.d.ts +7 -0
  309. package/lib/esm/components/rating/index.d.ts.map +1 -0
  310. package/lib/esm/components/rating/index.js +6 -0
  311. package/lib/esm/components/rating/index.js.map +1 -0
  312. package/lib/esm/components/rating/rating.d.ts +31 -0
  313. package/lib/esm/components/rating/rating.d.ts.map +1 -0
  314. package/lib/esm/components/rating/rating.js +241 -0
  315. package/lib/esm/components/rating/rating.js.map +1 -0
  316. package/lib/esm/components/rating/types.d.ts +25 -0
  317. package/lib/esm/components/rating/types.d.ts.map +1 -0
  318. package/lib/esm/components/rating/types.js +6 -0
  319. package/lib/esm/components/rating/types.js.map +1 -0
  320. package/lib/esm/components/reparent/index.d.ts +7 -0
  321. package/lib/esm/components/reparent/index.d.ts.map +1 -0
  322. package/lib/esm/components/reparent/reparent.d.ts +25 -0
  323. package/lib/esm/components/reparent/reparent.d.ts.map +1 -0
  324. package/lib/esm/components/reparent/types.d.ts +13 -0
  325. package/lib/esm/components/reparent/types.d.ts.map +1 -0
  326. package/lib/esm/components/repeater/index.d.ts +7 -0
  327. package/lib/esm/components/repeater/index.d.ts.map +1 -0
  328. package/lib/esm/components/repeater/index.js +6 -0
  329. package/lib/esm/components/repeater/index.js.map +1 -0
  330. package/lib/esm/components/repeater/repeater.d.ts +33 -0
  331. package/lib/esm/components/repeater/repeater.d.ts.map +1 -0
  332. package/lib/esm/components/repeater/repeater.js +171 -0
  333. package/lib/esm/components/repeater/repeater.js.map +1 -0
  334. package/lib/esm/components/repeater/types.d.ts +18 -0
  335. package/lib/esm/components/repeater/types.d.ts.map +1 -0
  336. package/lib/esm/components/repeater/types.js +6 -0
  337. package/lib/esm/components/repeater/types.js.map +1 -0
  338. package/lib/esm/components/scrollable/index.d.ts +7 -0
  339. package/lib/esm/components/scrollable/index.d.ts.map +1 -0
  340. package/lib/esm/components/scrollable/scrollable.d.ts +37 -0
  341. package/lib/esm/components/scrollable/scrollable.d.ts.map +1 -0
  342. package/lib/esm/components/scrollable/types.d.ts +15 -0
  343. package/lib/esm/components/scrollable/types.d.ts.map +1 -0
  344. package/lib/esm/components/scrollspy/index.d.ts +7 -0
  345. package/lib/esm/components/scrollspy/index.d.ts.map +1 -0
  346. package/lib/esm/components/scrollspy/scrollspy.d.ts +35 -0
  347. package/lib/esm/components/scrollspy/scrollspy.d.ts.map +1 -0
  348. package/lib/esm/components/scrollspy/types.d.ts +14 -0
  349. package/lib/esm/components/scrollspy/types.d.ts.map +1 -0
  350. package/lib/esm/components/scrollto/index.d.ts +7 -0
  351. package/lib/esm/components/scrollto/index.d.ts.map +1 -0
  352. package/lib/esm/components/scrollto/scrollto.d.ts +28 -0
  353. package/lib/esm/components/scrollto/scrollto.d.ts.map +1 -0
  354. package/lib/esm/components/scrollto/types.d.ts +14 -0
  355. package/lib/esm/components/scrollto/types.d.ts.map +1 -0
  356. package/lib/esm/components/select/combobox.d.ts +52 -0
  357. package/lib/esm/components/select/combobox.d.ts.map +1 -0
  358. package/lib/esm/components/select/config.d.ts +105 -0
  359. package/lib/esm/components/select/config.d.ts.map +1 -0
  360. package/lib/esm/components/select/dropdown.d.ts +101 -0
  361. package/lib/esm/components/select/dropdown.d.ts.map +1 -0
  362. package/lib/esm/components/select/index.d.ts +13 -0
  363. package/lib/esm/components/select/index.d.ts.map +1 -0
  364. package/lib/esm/components/select/option.d.ts +23 -0
  365. package/lib/esm/components/select/option.d.ts.map +1 -0
  366. package/lib/esm/components/select/remote.d.ts +91 -0
  367. package/lib/esm/components/select/remote.d.ts.map +1 -0
  368. package/lib/esm/components/select/search.d.ts +67 -0
  369. package/lib/esm/components/select/search.d.ts.map +1 -0
  370. package/lib/esm/components/select/select.d.ts +427 -0
  371. package/lib/esm/components/select/select.d.ts.map +1 -0
  372. package/lib/esm/components/select/select.js +3 -0
  373. package/lib/esm/components/select/select.js.map +1 -1
  374. package/lib/esm/components/select/tags.d.ts +32 -0
  375. package/lib/esm/components/select/tags.d.ts.map +1 -0
  376. package/lib/esm/components/select/templates.d.ts +79 -0
  377. package/lib/esm/components/select/templates.d.ts.map +1 -0
  378. package/lib/esm/components/select/types.d.ts +23 -0
  379. package/lib/esm/components/select/types.d.ts.map +1 -0
  380. package/lib/esm/components/select/utils.d.ts +130 -0
  381. package/lib/esm/components/select/utils.d.ts.map +1 -0
  382. package/lib/esm/components/select/utils.js +3 -1
  383. package/lib/esm/components/select/utils.js.map +1 -1
  384. package/lib/esm/components/stepper/index.d.ts +7 -0
  385. package/lib/esm/components/stepper/index.d.ts.map +1 -0
  386. package/lib/esm/components/stepper/stepper.d.ts +53 -0
  387. package/lib/esm/components/stepper/stepper.d.ts.map +1 -0
  388. package/lib/esm/components/stepper/types.d.ts +12 -0
  389. package/lib/esm/components/stepper/types.d.ts.map +1 -0
  390. package/lib/esm/components/sticky/index.d.ts +7 -0
  391. package/lib/esm/components/sticky/index.d.ts.map +1 -0
  392. package/lib/esm/components/sticky/sticky.d.ts +51 -0
  393. package/lib/esm/components/sticky/sticky.d.ts.map +1 -0
  394. package/lib/esm/components/sticky/sticky.js +3 -1
  395. package/lib/esm/components/sticky/sticky.js.map +1 -1
  396. package/lib/esm/components/sticky/types.d.ts +28 -0
  397. package/lib/esm/components/sticky/types.d.ts.map +1 -0
  398. package/lib/esm/components/tabs/index.d.ts +7 -0
  399. package/lib/esm/components/tabs/index.d.ts.map +1 -0
  400. package/lib/esm/components/tabs/tabs.d.ts +38 -0
  401. package/lib/esm/components/tabs/tabs.d.ts.map +1 -0
  402. package/lib/esm/components/tabs/types.d.ts +12 -0
  403. package/lib/esm/components/tabs/types.d.ts.map +1 -0
  404. package/lib/esm/components/theme-switch/index.d.ts +7 -0
  405. package/lib/esm/components/theme-switch/index.d.ts.map +1 -0
  406. package/lib/esm/components/theme-switch/theme-switch.d.ts +33 -0
  407. package/lib/esm/components/theme-switch/theme-switch.d.ts.map +1 -0
  408. package/lib/esm/components/theme-switch/types.d.ts +13 -0
  409. package/lib/esm/components/theme-switch/types.d.ts.map +1 -0
  410. package/lib/esm/components/toast/index.d.ts +7 -0
  411. package/lib/esm/components/toast/index.d.ts.map +1 -0
  412. package/lib/esm/components/toast/toast.d.ts +76 -0
  413. package/lib/esm/components/toast/toast.d.ts.map +1 -0
  414. package/lib/esm/components/toast/types.d.ts +146 -0
  415. package/lib/esm/components/toast/types.d.ts.map +1 -0
  416. package/lib/esm/components/toggle/index.d.ts +7 -0
  417. package/lib/esm/components/toggle/index.d.ts.map +1 -0
  418. package/lib/esm/components/toggle/toggle.d.ts +31 -0
  419. package/lib/esm/components/toggle/toggle.d.ts.map +1 -0
  420. package/lib/esm/components/toggle/types.d.ts +17 -0
  421. package/lib/esm/components/toggle/types.d.ts.map +1 -0
  422. package/lib/esm/components/toggle-password/index.d.ts +7 -0
  423. package/lib/esm/components/toggle-password/index.d.ts.map +1 -0
  424. package/lib/esm/components/toggle-password/toggle-password.d.ts +32 -0
  425. package/lib/esm/components/toggle-password/toggle-password.d.ts.map +1 -0
  426. package/lib/esm/components/toggle-password/types.d.ts +12 -0
  427. package/lib/esm/components/toggle-password/types.d.ts.map +1 -0
  428. package/lib/esm/components/tooltip/index.d.ts +7 -0
  429. package/lib/esm/components/tooltip/index.d.ts.map +1 -0
  430. package/lib/esm/components/tooltip/tooltip.d.ts +46 -0
  431. package/lib/esm/components/tooltip/tooltip.d.ts.map +1 -0
  432. package/lib/esm/components/tooltip/types.d.ts +26 -0
  433. package/lib/esm/components/tooltip/types.d.ts.map +1 -0
  434. package/lib/esm/helpers/data.d.ts +13 -0
  435. package/lib/esm/helpers/data.d.ts.map +1 -0
  436. package/lib/esm/helpers/dom.d.ts +42 -0
  437. package/lib/esm/helpers/dom.d.ts.map +1 -0
  438. package/lib/esm/helpers/event-handler.d.ts +14 -0
  439. package/lib/esm/helpers/event-handler.d.ts.map +1 -0
  440. package/lib/esm/helpers/utils.d.ts +25 -0
  441. package/lib/esm/helpers/utils.d.ts.map +1 -0
  442. package/lib/esm/index.d.ts +122 -0
  443. package/lib/esm/index.d.ts.map +1 -0
  444. package/lib/esm/index.js +12 -0
  445. package/lib/esm/index.js.map +1 -1
  446. package/lib/esm/types.d.ts +17 -0
  447. package/lib/esm/types.d.ts.map +1 -0
  448. package/package.json +4 -4
  449. package/skills/ktui-components/SKILL.md +41 -0
  450. package/skills/ktui-theming/SKILL.md +50 -0
  451. package/src/components/clipboard/__tests__/clipboard.test.ts +438 -0
  452. package/src/components/clipboard/clipboard.ts +416 -0
  453. package/src/components/clipboard/index.ts +2 -0
  454. package/src/components/clipboard/types.ts +51 -0
  455. package/src/components/datatable/__tests__/currency-sort.test.ts +2 -10
  456. package/src/components/datatable/__tests__/multi-row-headers.test.ts +2 -2
  457. package/src/components/datatable/__tests__/race-conditions.test.ts +11 -14
  458. package/src/components/datatable/datatable.ts +3 -5
  459. package/src/components/input/input-group.css +15 -5
  460. package/src/components/range-slider/__tests__/range-slider.test.ts +659 -0
  461. package/src/components/range-slider/index.ts +11 -0
  462. package/src/components/range-slider/range-slider.ts +276 -0
  463. package/src/components/range-slider/types.ts +36 -0
  464. package/src/components/rating/__tests__/rating.test.ts +241 -0
  465. package/src/components/rating/index.ts +11 -0
  466. package/src/components/rating/rating.css +11 -0
  467. package/src/components/rating/rating.ts +245 -0
  468. package/src/components/rating/types.ts +27 -0
  469. package/src/components/repeater/__tests__/repeater.test.ts +321 -0
  470. package/src/components/repeater/index.ts +7 -0
  471. package/src/components/repeater/repeater.ts +181 -0
  472. package/src/components/repeater/types.ts +19 -0
  473. package/src/components/select/__tests__/ux-behaviors.test.ts +21 -3
  474. package/src/components/select/select.ts +4 -0
  475. package/src/components/select/utils.ts +5 -1
  476. package/src/components/sticky/__tests__/sticky.test.ts +10 -3
  477. package/src/components/sticky/sticky.ts +14 -24
  478. package/src/components/sticky/types.ts +3 -3
  479. package/src/index.ts +125 -0
  480. package/styles.css +1 -0
  481. package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js +0 -596
  482. package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js.map +0 -1
  483. package/lib/cjs/components/datatable/__tests__/race-conditions.test.js +0 -548
  484. package/lib/cjs/components/datatable/__tests__/race-conditions.test.js.map +0 -1
  485. package/lib/cjs/components/datatable/__tests__/setup.js +0 -63
  486. package/lib/cjs/components/datatable/__tests__/setup.js.map +0 -1
  487. package/lib/esm/components/datatable/__tests__/pagination-reset.test.js +0 -594
  488. package/lib/esm/components/datatable/__tests__/pagination-reset.test.js.map +0 -1
  489. package/lib/esm/components/datatable/__tests__/race-conditions.test.js +0 -546
  490. package/lib/esm/components/datatable/__tests__/race-conditions.test.js.map +0 -1
  491. package/lib/esm/components/datatable/__tests__/setup.js +0 -58
  492. package/lib/esm/components/datatable/__tests__/setup.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTSelectConfigInterface, KTSelectOption as KTSelectOptionData } from './config';
6
+ /**
7
+ * KTSelectRemote class
8
+ * Handles fetching remote data for the KTSelect component
9
+ */
10
+ export declare class KTSelectRemote {
11
+ private _config;
12
+ private _isLoading;
13
+ private _hasError;
14
+ private _errorMessage;
15
+ private _currentPage;
16
+ private _totalPages;
17
+ private _lastQuery;
18
+ private _element;
19
+ /**
20
+ * Constructor
21
+ * @param config KTSelect configuration
22
+ * @param element The select element
23
+ */
24
+ constructor(config: KTSelectConfigInterface, element?: HTMLElement);
25
+ /**
26
+ * Fetch data from remote URL
27
+ * @param query Optional search query
28
+ * @param page Page number for pagination
29
+ * @returns Promise with fetched items
30
+ */
31
+ fetchData(query?: string, page?: number): Promise<KTSelectOptionData[]>;
32
+ /**
33
+ * Dispatch custom events to notify about search state changes
34
+ * @param eventName Name of the event to dispatch
35
+ */
36
+ private _dispatchEvent;
37
+ /**
38
+ * Build the URL for the API request
39
+ * @param query Search query
40
+ * @param page Page number
41
+ * @returns Fully formed URL
42
+ */
43
+ private _buildUrl;
44
+ /**
45
+ * Process the API response data
46
+ * @param data API response data
47
+ * @returns Array of KTSelectOptionData
48
+ */
49
+ private _processData;
50
+ /**
51
+ * Map a data item to KTSelectOptionData format
52
+ * @param item Data item from API
53
+ * @returns KTSelectOptionData object
54
+ */
55
+ private _mapItemToOption;
56
+ /**
57
+ * Load the next page of results
58
+ * @returns Promise with fetched items
59
+ */
60
+ loadNextPage(): Promise<KTSelectOptionData[]>;
61
+ /**
62
+ * Check if there are more pages available
63
+ * @returns Boolean indicating if more pages exist
64
+ */
65
+ hasMorePages(): boolean;
66
+ /**
67
+ * Get loading state
68
+ * @returns Boolean indicating if data is loading
69
+ */
70
+ isLoading(): boolean;
71
+ /**
72
+ * Get error state
73
+ * @returns Boolean indicating if there was an error
74
+ */
75
+ hasError(): boolean;
76
+ /**
77
+ * Get error message
78
+ * @returns Error message
79
+ */
80
+ getErrorMessage(): string;
81
+ /**
82
+ * Reset the remote data state
83
+ */
84
+ reset(): void;
85
+ /**
86
+ * Set the select element for event dispatching
87
+ * @param element The select element
88
+ */
89
+ setElement(element: HTMLElement): void;
90
+ }
91
+ //# sourceMappingURL=remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../../src/components/select/remote.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,uBAAuB,EACvB,cAAc,IAAI,kBAAkB,EACpC,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,QAAQ,CAA4B;IAE5C;;;;OAIG;gBACS,MAAM,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,WAAW;IAKlE;;;;;OAKG;IACI,SAAS,CACf,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,GAAE,MAAU,GACd,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAqChC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAmCjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0FxB;;;OAGG;IACI,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAOpD;;;OAGG;IACI,YAAY,IAAI,OAAO;IAI9B;;;OAGG;IACI,SAAS,IAAI,OAAO;IAI3B;;;OAGG;IACI,QAAQ,IAAI,OAAO;IAI1B;;;OAGG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAG7C"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import { KTSelect } from './select';
6
+ export declare class KTSelectSearch {
7
+ private _select;
8
+ private _searchInput;
9
+ private _noResultsElement;
10
+ private _originalOptionContents;
11
+ private _eventManager;
12
+ private _focusManager;
13
+ private _config;
14
+ handleSearchInput: (...args: any[]) => void;
15
+ constructor(select: KTSelect);
16
+ init(): void;
17
+ /**
18
+ * Remove event listeners to prevent memory leaks or duplicates
19
+ */
20
+ private _removeEventListeners;
21
+ /**
22
+ * Focus the search input with retry mechanism for reliability
23
+ * Retries up to 3 times with exponential backoff (50ms, 100ms, 200ms)
24
+ */
25
+ private _focusSearchInputWithRetry;
26
+ /**
27
+ * Handles keydown events on the search input for navigation and actions.
28
+ */
29
+ private _handleSearchKeyDown;
30
+ /**
31
+ * Store original HTML content of all options for later restoration
32
+ * This prevents losing formatting when clearing search
33
+ */
34
+ private _cacheOriginalOptionContents;
35
+ /**
36
+ * Restores the innerHTML of all options from the cache if they have been modified.
37
+ * This is typically called before applying new filters/highlights.
38
+ */
39
+ private _restoreOptionContentsBeforeFilter;
40
+ private _handleSearchInput;
41
+ private _filterOptions;
42
+ /**
43
+ * Reset all options to their original state
44
+ */
45
+ private _resetAllOptions;
46
+ private _handleNoResults;
47
+ private _showNoResultsMessage;
48
+ private _clearNoResultsMessage;
49
+ /**
50
+ * Public method to explicitly clear all search highlights
51
+ * This is called when search is reset or selection changes
52
+ */
53
+ clearSearch(): void;
54
+ /**
55
+ * This ensures that search highlighting works correctly with new options
56
+ */
57
+ refreshOptionCache(): void;
58
+ /**
59
+ * Called after search (local or remote via KTSelect) to reset focus.
60
+ */
61
+ refreshAfterSearch(): void;
62
+ /**
63
+ * Clean up all resources used by the search module
64
+ */
65
+ destroy(): void;
66
+ }
67
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/components/select/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,qBAAa,cAAc;IAC1B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,OAAO,CAA0B;IAGlC,iBAAiB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;gBAEvC,MAAM,EAAE,QAAQ;IAc5B,IAAI;IA2HJ;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkDlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8D5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAepC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAgB1C,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;IACI,WAAW;IAuBlB;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAejC;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAOjC;;OAEG;IACI,OAAO,IAAI,IAAI;CAetB"}
@@ -0,0 +1,427 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import KTComponent from '../component';
6
+ import { KTSelectConfigInterface } from './config';
7
+ export declare class KTSelect extends KTComponent {
8
+ protected readonly _name: string;
9
+ protected readonly _dataOptionPrefix: string;
10
+ protected readonly _config: KTSelectConfigInterface;
11
+ protected _defaultConfig: KTSelectConfigInterface;
12
+ private static globalConfig;
13
+ private static openDropdowns;
14
+ private _wrapperElement;
15
+ private _displayElement;
16
+ private _dropdownContentElement;
17
+ private _searchInputElement;
18
+ private _options;
19
+ private _optionsContainer;
20
+ private _dropdownIsOpen;
21
+ private _state;
22
+ private _searchModule;
23
+ private _remoteModule;
24
+ private _comboboxModule;
25
+ private _tagsModule;
26
+ private _dropdownModule;
27
+ private _loadMoreIndicator;
28
+ private _selectAllButton;
29
+ private _selectAllButtonToggle;
30
+ private _focusManager;
31
+ private _eventManager;
32
+ private _typeToSearchBuffer;
33
+ private _mutationObserver;
34
+ private _preSelectedValues;
35
+ /**
36
+ * Constructor: Initializes the select component
37
+ */
38
+ constructor(element: HTMLElement, config?: KTSelectConfigInterface);
39
+ /**
40
+ * Set global select configuration options.
41
+ * This allows setting default configuration that will be applied to all new KTSelect instances.
42
+ * @param options Partial select config to merge with global config.
43
+ * @example
44
+ * KTSelect.config({
45
+ * enableSearch: true,
46
+ * searchPlaceholder: 'Type to search...',
47
+ * dropdownZindex: 9999,
48
+ * height: 300
49
+ * });
50
+ */
51
+ static config(options: Partial<KTSelectConfigInterface>): void;
52
+ /**
53
+ * Override _buildConfig to include static globalConfig in the merge chain
54
+ */
55
+ protected _buildConfig(config?: object): void;
56
+ /**
57
+ * Override _dispatchEvent to also dispatch on document for global listeners (jQuery compatibility)
58
+ */
59
+ protected _dispatchEvent(eventType: string, payload?: object): void;
60
+ /**
61
+ * Initialize remote data fetching
62
+ */
63
+ private _initializeRemoteData;
64
+ /**
65
+ * Clear existing options from the select element
66
+ */
67
+ private _clearExistingOptions;
68
+ /**
69
+ * Unified method to render options in dropdown - eliminates code duplication
70
+ */
71
+ private _renderOptionsInDropdown;
72
+ /**
73
+ * Update dropdown with new options from the original select element
74
+ */
75
+ private _updateDropdownWithNewOptions;
76
+ /**
77
+ * Complete the setup for remote data after HTML structure is created
78
+ */
79
+ private _completeRemoteSetup;
80
+ /**
81
+ * Helper to show a dropdown message (error, loading, noResults)
82
+ */
83
+ private _showDropdownMessage;
84
+ /**
85
+ * Render loading state in dropdown
86
+ */
87
+ private _renderLoadingState;
88
+ /**
89
+ * Render error state
90
+ * @param message Error message
91
+ */
92
+ private _renderErrorState;
93
+ /**
94
+ * Add "Load More" button for pagination
95
+ */
96
+ private _addLoadMoreButton;
97
+ /**
98
+ * Handle load more button click
99
+ */
100
+ private _handleLoadMore;
101
+ /**
102
+ * Update options in the dropdown
103
+ * @param newItems New items to add to the dropdown
104
+ */
105
+ private _updateOptionsInDropdown;
106
+ /**
107
+ * ========================================================================
108
+ * INITIALIZATION METHODS
109
+ * ========================================================================
110
+ */
111
+ /**
112
+ * Set up the component after everything is initialized
113
+ */
114
+ private _setupComponent;
115
+ /**
116
+ * Creates the HTML structure for the select component
117
+ */
118
+ private _createHtmlStructure;
119
+ /**
120
+ * Setup all element references after DOM is created
121
+ */
122
+ private _setupElementReferences;
123
+ /**
124
+ * Attach all event listeners to elements
125
+ */
126
+ private _attachEventListeners;
127
+ /**
128
+ * Initialize search module if search is enabled
129
+ */
130
+ private _initializeSearchModule;
131
+ /**
132
+ * Apply ARIA attributes and update display
133
+ */
134
+ private _updateDisplayAndAriaAttributes;
135
+ /**
136
+ * Apply initial disabled state if configured
137
+ */
138
+ private _applyInitialDisabledState;
139
+ /**
140
+ * Generate options HTML from data items
141
+ */
142
+ private _generateOptionsHtml;
143
+ /**
144
+ * Extract nested property value from object using dot notation
145
+ */
146
+ private _getValueByKey;
147
+ /**
148
+ * Pre-select options that have the selected attribute
149
+ */
150
+ private _preSelectOptions;
151
+ /**
152
+ * ========================================================================
153
+ * DROPDOWN MANAGEMENT
154
+ * ========================================================================
155
+ */
156
+ /**
157
+ * Open the dropdown
158
+ */
159
+ openDropdown(): void;
160
+ /**
161
+ * Close the dropdown
162
+ */
163
+ closeDropdown(): void;
164
+ /**
165
+ * Update dropdown position
166
+ */
167
+ updateDropdownPosition(): void;
168
+ /**
169
+ * Focus on the first selected option if any exists in the dropdown
170
+ */
171
+ private _focusSelectedOption;
172
+ /**
173
+ * ========================================================================
174
+ * SELECTION MANAGEMENT
175
+ * ========================================================================
176
+ */
177
+ /**
178
+ * Select an option by value
179
+ */
180
+ private _selectOption;
181
+ /**
182
+ * Sync native select value attribute for FormData support
183
+ */
184
+ private _syncNativeSelectValue;
185
+ /**
186
+ * Update selected option display value
187
+ */
188
+ updateSelectedOptionDisplay(): void;
189
+ /**
190
+ * Check if an option was originally disabled in the HTML
191
+ */
192
+ private _isOptionOriginallyDisabled;
193
+ /**
194
+ * Update CSS classes for selected options
195
+ */
196
+ private _updateSelectedOptionClass;
197
+ /**
198
+ * Clear all selected options
199
+ */
200
+ clearSelection(): void;
201
+ /**
202
+ * Deselect a specific option by value
203
+ * @param value The value of the option to deselect
204
+ * @public
205
+ */
206
+ deselectOption(value: string): void;
207
+ /**
208
+ * Set selected options programmatically
209
+ */
210
+ setSelectedOptions(options: HTMLOptionElement[]): void;
211
+ /**
212
+ * Select the currently focused option
213
+ */
214
+ selectFocusedOption(): void;
215
+ /**
216
+ * ========================================================================
217
+ * EVENT HANDLERS
218
+ * ========================================================================
219
+ */
220
+ /**
221
+ * Handle click within the dropdown
222
+ */
223
+ private _handleDropdownOptionClick;
224
+ /**
225
+ * Handle clicking on an option in the dropdown
226
+ */
227
+ private _handleOptionClick;
228
+ /**
229
+ * Handle document click for closing dropdown
230
+ */
231
+ private _handleDocumentClick;
232
+ /**
233
+ * ========================================================================
234
+ * ACCESSIBILITY METHODS
235
+ * ========================================================================
236
+ */
237
+ /**
238
+ * Set ARIA attributes for accessibility
239
+ */
240
+ private _setAriaAttributes;
241
+ /**
242
+ * ========================================================================
243
+ * PUBLIC API
244
+ * ========================================================================
245
+ */
246
+ /**
247
+ * Get the search input element
248
+ */
249
+ getSearchInput(): HTMLInputElement;
250
+ /**
251
+ * Get selected options
252
+ */
253
+ getSelectedOptions(): string[];
254
+ /**
255
+ * Get configuration
256
+ */
257
+ getConfig(): KTSelectConfigInterface;
258
+ /**
259
+ * Get option elements
260
+ */
261
+ getOptionsElement(): NodeListOf<HTMLElement>;
262
+ /**
263
+ * Get dropdown element
264
+ */
265
+ getDropdownElement(): HTMLElement;
266
+ /**
267
+ * Get value display element
268
+ */
269
+ getValueDisplayElement(): HTMLElement;
270
+ /**
271
+ * Get wrapper element
272
+ */
273
+ getWrapperElement(): HTMLElement;
274
+ /**
275
+ * Show all options in the dropdown
276
+ */
277
+ showAllOptions(): void;
278
+ /**
279
+ * Toggle multi-select functionality
280
+ */
281
+ enableMultiSelect(): void;
282
+ /**
283
+ * Disable multi-select functionality
284
+ */
285
+ disableMultiSelect(): void;
286
+ /**
287
+ * Toggle the selection of an option
288
+ */
289
+ toggleSelection(value: string): void;
290
+ /**
291
+ * Clean up all resources when the component is destroyed
292
+ * This overrides the parent dispose method
293
+ */
294
+ dispose(): void;
295
+ /**
296
+ * ========================================================================
297
+ * DYNAMIC CONTROL METHODS
298
+ * ========================================================================
299
+ */
300
+ /**
301
+ * Programmatically enable the select component
302
+ * @public
303
+ */
304
+ enable(): void;
305
+ /**
306
+ * Programmatically disable the select component
307
+ * @public
308
+ */
309
+ disable(): void;
310
+ /**
311
+ * Update the dropdown to sync with native select element changes
312
+ * For remote selects, refetches data from the server and preserves selections
313
+ * Optionally accepts new options to replace existing ones (static selects only)
314
+ *
315
+ * @param newOptions Optional array of new options [{value, text}, ...] (static selects only)
316
+ * @public
317
+ * @remarks
318
+ * - For static selects: rebuilds dropdown from native select or new options
319
+ * - For remote selects: fetches fresh data, preserves matching selections
320
+ * - Selections are preserved if their values exist in new remote data
321
+ * - Selections are cleared if their values don't exist in new data
322
+ * @fires updated - After update completes successfully
323
+ * @fires updateError - If remote data fetch fails
324
+ */
325
+ update(newOptions?: Array<{
326
+ value: string;
327
+ text: string;
328
+ }>): void;
329
+ /**
330
+ * Reload remote data and rebuild the dropdown
331
+ * Only works with remote data enabled
332
+ * @returns Promise that resolves when reload completes
333
+ * @public
334
+ */
335
+ reload(): Promise<void>;
336
+ /**
337
+ * Refresh the visual display and state without rebuilding options
338
+ * For remote selects, refetches data from the server and preserves selections
339
+ * that exist in the newly fetched data
340
+ *
341
+ * @public
342
+ * @remarks
343
+ * - For static selects: syncs visual state with native select
344
+ * - For remote selects: fetches fresh data, preserves matching selections
345
+ * - Selections are preserved if their values exist in new remote data
346
+ * - Selections are cleared if their values don't exist in new data
347
+ * @fires refreshed - After refresh completes successfully
348
+ * @fires refreshError - If remote data fetch fails
349
+ */
350
+ refresh(): void;
351
+ /**
352
+ * ========================================================================
353
+ * STATIC METHODS
354
+ * ========================================================================
355
+ */
356
+ /**
357
+ * Create instances of KTSelect for all matching elements
358
+ */
359
+ static createInstances(): void;
360
+ /**
361
+ * Initialize all KTSelect instances
362
+ */
363
+ static init(): void;
364
+ /**
365
+ * Get an existing KTSelect instance from an element
366
+ */
367
+ static getInstance(element: HTMLElement): KTSelect | null;
368
+ /**
369
+ * Get an existing KTSelect instance or create a new one
370
+ */
371
+ static getOrCreateInstance(element: HTMLElement, config?: KTSelectConfigInterface): KTSelect;
372
+ /**
373
+ * Handle remote search
374
+ * @param event Input event
375
+ */
376
+ private _handleRemoteSearch;
377
+ private _searchDebounceTimeout;
378
+ /**
379
+ * Render loading state for search
380
+ */
381
+ private _renderSearchLoadingState;
382
+ private _originalOptionsHtml;
383
+ /**
384
+ * Render error state for search
385
+ * @param message Error message
386
+ */
387
+ private _renderSearchErrorState;
388
+ /**
389
+ * Restore original options when search is cleared
390
+ */
391
+ private _restoreOriginalOptions;
392
+ /**
393
+ * Update search results in the dropdown
394
+ * @param items Search result items
395
+ */
396
+ private _updateSearchResults;
397
+ /**
398
+ * Update original select element with search results
399
+ * @param items Search result items
400
+ */
401
+ private _updateOriginalSelectWithSearchResults;
402
+ /**
403
+ * Check if dropdown is open
404
+ */
405
+ isDropdownOpen(): boolean;
406
+ getSelectedOptionsText(): string;
407
+ /**
408
+ * Check if an option is disabled (either in dropdown or original select)
409
+ */
410
+ private _isOptionDisabled;
411
+ /**
412
+ * Centralized keyboard event handler for all select modes
413
+ */
414
+ private _handleKeyboardEvent;
415
+ renderDisplayTemplateForSelected(selectedValues: string[]): string;
416
+ getDisplayElement(): HTMLElement;
417
+ private _observeNativeSelect;
418
+ private _rebuildOptionsFromNative;
419
+ private _syncSelectionFromNative;
420
+ private _handleSelectAllClick;
421
+ updateSelectAllButtonState(): void;
422
+ /**
423
+ * Destroy the component and clean up resources
424
+ */
425
+ destroy(): void;
426
+ }
427
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/select/select.ts"],"names":[],"mappings":"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"}
@@ -2269,4 +2269,7 @@ var KTSelect = /** @class */ (function (_super) {
2269
2269
  return KTSelect;
2270
2270
  }(KTComponent));
2271
2271
  export { KTSelect };
2272
+ if (typeof window !== 'undefined') {
2273
+ window.KTSelect = KTSelect;
2274
+ }
2272
2275
  //# sourceMappingURL=select.js.map