@keenthemes/ktui 1.2.0 → 1.2.2

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 (348) hide show
  1. package/dist/ktui.js +8355 -5213
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +24 -1
  5. package/lib/cjs/components/carousel/carousel.d.ts +102 -0
  6. package/lib/cjs/components/carousel/carousel.d.ts.map +1 -0
  7. package/lib/cjs/components/carousel/carousel.js +769 -0
  8. package/lib/cjs/components/carousel/carousel.js.map +1 -0
  9. package/lib/cjs/components/carousel/index.d.ts +7 -0
  10. package/lib/cjs/components/carousel/index.d.ts.map +1 -0
  11. package/lib/cjs/components/carousel/index.js +10 -0
  12. package/lib/cjs/components/carousel/index.js.map +1 -0
  13. package/lib/cjs/components/carousel/types.d.ts +36 -0
  14. package/lib/cjs/components/carousel/types.d.ts.map +1 -0
  15. package/lib/cjs/components/carousel/types.js +7 -0
  16. package/lib/cjs/components/carousel/types.js.map +1 -0
  17. package/lib/cjs/components/clipboard/clipboard.d.ts +37 -0
  18. package/lib/cjs/components/clipboard/clipboard.d.ts.map +1 -0
  19. package/lib/cjs/components/clipboard/clipboard.js +402 -0
  20. package/lib/cjs/components/clipboard/clipboard.js.map +1 -0
  21. package/lib/cjs/components/clipboard/index.d.ts +3 -0
  22. package/lib/cjs/components/clipboard/index.d.ts.map +1 -0
  23. package/lib/cjs/components/clipboard/index.js +6 -0
  24. package/lib/cjs/components/clipboard/index.js.map +1 -0
  25. package/lib/cjs/components/clipboard/types.d.ts +44 -0
  26. package/lib/cjs/components/clipboard/types.d.ts.map +1 -0
  27. package/lib/cjs/components/clipboard/types.js +7 -0
  28. package/lib/cjs/components/clipboard/types.js.map +1 -0
  29. package/lib/cjs/components/component.d.ts +3 -3
  30. package/lib/cjs/components/component.d.ts.map +1 -1
  31. package/lib/cjs/components/component.js +9 -1
  32. package/lib/cjs/components/component.js.map +1 -1
  33. package/lib/cjs/components/datatable/datatable-checkbox.d.ts +1 -1
  34. package/lib/cjs/components/datatable/datatable-checkbox.d.ts.map +1 -1
  35. package/lib/cjs/components/datatable/datatable-checkbox.js +1 -1
  36. package/lib/cjs/components/datatable/datatable-checkbox.js.map +1 -1
  37. package/lib/cjs/components/datatable/datatable-sort.d.ts +1 -1
  38. package/lib/cjs/components/datatable/datatable-sort.d.ts.map +1 -1
  39. package/lib/cjs/components/datatable/datatable-sort.js.map +1 -1
  40. package/lib/cjs/components/datatable/datatable.d.ts +2 -0
  41. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -1
  42. package/lib/cjs/components/datatable/datatable.js +29 -16
  43. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  44. package/lib/cjs/components/datatable/types.d.ts +2 -1
  45. package/lib/cjs/components/datatable/types.d.ts.map +1 -1
  46. package/lib/cjs/components/drawer/drawer.d.ts.map +1 -1
  47. package/lib/cjs/components/drawer/drawer.js +3 -16
  48. package/lib/cjs/components/drawer/drawer.js.map +1 -1
  49. package/lib/cjs/components/dropdown/dropdown.d.ts +1 -1
  50. package/lib/cjs/components/dropdown/dropdown.d.ts.map +1 -1
  51. package/lib/cjs/components/dropdown/dropdown.js +2 -3
  52. package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
  53. package/lib/cjs/components/pin-input/index.d.ts +3 -0
  54. package/lib/cjs/components/pin-input/index.d.ts.map +1 -0
  55. package/lib/cjs/components/pin-input/index.js +6 -0
  56. package/lib/cjs/components/pin-input/index.js.map +1 -0
  57. package/lib/cjs/components/pin-input/pin-input.d.ts +56 -0
  58. package/lib/cjs/components/pin-input/pin-input.d.ts.map +1 -0
  59. package/lib/cjs/components/pin-input/pin-input.js +455 -0
  60. package/lib/cjs/components/pin-input/pin-input.js.map +1 -0
  61. package/lib/cjs/components/pin-input/types.d.ts +41 -0
  62. package/lib/cjs/components/pin-input/types.d.ts.map +1 -0
  63. package/lib/cjs/components/pin-input/types.js +6 -0
  64. package/lib/cjs/components/pin-input/types.js.map +1 -0
  65. package/lib/cjs/components/range-slider/index.d.ts +7 -0
  66. package/lib/cjs/components/range-slider/index.d.ts.map +1 -0
  67. package/lib/cjs/components/range-slider/index.js +10 -0
  68. package/lib/cjs/components/range-slider/index.js.map +1 -0
  69. package/lib/cjs/components/range-slider/range-slider.d.ts +42 -0
  70. package/lib/cjs/components/range-slider/range-slider.d.ts.map +1 -0
  71. package/lib/cjs/components/range-slider/range-slider.js +254 -0
  72. package/lib/cjs/components/range-slider/range-slider.js.map +1 -0
  73. package/lib/cjs/components/range-slider/types.d.ts +33 -0
  74. package/lib/cjs/components/range-slider/types.d.ts.map +1 -0
  75. package/lib/cjs/components/range-slider/types.js +7 -0
  76. package/lib/cjs/components/range-slider/types.js.map +1 -0
  77. package/lib/cjs/components/rating/rating.d.ts.map +1 -1
  78. package/lib/cjs/components/rating/rating.js +8 -3
  79. package/lib/cjs/components/rating/rating.js.map +1 -1
  80. package/lib/cjs/components/repeater/repeater.d.ts.map +1 -1
  81. package/lib/cjs/components/repeater/repeater.js +3 -2
  82. package/lib/cjs/components/repeater/repeater.js.map +1 -1
  83. package/lib/cjs/components/select/combobox.d.ts.map +1 -1
  84. package/lib/cjs/components/select/combobox.js +25 -15
  85. package/lib/cjs/components/select/combobox.js.map +1 -1
  86. package/lib/cjs/components/select/config.d.ts +2 -2
  87. package/lib/cjs/components/select/config.d.ts.map +1 -1
  88. package/lib/cjs/components/select/config.js +10 -9
  89. package/lib/cjs/components/select/config.js.map +1 -1
  90. package/lib/cjs/components/select/dropdown.js.map +1 -1
  91. package/lib/cjs/components/select/option.d.ts +2 -1
  92. package/lib/cjs/components/select/option.d.ts.map +1 -1
  93. package/lib/cjs/components/select/option.js +9 -3
  94. package/lib/cjs/components/select/option.js.map +1 -1
  95. package/lib/cjs/components/select/remote.d.ts +1 -0
  96. package/lib/cjs/components/select/remote.d.ts.map +1 -1
  97. package/lib/cjs/components/select/remote.js +21 -14
  98. package/lib/cjs/components/select/remote.js.map +1 -1
  99. package/lib/cjs/components/select/search.d.ts +1 -1
  100. package/lib/cjs/components/select/search.d.ts.map +1 -1
  101. package/lib/cjs/components/select/search.js +34 -25
  102. package/lib/cjs/components/select/search.js.map +1 -1
  103. package/lib/cjs/components/select/select.d.ts +5 -3
  104. package/lib/cjs/components/select/select.d.ts.map +1 -1
  105. package/lib/cjs/components/select/select.js +31 -31
  106. package/lib/cjs/components/select/select.js.map +1 -1
  107. package/lib/cjs/components/select/tags.d.ts.map +1 -1
  108. package/lib/cjs/components/select/tags.js +22 -13
  109. package/lib/cjs/components/select/tags.js.map +1 -1
  110. package/lib/cjs/components/select/templates.d.ts.map +1 -1
  111. package/lib/cjs/components/select/templates.js +4 -4
  112. package/lib/cjs/components/select/templates.js.map +1 -1
  113. package/lib/cjs/components/select/types.d.ts +1 -1
  114. package/lib/cjs/components/select/types.d.ts.map +1 -1
  115. package/lib/cjs/components/select/utils.d.ts +4 -4
  116. package/lib/cjs/components/select/utils.d.ts.map +1 -1
  117. package/lib/cjs/components/select/utils.js +5 -4
  118. package/lib/cjs/components/select/utils.js.map +1 -1
  119. package/lib/cjs/components/sticky/sticky.d.ts +1 -1
  120. package/lib/cjs/components/sticky/sticky.d.ts.map +1 -1
  121. package/lib/cjs/components/sticky/sticky.js +16 -14
  122. package/lib/cjs/components/sticky/sticky.js.map +1 -1
  123. package/lib/cjs/components/toast/toast.d.ts.map +1 -1
  124. package/lib/cjs/components/toast/toast.js +17 -9
  125. package/lib/cjs/components/toast/toast.js.map +1 -1
  126. package/lib/cjs/components/toast/types.d.ts +3 -0
  127. package/lib/cjs/components/toast/types.d.ts.map +1 -1
  128. package/lib/cjs/components/toggle-password/toggle-password.d.ts.map +1 -1
  129. package/lib/cjs/components/toggle-password/toggle-password.js.map +1 -1
  130. package/lib/cjs/helpers/dom.d.ts +4 -4
  131. package/lib/cjs/helpers/dom.d.ts.map +1 -1
  132. package/lib/cjs/helpers/dom.js +8 -10
  133. package/lib/cjs/helpers/dom.js.map +1 -1
  134. package/lib/cjs/helpers/event-handler.d.ts +1 -1
  135. package/lib/cjs/helpers/event-handler.d.ts.map +1 -1
  136. package/lib/cjs/helpers/event-handler.js +3 -1
  137. package/lib/cjs/helpers/event-handler.js.map +1 -1
  138. package/lib/cjs/helpers/utils.d.ts +1 -1
  139. package/lib/cjs/helpers/utils.d.ts.map +1 -1
  140. package/lib/cjs/helpers/utils.js +4 -1
  141. package/lib/cjs/helpers/utils.js.map +1 -1
  142. package/lib/cjs/index.d.ts +16 -0
  143. package/lib/cjs/index.d.ts.map +1 -1
  144. package/lib/cjs/index.js +17 -1
  145. package/lib/cjs/index.js.map +1 -1
  146. package/lib/cjs/types.d.ts +1 -1
  147. package/lib/cjs/types.d.ts.map +1 -1
  148. package/lib/esm/components/carousel/carousel.d.ts +102 -0
  149. package/lib/esm/components/carousel/carousel.d.ts.map +1 -0
  150. package/lib/esm/components/carousel/carousel.js +766 -0
  151. package/lib/esm/components/carousel/carousel.js.map +1 -0
  152. package/lib/esm/components/carousel/index.d.ts +7 -0
  153. package/lib/esm/components/carousel/index.d.ts.map +1 -0
  154. package/lib/esm/components/carousel/index.js +6 -0
  155. package/lib/esm/components/carousel/index.js.map +1 -0
  156. package/lib/esm/components/carousel/types.d.ts +36 -0
  157. package/lib/esm/components/carousel/types.d.ts.map +1 -0
  158. package/lib/esm/components/carousel/types.js +6 -0
  159. package/lib/esm/components/carousel/types.js.map +1 -0
  160. package/lib/esm/components/clipboard/clipboard.d.ts +37 -0
  161. package/lib/esm/components/clipboard/clipboard.d.ts.map +1 -0
  162. package/lib/esm/components/clipboard/clipboard.js +399 -0
  163. package/lib/esm/components/clipboard/clipboard.js.map +1 -0
  164. package/lib/esm/components/clipboard/index.d.ts +3 -0
  165. package/lib/esm/components/clipboard/index.d.ts.map +1 -0
  166. package/lib/esm/components/clipboard/index.js +2 -0
  167. package/lib/esm/components/clipboard/index.js.map +1 -0
  168. package/lib/esm/components/clipboard/types.d.ts +44 -0
  169. package/lib/esm/components/clipboard/types.d.ts.map +1 -0
  170. package/lib/esm/components/clipboard/types.js +6 -0
  171. package/lib/esm/components/clipboard/types.js.map +1 -0
  172. package/lib/esm/components/component.d.ts +3 -3
  173. package/lib/esm/components/component.d.ts.map +1 -1
  174. package/lib/esm/components/component.js +9 -1
  175. package/lib/esm/components/component.js.map +1 -1
  176. package/lib/esm/components/datatable/datatable-checkbox.d.ts +1 -1
  177. package/lib/esm/components/datatable/datatable-checkbox.d.ts.map +1 -1
  178. package/lib/esm/components/datatable/datatable-checkbox.js +1 -1
  179. package/lib/esm/components/datatable/datatable-checkbox.js.map +1 -1
  180. package/lib/esm/components/datatable/datatable-sort.d.ts +1 -1
  181. package/lib/esm/components/datatable/datatable-sort.d.ts.map +1 -1
  182. package/lib/esm/components/datatable/datatable-sort.js.map +1 -1
  183. package/lib/esm/components/datatable/datatable.d.ts +2 -0
  184. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  185. package/lib/esm/components/datatable/datatable.js +29 -16
  186. package/lib/esm/components/datatable/datatable.js.map +1 -1
  187. package/lib/esm/components/datatable/types.d.ts +2 -1
  188. package/lib/esm/components/datatable/types.d.ts.map +1 -1
  189. package/lib/esm/components/drawer/drawer.d.ts.map +1 -1
  190. package/lib/esm/components/drawer/drawer.js +3 -16
  191. package/lib/esm/components/drawer/drawer.js.map +1 -1
  192. package/lib/esm/components/dropdown/dropdown.d.ts +1 -1
  193. package/lib/esm/components/dropdown/dropdown.d.ts.map +1 -1
  194. package/lib/esm/components/dropdown/dropdown.js +2 -3
  195. package/lib/esm/components/dropdown/dropdown.js.map +1 -1
  196. package/lib/esm/components/pin-input/index.d.ts +3 -0
  197. package/lib/esm/components/pin-input/index.d.ts.map +1 -0
  198. package/lib/esm/components/pin-input/index.js +2 -0
  199. package/lib/esm/components/pin-input/index.js.map +1 -0
  200. package/lib/esm/components/pin-input/pin-input.d.ts +56 -0
  201. package/lib/esm/components/pin-input/pin-input.d.ts.map +1 -0
  202. package/lib/esm/components/pin-input/pin-input.js +452 -0
  203. package/lib/esm/components/pin-input/pin-input.js.map +1 -0
  204. package/lib/esm/components/pin-input/types.d.ts +41 -0
  205. package/lib/esm/components/pin-input/types.d.ts.map +1 -0
  206. package/lib/esm/components/pin-input/types.js +5 -0
  207. package/lib/esm/components/pin-input/types.js.map +1 -0
  208. package/lib/esm/components/range-slider/index.d.ts +7 -0
  209. package/lib/esm/components/range-slider/index.d.ts.map +1 -0
  210. package/lib/esm/components/range-slider/index.js +6 -0
  211. package/lib/esm/components/range-slider/index.js.map +1 -0
  212. package/lib/esm/components/range-slider/range-slider.d.ts +42 -0
  213. package/lib/esm/components/range-slider/range-slider.d.ts.map +1 -0
  214. package/lib/esm/components/range-slider/range-slider.js +251 -0
  215. package/lib/esm/components/range-slider/range-slider.js.map +1 -0
  216. package/lib/esm/components/range-slider/types.d.ts +33 -0
  217. package/lib/esm/components/range-slider/types.d.ts.map +1 -0
  218. package/lib/esm/components/range-slider/types.js +6 -0
  219. package/lib/esm/components/range-slider/types.js.map +1 -0
  220. package/lib/esm/components/rating/rating.d.ts.map +1 -1
  221. package/lib/esm/components/rating/rating.js +8 -3
  222. package/lib/esm/components/rating/rating.js.map +1 -1
  223. package/lib/esm/components/repeater/repeater.d.ts.map +1 -1
  224. package/lib/esm/components/repeater/repeater.js +3 -2
  225. package/lib/esm/components/repeater/repeater.js.map +1 -1
  226. package/lib/esm/components/select/combobox.d.ts.map +1 -1
  227. package/lib/esm/components/select/combobox.js +25 -15
  228. package/lib/esm/components/select/combobox.js.map +1 -1
  229. package/lib/esm/components/select/config.d.ts +2 -2
  230. package/lib/esm/components/select/config.d.ts.map +1 -1
  231. package/lib/esm/components/select/config.js +10 -9
  232. package/lib/esm/components/select/config.js.map +1 -1
  233. package/lib/esm/components/select/dropdown.js.map +1 -1
  234. package/lib/esm/components/select/option.d.ts +2 -1
  235. package/lib/esm/components/select/option.d.ts.map +1 -1
  236. package/lib/esm/components/select/option.js +9 -3
  237. package/lib/esm/components/select/option.js.map +1 -1
  238. package/lib/esm/components/select/remote.d.ts +1 -0
  239. package/lib/esm/components/select/remote.d.ts.map +1 -1
  240. package/lib/esm/components/select/remote.js +21 -14
  241. package/lib/esm/components/select/remote.js.map +1 -1
  242. package/lib/esm/components/select/search.d.ts +1 -1
  243. package/lib/esm/components/select/search.d.ts.map +1 -1
  244. package/lib/esm/components/select/search.js +34 -25
  245. package/lib/esm/components/select/search.js.map +1 -1
  246. package/lib/esm/components/select/select.d.ts +5 -3
  247. package/lib/esm/components/select/select.d.ts.map +1 -1
  248. package/lib/esm/components/select/select.js +31 -31
  249. package/lib/esm/components/select/select.js.map +1 -1
  250. package/lib/esm/components/select/tags.d.ts.map +1 -1
  251. package/lib/esm/components/select/tags.js +22 -13
  252. package/lib/esm/components/select/tags.js.map +1 -1
  253. package/lib/esm/components/select/templates.d.ts.map +1 -1
  254. package/lib/esm/components/select/templates.js +4 -4
  255. package/lib/esm/components/select/templates.js.map +1 -1
  256. package/lib/esm/components/select/types.d.ts +1 -1
  257. package/lib/esm/components/select/types.d.ts.map +1 -1
  258. package/lib/esm/components/select/utils.d.ts +4 -4
  259. package/lib/esm/components/select/utils.d.ts.map +1 -1
  260. package/lib/esm/components/select/utils.js +5 -4
  261. package/lib/esm/components/select/utils.js.map +1 -1
  262. package/lib/esm/components/sticky/sticky.d.ts +1 -1
  263. package/lib/esm/components/sticky/sticky.d.ts.map +1 -1
  264. package/lib/esm/components/sticky/sticky.js +16 -14
  265. package/lib/esm/components/sticky/sticky.js.map +1 -1
  266. package/lib/esm/components/toast/toast.d.ts.map +1 -1
  267. package/lib/esm/components/toast/toast.js +17 -9
  268. package/lib/esm/components/toast/toast.js.map +1 -1
  269. package/lib/esm/components/toast/types.d.ts +3 -0
  270. package/lib/esm/components/toast/types.d.ts.map +1 -1
  271. package/lib/esm/components/toggle-password/toggle-password.d.ts.map +1 -1
  272. package/lib/esm/components/toggle-password/toggle-password.js.map +1 -1
  273. package/lib/esm/helpers/dom.d.ts +4 -4
  274. package/lib/esm/helpers/dom.d.ts.map +1 -1
  275. package/lib/esm/helpers/dom.js +8 -10
  276. package/lib/esm/helpers/dom.js.map +1 -1
  277. package/lib/esm/helpers/event-handler.d.ts +1 -1
  278. package/lib/esm/helpers/event-handler.d.ts.map +1 -1
  279. package/lib/esm/helpers/event-handler.js +3 -1
  280. package/lib/esm/helpers/event-handler.js.map +1 -1
  281. package/lib/esm/helpers/utils.d.ts +1 -1
  282. package/lib/esm/helpers/utils.d.ts.map +1 -1
  283. package/lib/esm/helpers/utils.js +4 -1
  284. package/lib/esm/helpers/utils.js.map +1 -1
  285. package/lib/esm/index.d.ts +16 -0
  286. package/lib/esm/index.d.ts.map +1 -1
  287. package/lib/esm/index.js +12 -0
  288. package/lib/esm/index.js.map +1 -1
  289. package/lib/esm/types.d.ts +1 -1
  290. package/lib/esm/types.d.ts.map +1 -1
  291. package/package.json +5 -3
  292. package/src/components/carousel/__tests__/carousel.test.ts +326 -0
  293. package/src/components/carousel/carousel.css +42 -0
  294. package/src/components/carousel/carousel.ts +847 -0
  295. package/src/components/carousel/index.ts +11 -0
  296. package/src/components/carousel/types.ts +38 -0
  297. package/src/components/clipboard/__tests__/clipboard.test.ts +438 -0
  298. package/src/components/clipboard/clipboard.ts +416 -0
  299. package/src/components/clipboard/index.ts +2 -0
  300. package/src/components/clipboard/types.ts +51 -0
  301. package/src/components/component.ts +15 -5
  302. package/src/components/datatable/__tests__/currency-sort.test.ts +6 -13
  303. package/src/components/datatable/__tests__/multi-row-headers.test.ts +2 -2
  304. package/src/components/datatable/__tests__/pagination-reset.test.ts +7 -4
  305. package/src/components/datatable/__tests__/race-conditions.test.ts +11 -14
  306. package/src/components/datatable/__tests__/setup.ts +1 -1
  307. package/src/components/datatable/datatable-checkbox.ts +6 -4
  308. package/src/components/datatable/datatable-sort.ts +27 -7
  309. package/src/components/datatable/datatable.ts +67 -42
  310. package/src/components/datatable/types.ts +3 -1
  311. package/src/components/drawer/drawer.ts +3 -18
  312. package/src/components/dropdown/dropdown.ts +2 -3
  313. package/src/components/pin-input/__tests__/pin-input.test.ts +928 -0
  314. package/src/components/pin-input/index.ts +6 -0
  315. package/src/components/pin-input/pin-input.ts +499 -0
  316. package/src/components/pin-input/types.ts +45 -0
  317. package/src/components/range-slider/__tests__/range-slider.test.ts +659 -0
  318. package/src/components/range-slider/index.ts +11 -0
  319. package/src/components/range-slider/range-slider.ts +276 -0
  320. package/src/components/range-slider/types.ts +36 -0
  321. package/src/components/rating/__tests__/rating.test.ts +11 -4
  322. package/src/components/rating/rating.ts +22 -12
  323. package/src/components/repeater/__tests__/repeater.test.ts +24 -11
  324. package/src/components/repeater/repeater.ts +5 -3
  325. package/src/components/select/__tests__/ux-behaviors.test.ts +25 -6
  326. package/src/components/select/combobox.ts +23 -16
  327. package/src/components/select/config.ts +15 -14
  328. package/src/components/select/dropdown.ts +1 -1
  329. package/src/components/select/option.ts +14 -4
  330. package/src/components/select/remote.ts +68 -56
  331. package/src/components/select/search.ts +30 -27
  332. package/src/components/select/select.ts +41 -37
  333. package/src/components/select/tags.ts +14 -8
  334. package/src/components/select/templates.ts +11 -6
  335. package/src/components/select/types.ts +1 -1
  336. package/src/components/select/utils.ts +12 -10
  337. package/src/components/sticky/__tests__/sticky.test.ts +10 -3
  338. package/src/components/sticky/sticky.ts +16 -26
  339. package/src/components/sticky/types.ts +3 -3
  340. package/src/components/toast/toast.ts +34 -21
  341. package/src/components/toast/types.ts +5 -1
  342. package/src/components/toggle-password/toggle-password.ts +0 -1
  343. package/src/helpers/dom.ts +14 -17
  344. package/src/helpers/event-handler.ts +5 -6
  345. package/src/helpers/utils.ts +5 -2
  346. package/src/index.ts +35 -0
  347. package/src/types.ts +1 -1
  348. package/styles.css +1 -0
@@ -10,6 +10,7 @@ import {
10
10
  KTToastConfig,
11
11
  KTToastInstance,
12
12
  KTToastPosition,
13
+ KTToastClassNames,
13
14
  } from './types';
14
15
 
15
16
  const DEFAULT_CONFIG: KTToastConfig = {
@@ -60,9 +61,9 @@ export class KTToast extends KTComponent implements KTToastInterface {
60
61
  * @returns The toast's HTML markup as a string.
61
62
  */
62
63
  static getContent(options?: KTToastOptions) {
63
- const classNames = {
64
- ...((this.globalConfig.classNames as any) || {}),
65
- ...((options?.classNames as any) || {}),
64
+ const classNames: Partial<KTToastClassNames> = {
65
+ ...(this.globalConfig.classNames || {}),
66
+ ...(options?.classNames || {}),
66
67
  };
67
68
 
68
69
  if (options?.content) {
@@ -237,18 +238,18 @@ export class KTToast extends KTComponent implements KTToastInterface {
237
238
  const position =
238
239
  options.position || this.globalConfig.position || 'top-end';
239
240
 
240
- const classNames = {
241
- ...((this.globalConfig.classNames as any) || {}),
242
- ...((options.classNames as any) || {}),
241
+ const classNames: Partial<KTToastClassNames> = {
242
+ ...(this.globalConfig.classNames || {}),
243
+ ...(options.classNames || {}),
243
244
  };
244
245
 
245
246
  let container = this.containerMap.get(position);
246
247
 
247
248
  if (!container) {
248
249
  container = document.createElement('div');
249
- const classNames = {
250
- ...((this.globalConfig.classNames as any) || {}),
251
- ...((options.classNames as any) || {}),
250
+ const classNames: Partial<KTToastClassNames> = {
251
+ ...(this.globalConfig.classNames || {}),
252
+ ...(options.classNames || {}),
252
253
  };
253
254
  // Fallback to default hardcoded classes if not provided in options or globalConfig
254
255
  container.className =
@@ -260,7 +261,7 @@ export class KTToast extends KTComponent implements KTToastInterface {
260
261
  // Enforce maxToasts
261
262
  if (
262
263
  container.children.length >=
263
- (this.globalConfig.maxToasts || DEFAULT_CONFIG.maxToasts)
264
+ (this.globalConfig.maxToasts ?? DEFAULT_CONFIG.maxToasts ?? 5)
264
265
  ) {
265
266
  const firstToast = container.firstElementChild;
266
267
  if (firstToast) {
@@ -296,7 +297,10 @@ export class KTToast extends KTComponent implements KTToastInterface {
296
297
  };
297
298
 
298
299
  const toast = document.createElement('div');
299
- toast.className = `kt-toast kt-alert ${variantMap[options.variant] || ''} ${appearanceMap[options.appearance] || ''} ${sizeMap[options.size] || ''} ${options.className || ''} ${classNames.toast || ''}`;
300
+ const variantClass = variantMap[options.variant ?? 'info'] || '';
301
+ const appearanceClass = appearanceMap[options.appearance ?? 'solid'] || '';
302
+ const sizeClass = sizeMap[options.size ?? 'md'] || '';
303
+ toast.className = `kt-toast kt-alert ${variantClass} ${appearanceClass} ${sizeClass} ${options.className || ''} ${classNames.toast || ''}`;
300
304
  // ARIA support
301
305
  toast.setAttribute('role', options.role || 'status');
302
306
  toast.setAttribute('aria-live', 'polite');
@@ -392,10 +396,11 @@ export class KTToast extends KTComponent implements KTToastInterface {
392
396
  toast.classList.add(dirClass);
393
397
 
394
398
  // Enforce maxToasts: remove oldest if needed
395
- const maxToasts =
399
+ const maxToasts: number =
396
400
  options.maxToasts ??
397
401
  this.globalConfig.maxToasts ??
398
- DEFAULT_CONFIG.maxToasts;
402
+ DEFAULT_CONFIG.maxToasts ??
403
+ 5;
399
404
  const currentToasts = Array.from(container.children) as HTMLElement[];
400
405
  if (currentToasts.length >= maxToasts && currentToasts.length > 0) {
401
406
  const oldestToast = currentToasts[currentToasts.length - 1];
@@ -415,9 +420,17 @@ export class KTToast extends KTComponent implements KTToastInterface {
415
420
  if (options.beep) {
416
421
  try {
417
422
  // Use Web Audio API for a short beep
418
- const ctx = new (
419
- window.AudioContext || (window as any).webkitAudioContext
420
- )();
423
+ const Ctx =
424
+ window.AudioContext ||
425
+ (
426
+ window as Window & {
427
+ webkitAudioContext?: typeof AudioContext;
428
+ }
429
+ ).webkitAudioContext;
430
+ if (!Ctx) {
431
+ throw new Error('Web Audio API unavailable');
432
+ }
433
+ const ctx = new Ctx();
421
434
  const o = ctx.createOscillator();
422
435
  const g = ctx.createGain();
423
436
  o.type = 'sine';
@@ -430,7 +443,7 @@ export class KTToast extends KTComponent implements KTToastInterface {
430
443
  o.stop();
431
444
  ctx.close();
432
445
  }, 120);
433
- } catch (e) {
446
+ } catch {
434
447
  /* ignore */
435
448
  }
436
449
  }
@@ -442,7 +455,7 @@ export class KTToast extends KTComponent implements KTToastInterface {
442
455
 
443
456
  // Auto-dismiss
444
457
  let timeoutId: number | undefined = undefined;
445
- let remaining = duration;
458
+ let remaining = duration ?? 0;
446
459
  let startTime: number | undefined;
447
460
  let paused = false;
448
461
  let progressEl: HTMLElement | null = null;
@@ -493,7 +506,7 @@ export class KTToast extends KTComponent implements KTToastInterface {
493
506
  if (progressEl) {
494
507
  progressEl.style.transition = 'transform 0ms';
495
508
  progressEl.style.transform = `scaleX(${progressPausedAt})`;
496
- progressEl.offsetHeight; // force reflow
509
+ void progressEl.offsetHeight; // force reflow
497
510
  progressEl.style.transition = `transform ${remaining}ms linear`;
498
511
  progressEl.style.transform = 'scaleX(0)';
499
512
  }
@@ -566,8 +579,8 @@ export class KTToast extends KTComponent implements KTToastInterface {
566
579
  inst?.element.remove();
567
580
  KTToast.toasts.delete(id!);
568
581
  // Try to call onDismiss if available in the toast instance (if stored)
569
- if (typeof (inst as any).options?.onDismiss === 'function') {
570
- (inst as any).options.onDismiss(id);
582
+ if (typeof inst.options?.onDismiss === 'function') {
583
+ inst.options.onDismiss(id);
571
584
  }
572
585
  KTToast._fireEventOnElement(inst.element, 'hidden', { id });
573
586
  KTToast._dispatchEventOnElement(inst.element, 'hidden', { id });
@@ -60,6 +60,7 @@ export interface KTToastClassNames {
60
60
  message?: string; // Message
61
61
  toolbar?: string; // Toolbar
62
62
  actions?: string; // Actions
63
+ progress?: string; // Progress indicator
63
64
  }
64
65
 
65
66
  /**
@@ -93,7 +94,9 @@ export interface KTToastConfigInterface {
93
94
  progress?: boolean;
94
95
  }
95
96
 
96
- export interface KTToastInterface {}
97
+ export interface KTToastInterface {
98
+ dispose(): void;
99
+ }
97
100
 
98
101
  export interface KTToastOptions {
99
102
  /** Custom content for the toast. HTMLElement, function returning HTMLElement, or string (DOM id). If set, replaces all default markup. */
@@ -169,4 +172,5 @@ export interface KTToastInstance {
169
172
  id: string; // Toast unique ID
170
173
  element: HTMLElement; // Toast DOM element
171
174
  timeoutId: number; // Timer ID for auto-dismiss
175
+ options?: KTToastOptions; // Resolved options used to create this toast
172
176
  }
@@ -4,7 +4,6 @@
4
4
  */
5
5
 
6
6
  import KTData from '../../helpers/data';
7
- import KTDom from '../../helpers/dom';
8
7
  import KTComponent from '../component';
9
8
  import {
10
9
  KTTogglePasswordConfigInterface,
@@ -16,21 +16,17 @@ const KTDom = {
16
16
  return dir === 'rtl';
17
17
  },
18
18
 
19
- isElement(element: HTMLElement): boolean {
20
- if (element && element instanceof HTMLElement) {
21
- return true;
22
- } else {
23
- return false;
24
- }
19
+ isElement(element: unknown): element is HTMLElement {
20
+ return element instanceof HTMLElement;
25
21
  },
26
22
 
27
- getElement(element: HTMLElement | string): HTMLElement {
23
+ getElement(element: HTMLElement | string | null): HTMLElement | null {
28
24
  if (this.isElement(element)) {
29
- return element as HTMLElement;
25
+ return element;
30
26
  }
31
27
 
32
- if (element && (element as string).length > 0) {
33
- return document.querySelector(KTUtils.parseSelector(element as string));
28
+ if (typeof element === 'string' && element.length > 0) {
29
+ return document.querySelector(KTUtils.parseSelector(element));
34
30
  }
35
31
 
36
32
  return null;
@@ -151,7 +147,7 @@ const KTDom = {
151
147
 
152
148
  children(element: HTMLElement, selector: string): Array<HTMLElement> {
153
149
  if (!element || !element.childNodes) {
154
- return null;
150
+ return [];
155
151
  }
156
152
 
157
153
  const result: Array<HTMLElement> = [];
@@ -170,7 +166,7 @@ const KTDom = {
170
166
  return result;
171
167
  },
172
168
 
173
- child(element: HTMLElement, selector: string): HTMLElement {
169
+ child(element: HTMLElement, selector: string): HTMLElement | null {
174
170
  const children = KTDom.children(element, selector);
175
171
 
176
172
  return children ? children[0] : null;
@@ -236,7 +232,7 @@ const KTDom = {
236
232
  },
237
233
 
238
234
  reflow(element: HTMLElement): void {
239
- element.offsetHeight;
235
+ void element.offsetHeight;
240
236
  },
241
237
 
242
238
  insertAfter(element: HTMLElement, referenceNode: HTMLElement) {
@@ -277,7 +273,7 @@ const KTDom = {
277
273
  return 1;
278
274
  },
279
275
 
280
- isParentOrElementHidden(element: HTMLElement): boolean {
276
+ isParentOrElementHidden(element: HTMLElement | null): boolean {
281
277
  if (!element) {
282
278
  return false;
283
279
  }
@@ -380,9 +376,10 @@ const KTDom = {
380
376
  for (const key of keys) {
381
377
  let normalizedKey = key.replace(prefix, '');
382
378
  normalizedKey = KTUtils.uncapitalize(normalizedKey);
383
- attributes[normalizedKey] = KTUtils.parseDataAttribute(
384
- element.dataset[key],
385
- );
379
+ const datasetValue = element.dataset[key];
380
+ if (typeof datasetValue === 'string') {
381
+ attributes[normalizedKey] = KTUtils.parseDataAttribute(datasetValue);
382
+ }
386
383
  }
387
384
 
388
385
  return attributes;
@@ -14,23 +14,22 @@ const KTDelegatedEventHandlers: KTDelegatedEventHandlersInterface = {};
14
14
 
15
15
  const KTEventHandler = {
16
16
  on: function (
17
- element: HTMLElement,
17
+ element: HTMLElement | null,
18
18
  selector: string,
19
19
  eventName: string,
20
20
  handler: KTCallableType,
21
21
  ): string {
22
22
  if (element === null) {
23
- return null;
23
+ return '';
24
24
  }
25
25
 
26
26
  const eventId = KTUtils.geUID('event');
27
27
 
28
- KTDelegatedEventHandlers[eventId] = (
29
- event: Event & { target: HTMLElement },
30
- ) => {
28
+ KTDelegatedEventHandlers[eventId] = (event?: Event) => {
29
+ if (!event) return;
31
30
  // Fix: Check selector dynamically instead of pre-computing targets
32
31
  // This allows event delegation to work with dynamically added elements
33
- let target = event.target as HTMLElement;
32
+ let target = event.target as HTMLElement | null;
34
33
 
35
34
  while (target && target !== element) {
36
35
  // Check if current target matches the selector
@@ -50,7 +50,7 @@ const KTUtils = {
50
50
  }
51
51
  },
52
52
 
53
- parseJson(value: string): JSON {
53
+ parseJson(value: string): unknown | null {
54
54
  return value && value.length > 0
55
55
  ? JSON.parse(decodeURIComponent(value))
56
56
  : null;
@@ -134,13 +134,16 @@ const KTUtils = {
134
134
  },
135
135
 
136
136
  stringToObject: <T>(value: KTOptionType): T | null => {
137
+ if (value === null) {
138
+ return null;
139
+ }
137
140
  try {
138
141
  const parsed = JSON.parse(value.toString() as string);
139
142
  if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
140
143
  return parsed as T;
141
144
  }
142
145
  return null;
143
- } catch (error) {
146
+ } catch {
144
147
  return null;
145
148
  }
146
149
  },
package/src/index.ts CHANGED
@@ -30,6 +30,10 @@ import { KTSelect } from './components/select';
30
30
  import { KTToast } from './components/toast';
31
31
  import { KTRating } from './components/rating';
32
32
  import { KTRepeater } from './components/repeater';
33
+ import { KTClipboard } from './components/clipboard';
34
+ import { KTRangeSlider } from './components/range-slider';
35
+ import { KTPinInput } from './components/pin-input';
36
+ import { KTCarousel } from './components/carousel';
33
37
 
34
38
  export { KTDropdown } from './components/dropdown';
35
39
  export { KTModal } from './components/modal';
@@ -54,6 +58,10 @@ export { KTSelect } from './components/select';
54
58
  export { KTToast } from './components/toast';
55
59
  export { KTRating } from './components/rating';
56
60
  export { KTRepeater } from './components/repeater';
61
+ export { KTClipboard } from './components/clipboard';
62
+ export { KTRangeSlider } from './components/range-slider';
63
+ export { KTPinInput } from './components/pin-input';
64
+ export { KTCarousel } from './components/carousel';
57
65
 
58
66
  export type {
59
67
  KTAccordionConfigInterface,
@@ -109,6 +117,25 @@ export type {
109
117
  KTRepeaterConfigInterface,
110
118
  KTRepeaterInterface,
111
119
  } from './components/repeater';
120
+ export type {
121
+ KTClipboardConfigInterface,
122
+ KTClipboardInterface,
123
+ } from './components/clipboard';
124
+ export type {
125
+ KTRangeSliderConfigInterface,
126
+ KTRangeSliderEventPayloadInterface,
127
+ KTRangeSliderInterface,
128
+ } from './components/range-slider';
129
+ export type {
130
+ KTPinInputConfigInterface,
131
+ KTPinInputEventPayloadInterface,
132
+ KTPinInputInterface,
133
+ } from './components/pin-input';
134
+ export type {
135
+ KTCarouselConfigInterface,
136
+ KTCarouselChangePayloadInterface,
137
+ KTCarouselInterface,
138
+ } from './components/carousel';
112
139
  export type {
113
140
  KTScrollableConfigInterface,
114
141
  KTScrollableInterface,
@@ -180,6 +207,10 @@ const KTComponents = {
180
207
  KTToast.init();
181
208
  KTRating.init();
182
209
  KTRepeater.init();
210
+ KTClipboard.init();
211
+ KTRangeSlider.init();
212
+ KTPinInput.init();
213
+ KTCarousel.init();
183
214
  },
184
215
  };
185
216
 
@@ -212,6 +243,10 @@ declare global {
212
243
  KTToast: typeof KTToast;
213
244
  KTRating: typeof KTRating;
214
245
  KTRepeater: typeof KTRepeater;
246
+ KTClipboard: typeof KTClipboard;
247
+ KTRangeSlider: typeof KTRangeSlider;
248
+ KTPinInput: typeof KTPinInput;
249
+ KTCarousel: typeof KTCarousel;
215
250
  KTComponents: typeof KTComponents;
216
251
  }
217
252
  }
package/src/types.ts CHANGED
@@ -20,4 +20,4 @@ export declare type KTOffsetType = {
20
20
  bottom: number;
21
21
  };
22
22
 
23
- export declare type KTOptionType = string | number | boolean | object;
23
+ export declare type KTOptionType = string | number | boolean | object | null;
package/styles.css CHANGED
@@ -9,6 +9,7 @@
9
9
  @import './src/components/btn/btn.css';
10
10
  @import './src/components/label/label.css';
11
11
  @import './src/components/card/card.css';
12
+ @import './src/components/carousel/carousel.css';
12
13
  @import './src/components/checkbox/checkbox.css';
13
14
  @import './src/components/collapse/collapse.css';
14
15
  @import './src/components/datatable/datatable.css';