@keenthemes/ktui 1.0.3

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 (426) hide show
  1. package/CONTRIBUTING.md +88 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +124 -0
  4. package/dist/ktui.js +19201 -0
  5. package/dist/ktui.min.js +2 -0
  6. package/dist/ktui.min.js.map +1 -0
  7. package/lib/cjs/components/accordion/accordion.js +168 -0
  8. package/lib/cjs/components/accordion/accordion.js.map +1 -0
  9. package/lib/cjs/components/accordion/index.js +6 -0
  10. package/lib/cjs/components/accordion/index.js.map +1 -0
  11. package/lib/cjs/components/accordion/types.js +3 -0
  12. package/lib/cjs/components/accordion/types.js.map +1 -0
  13. package/lib/cjs/components/collapse/collapse.js +169 -0
  14. package/lib/cjs/components/collapse/collapse.js.map +1 -0
  15. package/lib/cjs/components/collapse/index.js +6 -0
  16. package/lib/cjs/components/collapse/index.js.map +1 -0
  17. package/lib/cjs/components/collapse/types.js +3 -0
  18. package/lib/cjs/components/collapse/types.js.map +1 -0
  19. package/lib/cjs/components/component.js +135 -0
  20. package/lib/cjs/components/component.js.map +1 -0
  21. package/lib/cjs/components/config.js +26 -0
  22. package/lib/cjs/components/config.js.map +1 -0
  23. package/lib/cjs/components/config.umd.js +23 -0
  24. package/lib/cjs/components/config.umd.js.map +1 -0
  25. package/lib/cjs/components/constants.js +15 -0
  26. package/lib/cjs/components/constants.js.map +1 -0
  27. package/lib/cjs/components/datatable/datatable.js +1464 -0
  28. package/lib/cjs/components/datatable/datatable.js.map +1 -0
  29. package/lib/cjs/components/datatable/index.js +6 -0
  30. package/lib/cjs/components/datatable/index.js.map +1 -0
  31. package/lib/cjs/components/datatable/types.js +3 -0
  32. package/lib/cjs/components/datatable/types.js.map +1 -0
  33. package/lib/cjs/components/dismiss/dismiss.js +131 -0
  34. package/lib/cjs/components/dismiss/dismiss.js.map +1 -0
  35. package/lib/cjs/components/dismiss/index.js +6 -0
  36. package/lib/cjs/components/dismiss/index.js.map +1 -0
  37. package/lib/cjs/components/dismiss/types.js +3 -0
  38. package/lib/cjs/components/dismiss/types.js.map +1 -0
  39. package/lib/cjs/components/drawer/drawer.js +347 -0
  40. package/lib/cjs/components/drawer/drawer.js.map +1 -0
  41. package/lib/cjs/components/drawer/index.js +6 -0
  42. package/lib/cjs/components/drawer/index.js.map +1 -0
  43. package/lib/cjs/components/drawer/types.js +3 -0
  44. package/lib/cjs/components/drawer/types.js.map +1 -0
  45. package/lib/cjs/components/dropdown/dropdown.js +403 -0
  46. package/lib/cjs/components/dropdown/dropdown.js.map +1 -0
  47. package/lib/cjs/components/dropdown/index.js +6 -0
  48. package/lib/cjs/components/dropdown/index.js.map +1 -0
  49. package/lib/cjs/components/dropdown/types.js +3 -0
  50. package/lib/cjs/components/dropdown/types.js.map +1 -0
  51. package/lib/cjs/components/image-input/image-input.js +191 -0
  52. package/lib/cjs/components/image-input/image-input.js.map +1 -0
  53. package/lib/cjs/components/image-input/index.js +6 -0
  54. package/lib/cjs/components/image-input/index.js.map +1 -0
  55. package/lib/cjs/components/image-input/types.js +3 -0
  56. package/lib/cjs/components/image-input/types.js.map +1 -0
  57. package/lib/cjs/components/menu/index.js +6 -0
  58. package/lib/cjs/components/menu/index.js.map +1 -0
  59. package/lib/cjs/components/menu/menu.js +1021 -0
  60. package/lib/cjs/components/menu/menu.js.map +1 -0
  61. package/lib/cjs/components/menu/types.js +3 -0
  62. package/lib/cjs/components/menu/types.js.map +1 -0
  63. package/lib/cjs/components/modal/index.js +6 -0
  64. package/lib/cjs/components/modal/index.js.map +1 -0
  65. package/lib/cjs/components/modal/modal.js +316 -0
  66. package/lib/cjs/components/modal/modal.js.map +1 -0
  67. package/lib/cjs/components/modal/types.js +3 -0
  68. package/lib/cjs/components/modal/types.js.map +1 -0
  69. package/lib/cjs/components/reparent/index.js +6 -0
  70. package/lib/cjs/components/reparent/index.js.map +1 -0
  71. package/lib/cjs/components/reparent/reparent.js +93 -0
  72. package/lib/cjs/components/reparent/reparent.js.map +1 -0
  73. package/lib/cjs/components/reparent/types.js +3 -0
  74. package/lib/cjs/components/reparent/types.js.map +1 -0
  75. package/lib/cjs/components/scrollable/index.js +6 -0
  76. package/lib/cjs/components/scrollable/index.js.map +1 -0
  77. package/lib/cjs/components/scrollable/scrollable.js +259 -0
  78. package/lib/cjs/components/scrollable/scrollable.js.map +1 -0
  79. package/lib/cjs/components/scrollable/types.js +3 -0
  80. package/lib/cjs/components/scrollable/types.js.map +1 -0
  81. package/lib/cjs/components/scrollspy/index.js +6 -0
  82. package/lib/cjs/components/scrollspy/index.js.map +1 -0
  83. package/lib/cjs/components/scrollspy/scrollspy.js +174 -0
  84. package/lib/cjs/components/scrollspy/scrollspy.js.map +1 -0
  85. package/lib/cjs/components/scrollspy/types.js +3 -0
  86. package/lib/cjs/components/scrollspy/types.js.map +1 -0
  87. package/lib/cjs/components/scrollto/index.js +6 -0
  88. package/lib/cjs/components/scrollto/index.js.map +1 -0
  89. package/lib/cjs/components/scrollto/scrollto.js +103 -0
  90. package/lib/cjs/components/scrollto/scrollto.js.map +1 -0
  91. package/lib/cjs/components/scrollto/types.js +3 -0
  92. package/lib/cjs/components/scrollto/types.js.map +1 -0
  93. package/lib/cjs/components/stepper/index.js +6 -0
  94. package/lib/cjs/components/stepper/index.js.map +1 -0
  95. package/lib/cjs/components/stepper/stepper.js +258 -0
  96. package/lib/cjs/components/stepper/stepper.js.map +1 -0
  97. package/lib/cjs/components/stepper/types.js +3 -0
  98. package/lib/cjs/components/stepper/types.js.map +1 -0
  99. package/lib/cjs/components/sticky/index.js +6 -0
  100. package/lib/cjs/components/sticky/index.js.map +1 -0
  101. package/lib/cjs/components/sticky/sticky.js +297 -0
  102. package/lib/cjs/components/sticky/sticky.js.map +1 -0
  103. package/lib/cjs/components/sticky/types.js +3 -0
  104. package/lib/cjs/components/sticky/types.js.map +1 -0
  105. package/lib/cjs/components/tabs/index.js +6 -0
  106. package/lib/cjs/components/tabs/index.js.map +1 -0
  107. package/lib/cjs/components/tabs/tabs.js +146 -0
  108. package/lib/cjs/components/tabs/tabs.js.map +1 -0
  109. package/lib/cjs/components/tabs/types.js +3 -0
  110. package/lib/cjs/components/tabs/types.js.map +1 -0
  111. package/lib/cjs/components/theme/index.js +6 -0
  112. package/lib/cjs/components/theme/index.js.map +1 -0
  113. package/lib/cjs/components/theme/theme.js +147 -0
  114. package/lib/cjs/components/theme/theme.js.map +1 -0
  115. package/lib/cjs/components/theme/types.js +3 -0
  116. package/lib/cjs/components/theme/types.js.map +1 -0
  117. package/lib/cjs/components/toggle/index.js +6 -0
  118. package/lib/cjs/components/toggle/index.js.map +1 -0
  119. package/lib/cjs/components/toggle/toggle.js +139 -0
  120. package/lib/cjs/components/toggle/toggle.js.map +1 -0
  121. package/lib/cjs/components/toggle/types.js +3 -0
  122. package/lib/cjs/components/toggle/types.js.map +1 -0
  123. package/lib/cjs/components/toggle-password/index.js +6 -0
  124. package/lib/cjs/components/toggle-password/index.js.map +1 -0
  125. package/lib/cjs/components/toggle-password/toggle-password.js +131 -0
  126. package/lib/cjs/components/toggle-password/toggle-password.js.map +1 -0
  127. package/lib/cjs/components/toggle-password/types.js +3 -0
  128. package/lib/cjs/components/toggle-password/types.js.map +1 -0
  129. package/lib/cjs/components/tooltip/index.js +6 -0
  130. package/lib/cjs/components/tooltip/index.js.map +1 -0
  131. package/lib/cjs/components/tooltip/tooltip.js +271 -0
  132. package/lib/cjs/components/tooltip/tooltip.js.map +1 -0
  133. package/lib/cjs/components/tooltip/types.js +3 -0
  134. package/lib/cjs/components/tooltip/types.js.map +1 -0
  135. package/lib/cjs/helpers/data.js +33 -0
  136. package/lib/cjs/helpers/data.js.map +1 -0
  137. package/lib/cjs/helpers/dom.js +297 -0
  138. package/lib/cjs/helpers/dom.js.map +1 -0
  139. package/lib/cjs/helpers/event-handler.js +36 -0
  140. package/lib/cjs/helpers/event-handler.js.map +1 -0
  141. package/lib/cjs/helpers/utils.js +94 -0
  142. package/lib/cjs/helpers/utils.js.map +1 -0
  143. package/lib/cjs/index.js +105 -0
  144. package/lib/cjs/index.js.map +1 -0
  145. package/lib/cjs/types.js +3 -0
  146. package/lib/cjs/types.js.map +1 -0
  147. package/lib/esm/components/accordion/accordion.js +165 -0
  148. package/lib/esm/components/accordion/accordion.js.map +1 -0
  149. package/lib/esm/components/accordion/index.js +2 -0
  150. package/lib/esm/components/accordion/index.js.map +1 -0
  151. package/lib/esm/components/accordion/types.js +2 -0
  152. package/lib/esm/components/accordion/types.js.map +1 -0
  153. package/lib/esm/components/collapse/collapse.js +166 -0
  154. package/lib/esm/components/collapse/collapse.js.map +1 -0
  155. package/lib/esm/components/collapse/index.js +2 -0
  156. package/lib/esm/components/collapse/index.js.map +1 -0
  157. package/lib/esm/components/collapse/types.js +2 -0
  158. package/lib/esm/components/collapse/types.js.map +1 -0
  159. package/lib/esm/components/component.js +133 -0
  160. package/lib/esm/components/component.js.map +1 -0
  161. package/lib/esm/components/config.js +24 -0
  162. package/lib/esm/components/config.js.map +1 -0
  163. package/lib/esm/components/config.umd.js +23 -0
  164. package/lib/esm/components/config.umd.js.map +1 -0
  165. package/lib/esm/components/constants.js +12 -0
  166. package/lib/esm/components/constants.js.map +1 -0
  167. package/lib/esm/components/datatable/datatable.js +1461 -0
  168. package/lib/esm/components/datatable/datatable.js.map +1 -0
  169. package/lib/esm/components/datatable/index.js +2 -0
  170. package/lib/esm/components/datatable/index.js.map +1 -0
  171. package/lib/esm/components/datatable/types.js +2 -0
  172. package/lib/esm/components/datatable/types.js.map +1 -0
  173. package/lib/esm/components/dismiss/dismiss.js +128 -0
  174. package/lib/esm/components/dismiss/dismiss.js.map +1 -0
  175. package/lib/esm/components/dismiss/index.js +2 -0
  176. package/lib/esm/components/dismiss/index.js.map +1 -0
  177. package/lib/esm/components/dismiss/types.js +2 -0
  178. package/lib/esm/components/dismiss/types.js.map +1 -0
  179. package/lib/esm/components/drawer/drawer.js +344 -0
  180. package/lib/esm/components/drawer/drawer.js.map +1 -0
  181. package/lib/esm/components/drawer/index.js +2 -0
  182. package/lib/esm/components/drawer/index.js.map +1 -0
  183. package/lib/esm/components/drawer/types.js +2 -0
  184. package/lib/esm/components/drawer/types.js.map +1 -0
  185. package/lib/esm/components/dropdown/dropdown.js +400 -0
  186. package/lib/esm/components/dropdown/dropdown.js.map +1 -0
  187. package/lib/esm/components/dropdown/index.js +2 -0
  188. package/lib/esm/components/dropdown/index.js.map +1 -0
  189. package/lib/esm/components/dropdown/types.js +2 -0
  190. package/lib/esm/components/dropdown/types.js.map +1 -0
  191. package/lib/esm/components/image-input/image-input.js +188 -0
  192. package/lib/esm/components/image-input/image-input.js.map +1 -0
  193. package/lib/esm/components/image-input/index.js +2 -0
  194. package/lib/esm/components/image-input/index.js.map +1 -0
  195. package/lib/esm/components/image-input/types.js +2 -0
  196. package/lib/esm/components/image-input/types.js.map +1 -0
  197. package/lib/esm/components/menu/index.js +2 -0
  198. package/lib/esm/components/menu/index.js.map +1 -0
  199. package/lib/esm/components/menu/menu.js +1018 -0
  200. package/lib/esm/components/menu/menu.js.map +1 -0
  201. package/lib/esm/components/menu/types.js +2 -0
  202. package/lib/esm/components/menu/types.js.map +1 -0
  203. package/lib/esm/components/modal/index.js +2 -0
  204. package/lib/esm/components/modal/index.js.map +1 -0
  205. package/lib/esm/components/modal/modal.js +313 -0
  206. package/lib/esm/components/modal/modal.js.map +1 -0
  207. package/lib/esm/components/modal/types.js +2 -0
  208. package/lib/esm/components/modal/types.js.map +1 -0
  209. package/lib/esm/components/reparent/index.js +2 -0
  210. package/lib/esm/components/reparent/index.js.map +1 -0
  211. package/lib/esm/components/reparent/reparent.js +90 -0
  212. package/lib/esm/components/reparent/reparent.js.map +1 -0
  213. package/lib/esm/components/reparent/types.js +2 -0
  214. package/lib/esm/components/reparent/types.js.map +1 -0
  215. package/lib/esm/components/scrollable/index.js +2 -0
  216. package/lib/esm/components/scrollable/index.js.map +1 -0
  217. package/lib/esm/components/scrollable/scrollable.js +256 -0
  218. package/lib/esm/components/scrollable/scrollable.js.map +1 -0
  219. package/lib/esm/components/scrollable/types.js +2 -0
  220. package/lib/esm/components/scrollable/types.js.map +1 -0
  221. package/lib/esm/components/scrollspy/index.js +2 -0
  222. package/lib/esm/components/scrollspy/index.js.map +1 -0
  223. package/lib/esm/components/scrollspy/scrollspy.js +171 -0
  224. package/lib/esm/components/scrollspy/scrollspy.js.map +1 -0
  225. package/lib/esm/components/scrollspy/types.js +2 -0
  226. package/lib/esm/components/scrollspy/types.js.map +1 -0
  227. package/lib/esm/components/scrollto/index.js +2 -0
  228. package/lib/esm/components/scrollto/index.js.map +1 -0
  229. package/lib/esm/components/scrollto/scrollto.js +100 -0
  230. package/lib/esm/components/scrollto/scrollto.js.map +1 -0
  231. package/lib/esm/components/scrollto/types.js +2 -0
  232. package/lib/esm/components/scrollto/types.js.map +1 -0
  233. package/lib/esm/components/stepper/index.js +2 -0
  234. package/lib/esm/components/stepper/index.js.map +1 -0
  235. package/lib/esm/components/stepper/stepper.js +255 -0
  236. package/lib/esm/components/stepper/stepper.js.map +1 -0
  237. package/lib/esm/components/stepper/types.js +2 -0
  238. package/lib/esm/components/stepper/types.js.map +1 -0
  239. package/lib/esm/components/sticky/index.js +2 -0
  240. package/lib/esm/components/sticky/index.js.map +1 -0
  241. package/lib/esm/components/sticky/sticky.js +294 -0
  242. package/lib/esm/components/sticky/sticky.js.map +1 -0
  243. package/lib/esm/components/sticky/types.js +2 -0
  244. package/lib/esm/components/sticky/types.js.map +1 -0
  245. package/lib/esm/components/tabs/index.js +2 -0
  246. package/lib/esm/components/tabs/index.js.map +1 -0
  247. package/lib/esm/components/tabs/tabs.js +143 -0
  248. package/lib/esm/components/tabs/tabs.js.map +1 -0
  249. package/lib/esm/components/tabs/types.js +2 -0
  250. package/lib/esm/components/tabs/types.js.map +1 -0
  251. package/lib/esm/components/theme/index.js +2 -0
  252. package/lib/esm/components/theme/index.js.map +1 -0
  253. package/lib/esm/components/theme/theme.js +144 -0
  254. package/lib/esm/components/theme/theme.js.map +1 -0
  255. package/lib/esm/components/theme/types.js +2 -0
  256. package/lib/esm/components/theme/types.js.map +1 -0
  257. package/lib/esm/components/toggle/index.js +2 -0
  258. package/lib/esm/components/toggle/index.js.map +1 -0
  259. package/lib/esm/components/toggle/toggle.js +136 -0
  260. package/lib/esm/components/toggle/toggle.js.map +1 -0
  261. package/lib/esm/components/toggle/types.js +2 -0
  262. package/lib/esm/components/toggle/types.js.map +1 -0
  263. package/lib/esm/components/toggle-password/index.js +2 -0
  264. package/lib/esm/components/toggle-password/index.js.map +1 -0
  265. package/lib/esm/components/toggle-password/toggle-password.js +128 -0
  266. package/lib/esm/components/toggle-password/toggle-password.js.map +1 -0
  267. package/lib/esm/components/toggle-password/types.js +2 -0
  268. package/lib/esm/components/toggle-password/types.js.map +1 -0
  269. package/lib/esm/components/tooltip/index.js +2 -0
  270. package/lib/esm/components/tooltip/index.js.map +1 -0
  271. package/lib/esm/components/tooltip/tooltip.js +268 -0
  272. package/lib/esm/components/tooltip/tooltip.js.map +1 -0
  273. package/lib/esm/components/tooltip/types.js +2 -0
  274. package/lib/esm/components/tooltip/types.js.map +1 -0
  275. package/lib/esm/helpers/data.js +31 -0
  276. package/lib/esm/helpers/data.js.map +1 -0
  277. package/lib/esm/helpers/dom.js +295 -0
  278. package/lib/esm/helpers/dom.js.map +1 -0
  279. package/lib/esm/helpers/event-handler.js +34 -0
  280. package/lib/esm/helpers/event-handler.js.map +1 -0
  281. package/lib/esm/helpers/utils.js +92 -0
  282. package/lib/esm/helpers/utils.js.map +1 -0
  283. package/lib/esm/index.js +79 -0
  284. package/lib/esm/index.js.map +1 -0
  285. package/lib/esm/types.js +2 -0
  286. package/lib/esm/types.js.map +1 -0
  287. package/package.json +85 -0
  288. package/prettier.config.js +9 -0
  289. package/src/components/accordion/accordion-menu.css +51 -0
  290. package/src/components/accordion/accordion.css +86 -0
  291. package/src/components/accordion/accordion.ts +221 -0
  292. package/src/components/accordion/index.ts +7 -0
  293. package/src/components/accordion/types.ts +16 -0
  294. package/src/components/alert/alert.css +282 -0
  295. package/src/components/avatar/avatar.css +46 -0
  296. package/src/components/badge/badge.css +176 -0
  297. package/src/components/breadcrumb/breadcrumb.css +38 -0
  298. package/src/components/btn/btn.css +227 -0
  299. package/src/components/card/card.css +158 -0
  300. package/src/components/checkbox/checkbox.css +74 -0
  301. package/src/components/collapse/collapse.css +14 -0
  302. package/src/components/collapse/collapse.ts +200 -0
  303. package/src/components/collapse/index.ts +7 -0
  304. package/src/components/collapse/types.ts +16 -0
  305. package/src/components/component.ts +132 -0
  306. package/src/components/constants.ts +16 -0
  307. package/src/components/datatable/datatable-checkbox.ts +236 -0
  308. package/src/components/datatable/datatable-sort.ts +154 -0
  309. package/src/components/datatable/datatable.css +110 -0
  310. package/src/components/datatable/datatable.ts +1657 -0
  311. package/src/components/datatable/index.ts +19 -0
  312. package/src/components/datatable/types.ts +203 -0
  313. package/src/components/datepicker/calendar.ts +1397 -0
  314. package/src/components/datepicker/config.ts +368 -0
  315. package/src/components/datepicker/datepicker.css +7 -0
  316. package/src/components/datepicker/datepicker.ts +1287 -0
  317. package/src/components/datepicker/dropdown.ts +757 -0
  318. package/src/components/datepicker/events.ts +149 -0
  319. package/src/components/datepicker/index.ts +10 -0
  320. package/src/components/datepicker/keyboard.ts +646 -0
  321. package/src/components/datepicker/locales.ts +80 -0
  322. package/src/components/datepicker/templates.ts +792 -0
  323. package/src/components/datepicker/types.ts +154 -0
  324. package/src/components/datepicker/utils.ts +631 -0
  325. package/src/components/dismiss/dismiss.css +10 -0
  326. package/src/components/dismiss/dismiss.ts +152 -0
  327. package/src/components/dismiss/index.ts +7 -0
  328. package/src/components/dismiss/types.ts +17 -0
  329. package/src/components/drawer/drawer.css +97 -0
  330. package/src/components/drawer/drawer.ts +437 -0
  331. package/src/components/drawer/index.ts +7 -0
  332. package/src/components/drawer/types.ts +25 -0
  333. package/src/components/dropdown/dropdown-menu.css +56 -0
  334. package/src/components/dropdown/dropdown.css +46 -0
  335. package/src/components/dropdown/dropdown.ts +549 -0
  336. package/src/components/dropdown/index.ts +7 -0
  337. package/src/components/dropdown/types.ts +28 -0
  338. package/src/components/form/form.css +54 -0
  339. package/src/components/image-input/image-input.css +56 -0
  340. package/src/components/image-input/image-input.ts +249 -0
  341. package/src/components/image-input/index.ts +10 -0
  342. package/src/components/image-input/types.ts +12 -0
  343. package/src/components/input/input-group.css +42 -0
  344. package/src/components/input/input.css +136 -0
  345. package/src/components/kbd/kbd.css +30 -0
  346. package/src/components/label/label.css +20 -0
  347. package/src/components/link/link.css +81 -0
  348. package/src/components/modal/index.ts +7 -0
  349. package/src/components/modal/modal.css +73 -0
  350. package/src/components/modal/modal.ts +382 -0
  351. package/src/components/modal/types.ts +21 -0
  352. package/src/components/pagination/pagination.css +26 -0
  353. package/src/components/popover/popover.css +22 -0
  354. package/src/components/progress/progress.css +51 -0
  355. package/src/components/radio/radio.css +51 -0
  356. package/src/components/reparent/index.ts +7 -0
  357. package/src/components/reparent/reparent.ts +109 -0
  358. package/src/components/reparent/types.ts +15 -0
  359. package/src/components/scrollable/index.ts +10 -0
  360. package/src/components/scrollable/scrollable.css +29 -0
  361. package/src/components/scrollable/scrollable.ts +297 -0
  362. package/src/components/scrollable/types.ts +16 -0
  363. package/src/components/scrollspy/index.ts +7 -0
  364. package/src/components/scrollspy/scrollspy.css +13 -0
  365. package/src/components/scrollspy/scrollspy.ts +224 -0
  366. package/src/components/scrollspy/types.ts +15 -0
  367. package/src/components/scrollto/index.ts +7 -0
  368. package/src/components/scrollto/scrollto.ts +127 -0
  369. package/src/components/scrollto/types.ts +15 -0
  370. package/src/components/select/combobox.ts +305 -0
  371. package/src/components/select/config.ts +324 -0
  372. package/src/components/select/dropdown.ts +510 -0
  373. package/src/components/select/index.ts +13 -0
  374. package/src/components/select/option.ts +43 -0
  375. package/src/components/select/remote.ts +477 -0
  376. package/src/components/select/search.ts +430 -0
  377. package/src/components/select/select.css +105 -0
  378. package/src/components/select/select.ts +1916 -0
  379. package/src/components/select/tags.ts +123 -0
  380. package/src/components/select/templates.ts +531 -0
  381. package/src/components/select/types.ts +36 -0
  382. package/src/components/select/utils.ts +747 -0
  383. package/src/components/select/variants.css +5 -0
  384. package/src/components/separator/separator.css +14 -0
  385. package/src/components/skeleton/skeleton.css +10 -0
  386. package/src/components/stepper/index.ts +7 -0
  387. package/src/components/stepper/stepper.css +49 -0
  388. package/src/components/stepper/stepper.ts +308 -0
  389. package/src/components/stepper/types.ts +13 -0
  390. package/src/components/sticky/index.ts +7 -0
  391. package/src/components/sticky/sticky.css +22 -0
  392. package/src/components/sticky/sticky.ts +381 -0
  393. package/src/components/sticky/types.ts +23 -0
  394. package/src/components/switch/switch.css +110 -0
  395. package/src/components/table/table.css +168 -0
  396. package/src/components/tabs/index.ts +7 -0
  397. package/src/components/tabs/tabs.css +40 -0
  398. package/src/components/tabs/tabs.ts +190 -0
  399. package/src/components/tabs/types.ts +13 -0
  400. package/src/components/textarea/textarea.css +35 -0
  401. package/src/components/theme-switch/index.ts +10 -0
  402. package/src/components/theme-switch/theme-switch.css +22 -0
  403. package/src/components/theme-switch/theme-switch.ts +176 -0
  404. package/src/components/theme-switch/types.ts +15 -0
  405. package/src/components/toggle/index.ts +7 -0
  406. package/src/components/toggle/toggle.css +13 -0
  407. package/src/components/toggle/toggle.ts +173 -0
  408. package/src/components/toggle/types.ts +18 -0
  409. package/src/components/toggle-group/toggle-group.css +55 -0
  410. package/src/components/toggle-password/index.ts +10 -0
  411. package/src/components/toggle-password/toggle-password.css +13 -0
  412. package/src/components/toggle-password/toggle-password.ts +159 -0
  413. package/src/components/toggle-password/types.ts +13 -0
  414. package/src/components/tooltip/index.ts +7 -0
  415. package/src/components/tooltip/tooltip.css +18 -0
  416. package/src/components/tooltip/tooltip.ts +361 -0
  417. package/src/components/tooltip/types.ts +28 -0
  418. package/src/helpers/data.ts +46 -0
  419. package/src/helpers/dom.ts +405 -0
  420. package/src/helpers/event-handler.ts +61 -0
  421. package/src/helpers/utils.ts +183 -0
  422. package/src/index.ts +113 -0
  423. package/src/types.ts +23 -0
  424. package/styles.css +48 -0
  425. package/tsconfig.json +17 -0
  426. package/webpack.config.js +113 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ export { KTAccordion } from './accordion';
7
+ export type { KTAccordionConfigInterface, KTAccordionInterface } from './types';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ export interface KTAccordionConfigInterface {
7
+ hiddenClass: string;
8
+ activeClass: string;
9
+ expandAll: boolean;
10
+ }
11
+
12
+ export interface KTAccordionInterface {
13
+ show(accordionElement: HTMLElement): void;
14
+ hide(accordionElement: HTMLElement): void;
15
+ toggle(accordionElement: HTMLElement): void;
16
+ }
@@ -0,0 +1,282 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ @layer components {
7
+ /* Base Alert Container */
8
+ .kt-alert {
9
+ @apply flex items-stretch w-full;
10
+ }
11
+
12
+ /* Alert Title */
13
+ .kt-alert-title {
14
+ @apply grow tracking-tight;
15
+ }
16
+
17
+ /* Alert Toolbar */
18
+ .kt-alert-toolbar {
19
+ @apply flex items-center gap-2.5;
20
+ }
21
+
22
+ /* Alert Descriptopn */
23
+ .kt-alert-description {
24
+ @apply text-sm [&_p]:leading-relaxed [&_p]:mb-2;
25
+ }
26
+
27
+ /* Alert Content */
28
+ .kt-alert-content {
29
+ @apply w-full grow space-y-1.5;
30
+
31
+ .kt-alert-title {
32
+ @apply font-semibold;
33
+ }
34
+ }
35
+
36
+ .kt-alert-icon {
37
+ @apply shrink-0;
38
+ }
39
+
40
+ /* Alert Close */
41
+ .kt-alert-close {
42
+ @apply shrink-0 size-4 cursor-pointer;
43
+
44
+ > svg {
45
+ @apply size-4 text-muted-foreground;
46
+ }
47
+
48
+ &:focus,
49
+ &:hover {
50
+ > svg {
51
+ @apply text-foreground;
52
+ }
53
+ }
54
+ }
55
+
56
+ /* Size */
57
+ .kt-alert {
58
+ @apply rounded-lg p-3.5 gap-2.5 text-sm;
59
+
60
+ .kt-alert-icon svg {
61
+ @apply size-5;
62
+ }
63
+ }
64
+
65
+ .kt-alert-sm {
66
+ @apply rounded-md py-2 px-2.5 gap-1.5 text-xs;
67
+
68
+ .kt-alert-close {
69
+ @apply size-3.5;
70
+
71
+ > svg {
72
+ @apply size-3.5 text-muted-foreground;
73
+ }
74
+ }
75
+
76
+ .kt-alert-icon svg {
77
+ @apply size-4;
78
+ }
79
+ }
80
+
81
+ .kt-alert-lg {
82
+ @apply rounded-md p-4 gap-2.5 text-base;
83
+
84
+ .kt-alert-icon svg {
85
+ @apply size-6;
86
+ }
87
+ }
88
+
89
+ /* Solid */
90
+ .kt-alert {
91
+ @apply bg-muted text-foreground;
92
+ }
93
+
94
+ .kt-alert-primary {
95
+ @apply bg-primary text-primary-foreground;
96
+
97
+ .kt-alert-close > svg {
98
+ @apply text-primary-foreground;
99
+ }
100
+ }
101
+
102
+ .kt-alert-destructive {
103
+ @apply bg-destructive text-destructive-foreground;
104
+
105
+ .kt-alert-close > svg {
106
+ @apply text-destructive-foreground;
107
+ }
108
+ }
109
+
110
+ .kt-alert-success {
111
+ @apply bg-green-500 text-white;
112
+
113
+ .kt-alert-close > svg {
114
+ @apply text-white;
115
+ }
116
+ }
117
+
118
+ .kt-alert-info {
119
+ @apply bg-violet-600 text-white;
120
+
121
+ .kt-alert-close > svg {
122
+ @apply text-white;
123
+ }
124
+ }
125
+
126
+ .kt-alert-warning {
127
+ @apply bg-yellow-500 text-white;
128
+
129
+ .kt-alert-close > svg {
130
+ @apply text-white;
131
+ }
132
+ }
133
+
134
+ .kt-alert-mono {
135
+ @apply bg-mono text-mono-foreground;
136
+
137
+ .kt-alert-close > svg {
138
+ @apply text-mono-foreground;
139
+ }
140
+ }
141
+
142
+ /* Mono */
143
+ .kt-alert-mono {
144
+ &.kt-alert-primary {
145
+ .kt-alert-icon {
146
+ @apply text-primary;
147
+ }
148
+ }
149
+
150
+ &.kt-alert-success {
151
+ .kt-alert-icon {
152
+ @apply text-green-500;
153
+ }
154
+ }
155
+
156
+ &.kt-alert-destructive {
157
+ .kt-alert-icon {
158
+ @apply text-destructive;
159
+ }
160
+ }
161
+
162
+ &.kt-alert-warning {
163
+ .kt-alert-icon {
164
+ @apply text-yellow-500;
165
+ }
166
+ }
167
+
168
+ &.kt-alert-info {
169
+ .kt-alert-icon {
170
+ @apply text-violet-600;
171
+ }
172
+ }
173
+ }
174
+
175
+ /* Outline */
176
+ .kt-alert-outline {
177
+ .kt-alert-close {
178
+ @apply shrink-0 size-4 cursor-pointer;
179
+
180
+ > svg {
181
+ @apply size-4 text-muted-foreground;
182
+ }
183
+
184
+ &:focus,
185
+ &:hover {
186
+ > svg {
187
+ @apply text-foreground;
188
+ }
189
+ }
190
+ }
191
+
192
+ @apply border border-border bg-background text-foreground;
193
+
194
+ &.kt-alert-primary {
195
+ @apply border border-border bg-background text-primary;
196
+ }
197
+
198
+ &.kt-alert-destructive {
199
+ @apply border border-border bg-background text-destructive;
200
+ }
201
+
202
+ &.kt-alert-success {
203
+ @apply border border-border bg-background text-green-500;
204
+ }
205
+
206
+ &.kt-alert-info {
207
+ @apply border border-border bg-background text-violet-600;
208
+ }
209
+
210
+ &.kt-alert-warning {
211
+ @apply border border-border bg-background text-yellow-500;
212
+ }
213
+
214
+ &.kt-alert-mono {
215
+ @apply border border-border bg-background text-mono;
216
+ }
217
+ }
218
+
219
+ /* Light */
220
+ .kt-alert-light {
221
+ @apply bg-muted border border-border text-foreground;
222
+
223
+ .kt-alert-icon > svg {
224
+ @apply text-muted-foreground;
225
+ }
226
+
227
+ .kt-alert-close {
228
+ @apply shrink-0 size-4 cursor-pointer;
229
+
230
+ > svg {
231
+ @apply size-4 text-muted-foreground;
232
+ }
233
+
234
+ &:focus,
235
+ &:hover {
236
+ > svg {
237
+ @apply text-foreground;
238
+ }
239
+ }
240
+ }
241
+
242
+ &.kt-alert-primary {
243
+ @apply bg-primary/5 border border-primary/10 text-foreground;
244
+
245
+ .kt-alert-icon > svg {
246
+ @apply text-primary;
247
+ }
248
+ }
249
+
250
+ &.kt-alert-destructive {
251
+ @apply bg-destructive/5 border border-destructive/10 text-foreground;
252
+
253
+ .kt-alert-icon > svg {
254
+ @apply text-destructive;
255
+ }
256
+ }
257
+
258
+ &.kt-alert-success {
259
+ @apply bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-950/50 text-foreground;
260
+
261
+ .kt-alert-icon > svg {
262
+ @apply text-green-500;
263
+ }
264
+ }
265
+
266
+ &.kt-alert-info {
267
+ @apply bg-violet-50 dark:bg-violet-950/30 border border-violet-200 dark:border-violet-950/50 text-foreground;
268
+
269
+ .kt-alert-icon > svg {
270
+ @apply text-violet-500;
271
+ }
272
+ }
273
+
274
+ &.kt-alert-warning {
275
+ @apply bg-yellow-50 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-950/50 text-foreground;
276
+
277
+ .kt-alert-icon > svg {
278
+ @apply text-yellow-500;
279
+ }
280
+ }
281
+ }
282
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ @layer components {
7
+ .kt-avatar {
8
+ @apply relative flex shrink-0 size-10;
9
+ }
10
+
11
+ .kt-avatar-image {
12
+ @apply overflow-hidden rounded-full;
13
+
14
+ img {
15
+ @apply aspect-square h-full w-full;
16
+ }
17
+ }
18
+
19
+ .kt-avatar-fallback {
20
+ @apply flex h-full w-full items-center justify-center rounded-full border border-border bg-accent text-sm;
21
+ }
22
+
23
+ .kt-avatar-indicator {
24
+ @apply absolute flex size-6 items-center justify-center;
25
+ }
26
+
27
+ .kt-avatar-status {
28
+ @apply flex items-center rounded-full size-2 border-2 border-background;
29
+
30
+ &.kt-avatar-status-online {
31
+ @apply bg-green-600;
32
+ }
33
+
34
+ &.kt-avatar-status-offline {
35
+ @apply bg-mono/50;
36
+ }
37
+
38
+ &.kt-avatar-status-busy {
39
+ @apply bg-yellow-600;
40
+ }
41
+
42
+ &.kt-avatar-status-away {
43
+ @apply bg-blue-600;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ @layer components {
7
+ /* Base */
8
+ .kt-badge {
9
+ @apply whitespace-nowrap bg-secondary text-accent-foreground inline-flex items-center justify-center font-medium focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 [&_svg]:-ms-px [&_svg]:shrink-0;
10
+ }
11
+
12
+ /* Variants */
13
+ .kt-badge-primary {
14
+ @apply bg-primary text-primary-foreground;
15
+ }
16
+ .kt-badge-secondary {
17
+ @apply bg-secondary text-accent-foreground;
18
+ }
19
+ .kt-badge-success {
20
+ @apply bg-green-500 text-white;
21
+ }
22
+ .kt-badge-warning {
23
+ @apply bg-yellow-400 text-white;
24
+ }
25
+ .kt-badge-info {
26
+ @apply bg-violet-500 text-white;
27
+ }
28
+ .kt-badge-mono {
29
+ @apply bg-mono text-mono-foreground;
30
+ }
31
+ .kt-badge-destructive {
32
+ @apply bg-destructive text-destructive-foreground;
33
+ }
34
+
35
+ /* Appearance */
36
+ .kt-badge-stroke {
37
+ @apply bg-background border border-border text-secondary-foreground;
38
+ }
39
+
40
+ /* Disabled */
41
+ .kt-badge-disabled {
42
+ @apply opacity-50 pointer-events-none;
43
+ }
44
+
45
+ /* Size */
46
+ .kt-badge-lg {
47
+ @apply rounded-md px-[0.5rem] h-7 min-w-7 gap-1.5 text-xs [&_svg]:size-3.5;
48
+ }
49
+ .kt-badge {
50
+ @apply rounded-md px-[0.45rem] h-6 min-w-6 gap-1.5 text-xs [&_svg]:size-3.5;
51
+ }
52
+ .kt-badge-sm {
53
+ @apply rounded-sm px-[0.325rem] h-5 min-w-5 gap-1 text-[0.6875rem] leading-[0.75rem] [&_svg]:size-3;
54
+ }
55
+ .kt-badge-xs {
56
+ @apply rounded-sm px-[0.25rem] h-4 min-w-4 gap-1 text-[0.625rem] leading-[0.5rem] [&_svg]:size-3;
57
+ }
58
+
59
+ /* Outline */
60
+ .kt-badge-outline {
61
+ @apply border border-border bg-muted text-secondary-foreground;
62
+
63
+ &.kt-badge-primary {
64
+ @apply border bg-blue-50 text-blue-700 border-blue-100 dark:text-blue-600 dark:bg-blue-950/50 dark:border-blue-950;
65
+ }
66
+
67
+ &.kt-badge-secondary {
68
+ @apply bg-secondary dark:bg-secondary/50 border-border text-foreground;
69
+ }
70
+
71
+ &.kt-badge-success {
72
+ @apply border bg-green-50 text-green-700 border-green-200 dark:text-green-600 dark:bg-green-950/50 dark:border-green-950;
73
+ }
74
+
75
+ &.kt-badge-warning.kt-badge-outline {
76
+ @apply border bg-yellow-50 text-yellow-700 border-yellow-100 dark:text-yellow-600 dark:bg-yellow-950/50 dark:border-yellow-950;
77
+ }
78
+
79
+ &.kt-badge-info.kt-badge-outline {
80
+ @apply border bg-violet-50 text-violet-700 border-violet-100 dark:text-violet-600 dark:bg-violet-950/50 dark:border-violet-950;
81
+ }
82
+
83
+ &.kt-badge-mono.kt-badge-outline {
84
+ @apply bg-mono/10 border-mono/10 text-mono;
85
+ }
86
+
87
+ &.kt-badge-destructive.kt-badge-outline {
88
+ @apply border bg-red-50 text-red-700 border-red-100 dark:text-red-600 dark:bg-red-950/50 dark:border-red-950;
89
+ }
90
+ }
91
+
92
+ /* Light */
93
+ .kt-badge-light {
94
+ &.kt-badge-primary {
95
+ @apply bg-blue-100 text-blue-800 dark:text-blue-600 dark:bg-blue-950/50;
96
+ }
97
+
98
+ &.kt-badge-secondary {
99
+ @apply bg-secondary dark:bg-secondary/50 text-secondary-foreground;
100
+ }
101
+
102
+ &.kt-badge-success {
103
+ @apply bg-green-100 text-green-800 dark:text-green-600 dark:bg-green-950/50;
104
+ }
105
+
106
+ &.kt-badge-warning {
107
+ @apply bg-yellow-100 text-yellow-800 dark:text-yellow-600 dark:bg-yellow-950/50;
108
+ }
109
+
110
+ &.kt-badge-info {
111
+ @apply bg-violet-100 text-violet-800 dark:text-violet-600 dark:bg-violet-950/50;
112
+ }
113
+
114
+ &.kt-badge-mono {
115
+ @apply bg-mono/10 text-mono;
116
+ }
117
+
118
+ &.kt-badge-destructive {
119
+ @apply bg-red-100 text-red-800 dark:text-red-600 dark:bg-red-950/50;
120
+ }
121
+ }
122
+
123
+ /* Ghost */
124
+ .kt-badge-ghost {
125
+ @apply bg-transparent px-0;
126
+
127
+ &.kt-badge-primary {
128
+ @apply text-primary;
129
+ }
130
+
131
+ &.kt-badge-secondary {
132
+ @apply text-secondary-foreground;
133
+ }
134
+
135
+ &.kt-badge-destructive {
136
+ @apply text-destructive;
137
+ }
138
+
139
+ &.kt-badge-success {
140
+ @apply text-green-500;
141
+ }
142
+
143
+ &.kt-badge-warning {
144
+ @apply text-yellow-500;
145
+ }
146
+
147
+ &.kt-badge-info {
148
+ @apply text-violet-500;
149
+ }
150
+
151
+ &.kt-badge-mono {
152
+ @apply text-mono;
153
+ }
154
+ }
155
+
156
+ /* Badge Button */
157
+ .kt-badge-btn {
158
+ @apply cursor-pointer inline-flex items-center justify-center leading-none size-3.5 p-0 rounded-md -me-0.5;
159
+
160
+ > svg {
161
+ @apply transition-[opacity] size-3.5 opacity-70;
162
+ }
163
+
164
+ &:focus,
165
+ &:hover {
166
+ > svg {
167
+ @apply opacity-100;
168
+ }
169
+ }
170
+ }
171
+
172
+ /* Badge Dot */
173
+ .kt-badge-dot {
174
+ @apply size-1.5 rounded-full bg-current opacity-75;
175
+ }
176
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ * @version: 1.0.0
5
+ */
6
+ @layer components {
7
+ .kt-breadcrumb {
8
+ @apply flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground;
9
+ }
10
+
11
+ .kt-breadcrumb-item {
12
+ @apply inline-flex items-center gap-1.5;
13
+ }
14
+
15
+ .kt-breadcrumb-link {
16
+ @apply transition-colors hover:text-foreground;
17
+
18
+ svg {
19
+ @apply size-4;
20
+ }
21
+ }
22
+
23
+ .kt-breadcrumb-page {
24
+ @apply font-normal text-foreground;
25
+ }
26
+
27
+ .kt-breadcrumb-separator {
28
+ svg {
29
+ @apply size-3.5;
30
+ }
31
+ }
32
+
33
+ .kt-breadcrumb-ellipsis {
34
+ svg {
35
+ @apply size-4;
36
+ }
37
+ }
38
+ }