tekivex-ui 2.5.15 → 2.6.0

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 (395) hide show
  1. package/dist/charts.cjs +1 -1
  2. package/dist/charts.js +22 -553
  3. package/dist/chunk-B3ph66Zb.js +1 -0
  4. package/dist/chunk-Bc16rJT-.js +1 -0
  5. package/dist/chunk-Dike2DLU.js +3 -0
  6. package/dist/chunk-DjxOP8W4.js +1 -0
  7. package/dist/chunk-DkoFTL1O.js +1 -0
  8. package/dist/chunk-DmRB1Blb.js +1 -0
  9. package/dist/chunk-DnCXUUx5.js +1 -0
  10. package/dist/chunk-LWkKqC8d.js +1 -0
  11. package/dist/chunk-PJ50l0JC.js +1 -0
  12. package/dist/headless.cjs +1 -1
  13. package/dist/headless.js +1 -442
  14. package/dist/i18n.cjs +1 -1
  15. package/dist/i18n.js +1 -733
  16. package/dist/index.cjs +1 -152
  17. package/dist/index.d.ts +4 -2
  18. package/dist/index.js +429 -16786
  19. package/dist/quantum.cjs +1 -89
  20. package/dist/quantum.js +74 -2551
  21. package/dist/realtime.cjs +1 -23
  22. package/dist/realtime.js +1 -804
  23. package/dist/src/a11y/index.d.ts +0 -1
  24. package/dist/src/charts/TkxAreaChart.d.ts +0 -5
  25. package/dist/src/charts/TkxBarChart.d.ts +0 -3
  26. package/dist/src/charts/TkxDonutChart.d.ts +0 -5
  27. package/dist/src/charts/TkxLineChart.d.ts +0 -1
  28. package/dist/src/charts/TkxPieChart.d.ts +0 -3
  29. package/dist/src/charts/TkxRadarChart.d.ts +0 -3
  30. package/dist/src/charts/TkxScatterChart.d.ts +0 -2
  31. package/dist/src/charts/index.d.ts +0 -1
  32. package/dist/src/charts/shared.d.ts +0 -3
  33. package/dist/src/components/TkxAIChatBubble.d.ts +0 -9
  34. package/dist/src/components/TkxAIConfidenceBar.d.ts +0 -6
  35. package/dist/src/components/TkxAIThinking.d.ts +0 -6
  36. package/dist/src/components/TkxAccordion.d.ts +0 -1
  37. package/dist/src/components/TkxAffix.d.ts +0 -1
  38. package/dist/src/components/TkxAlert.d.ts +0 -1
  39. package/dist/src/components/TkxAnchor.d.ts +0 -1
  40. package/dist/src/components/TkxAppBar.d.ts +0 -1
  41. package/dist/src/components/TkxAutocomplete.d.ts +0 -1
  42. package/dist/src/components/TkxAvatar.d.ts +0 -1
  43. package/dist/src/components/TkxBadge.d.ts +0 -1
  44. package/dist/src/components/TkxBottomNav.d.ts +0 -1
  45. package/dist/src/components/TkxBreadcrumb.d.ts +0 -1
  46. package/dist/src/components/TkxButton.d.ts +0 -1
  47. package/dist/src/components/TkxCard.d.ts +0 -1
  48. package/dist/src/components/TkxCarousel.d.ts +0 -1
  49. package/dist/src/components/TkxCascader.d.ts +0 -1
  50. package/dist/src/components/TkxChat.d.ts +0 -1
  51. package/dist/src/components/TkxCheckbox.d.ts +0 -1
  52. package/dist/src/components/TkxClock.d.ts +0 -1
  53. package/dist/src/components/TkxColorPicker.d.ts +0 -1
  54. package/dist/src/components/TkxCommand.d.ts +0 -1
  55. package/dist/src/components/TkxConfigProvider.d.ts +0 -30
  56. package/dist/src/components/TkxDataGrid.d.ts +0 -15
  57. package/dist/src/components/TkxDatePicker.d.ts +0 -1
  58. package/dist/src/components/TkxDivider.d.ts +0 -1
  59. package/dist/src/components/TkxDrawer.d.ts +0 -1
  60. package/dist/src/components/TkxDropdown.d.ts +0 -1
  61. package/dist/src/components/TkxEmpty.d.ts +0 -1
  62. package/dist/src/components/TkxFileUpload.d.ts +0 -1
  63. package/dist/src/components/TkxForm.d.ts +0 -35
  64. package/dist/src/components/TkxIcon.d.ts +0 -1
  65. package/dist/src/components/TkxImage.d.ts +0 -1
  66. package/dist/src/components/TkxInput.d.ts +1 -1
  67. package/dist/src/components/TkxLayout.d.ts +0 -22
  68. package/dist/src/components/TkxList.d.ts +0 -1
  69. package/dist/src/components/TkxLiveFeed.d.ts +0 -1
  70. package/dist/src/components/TkxLiveLog.d.ts +0 -1
  71. package/dist/src/components/TkxLiveMetrics.d.ts +0 -1
  72. package/dist/src/components/TkxLogo.d.ts +0 -1
  73. package/dist/src/components/TkxMarkdown.d.ts +0 -10
  74. package/dist/src/components/TkxMasonry.d.ts +0 -1
  75. package/dist/src/components/TkxMentions.d.ts +0 -1
  76. package/dist/src/components/TkxMenu.d.ts +0 -1
  77. package/dist/src/components/TkxModal.d.ts +0 -1
  78. package/dist/src/components/TkxNumberInput.d.ts +0 -1
  79. package/dist/src/components/TkxOTP.d.ts +0 -1
  80. package/dist/src/components/TkxOrgChart.d.ts +32 -0
  81. package/dist/src/components/TkxPagination.d.ts +0 -1
  82. package/dist/src/components/TkxPlayground.d.ts +0 -13
  83. package/dist/src/components/TkxPopover.d.ts +0 -1
  84. package/dist/src/components/TkxProgress.d.ts +0 -1
  85. package/dist/src/components/TkxQRCode.d.ts +0 -1
  86. package/dist/src/components/TkxQuantumForm.d.ts +0 -1
  87. package/dist/src/components/TkxRadio.d.ts +0 -1
  88. package/dist/src/components/TkxRating.d.ts +0 -1
  89. package/dist/src/components/TkxRealTimeChart.d.ts +0 -1
  90. package/dist/src/components/TkxResult.d.ts +0 -1
  91. package/dist/src/components/TkxRichTextDisplay.d.ts +0 -1
  92. package/dist/src/components/TkxSegmented.d.ts +0 -1
  93. package/dist/src/components/TkxSelect.d.ts +0 -3
  94. package/dist/src/components/TkxSkeleton.d.ts +0 -1
  95. package/dist/src/components/TkxSlider.d.ts +0 -1
  96. package/dist/src/components/TkxSnackbar.d.ts +0 -1
  97. package/dist/src/components/TkxSpeedDial.d.ts +0 -1
  98. package/dist/src/components/TkxSpin.d.ts +0 -1
  99. package/dist/src/components/TkxStatistic.d.ts +0 -1
  100. package/dist/src/components/TkxStepper.d.ts +0 -1
  101. package/dist/src/components/TkxTable.d.ts +0 -1
  102. package/dist/src/components/TkxTabs.d.ts +0 -1
  103. package/dist/src/components/TkxTag.d.ts +0 -1
  104. package/dist/src/components/TkxThemeBuilder.d.ts +0 -1
  105. package/dist/src/components/TkxTimeline.d.ts +0 -1
  106. package/dist/src/components/TkxToast.d.ts +0 -1
  107. package/dist/src/components/TkxToggle.d.ts +0 -1
  108. package/dist/src/components/TkxToolbar.d.ts +0 -1
  109. package/dist/src/components/TkxTooltip.d.ts +0 -1
  110. package/dist/src/components/TkxTour.d.ts +0 -1
  111. package/dist/src/components/TkxTransferList.d.ts +0 -1
  112. package/dist/src/components/TkxTreeView.d.ts +0 -1
  113. package/dist/src/components/TkxTypography.d.ts +0 -1
  114. package/dist/src/components/TkxVideoPlayer.d.ts +0 -1
  115. package/dist/src/components/TkxWatermark.d.ts +0 -1
  116. package/dist/src/components/index.d.ts +1 -1
  117. package/dist/src/engine/css.d.ts +0 -1
  118. package/dist/src/engine/index.d.ts +0 -1
  119. package/dist/src/engine/quantum-ai.d.ts +0 -73
  120. package/dist/src/engine/quantum.d.ts +0 -1
  121. package/dist/src/engine/security.d.ts +45 -9
  122. package/dist/src/engine/tkx.d.ts +0 -53
  123. package/dist/src/engine/wcag.d.ts +0 -1
  124. package/dist/src/headless/index.d.ts +0 -1
  125. package/dist/src/headless/useControllable.d.ts +0 -15
  126. package/dist/src/headless/useDebounce.d.ts +0 -12
  127. package/dist/src/headless/useDisclosure.d.ts +0 -13
  128. package/dist/src/headless/useFormState.d.ts +0 -13
  129. package/dist/src/headless/useInfiniteQuery.d.ts +0 -11
  130. package/dist/src/headless/useIntersectionObserver.d.ts +0 -10
  131. package/dist/src/headless/useListSelection.d.ts +0 -9
  132. package/dist/src/headless/useLocalStorage.d.ts +0 -8
  133. package/dist/src/headless/useMediaQuery.d.ts +0 -10
  134. package/dist/src/headless/useRovingTabIndex.d.ts +0 -15
  135. package/dist/src/headless/useSSE.d.ts +0 -9
  136. package/dist/src/headless/useThrottle.d.ts +0 -7
  137. package/dist/src/headless/useWebSocket.d.ts +0 -9
  138. package/dist/src/hooks/index.d.ts +0 -1
  139. package/dist/src/i18n/I18nProvider.d.ts +0 -1
  140. package/dist/src/i18n/index.d.ts +0 -1
  141. package/dist/src/quantum/index.d.ts +0 -1
  142. package/dist/src/realtime/index.d.ts +0 -1
  143. package/dist/src/themes/index.d.ts +0 -1
  144. package/package.json +5 -3
  145. package/dist/TkxForm-BaO4wvXt.js +0 -320
  146. package/dist/TkxForm-M6ttomry.cjs +0 -12
  147. package/dist/chunk-Bmb41Sf3.cjs +0 -1
  148. package/dist/hooks-6pRsPOyG.js +0 -58
  149. package/dist/hooks-mivgRljH.cjs +0 -1
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/src/a11y/index.d.ts.map +0 -1
  152. package/dist/src/charts/TkxAreaChart.d.ts.map +0 -1
  153. package/dist/src/charts/TkxBarChart.d.ts.map +0 -1
  154. package/dist/src/charts/TkxDonutChart.d.ts.map +0 -1
  155. package/dist/src/charts/TkxLineChart.d.ts.map +0 -1
  156. package/dist/src/charts/TkxPieChart.d.ts.map +0 -1
  157. package/dist/src/charts/TkxRadarChart.d.ts.map +0 -1
  158. package/dist/src/charts/TkxScatterChart.d.ts.map +0 -1
  159. package/dist/src/charts/index.d.ts.map +0 -1
  160. package/dist/src/charts/shared.d.ts.map +0 -1
  161. package/dist/src/components/TkxAIChatBubble.d.ts.map +0 -1
  162. package/dist/src/components/TkxAIConfidenceBar.d.ts.map +0 -1
  163. package/dist/src/components/TkxAIThinking.d.ts.map +0 -1
  164. package/dist/src/components/TkxAccordion.d.ts.map +0 -1
  165. package/dist/src/components/TkxAffix.d.ts.map +0 -1
  166. package/dist/src/components/TkxAlert.d.ts.map +0 -1
  167. package/dist/src/components/TkxAnchor.d.ts.map +0 -1
  168. package/dist/src/components/TkxAppBar.d.ts.map +0 -1
  169. package/dist/src/components/TkxAutocomplete.d.ts.map +0 -1
  170. package/dist/src/components/TkxAvatar.d.ts.map +0 -1
  171. package/dist/src/components/TkxBadge.d.ts.map +0 -1
  172. package/dist/src/components/TkxBottomNav.d.ts.map +0 -1
  173. package/dist/src/components/TkxBreadcrumb.d.ts.map +0 -1
  174. package/dist/src/components/TkxButton.d.ts.map +0 -1
  175. package/dist/src/components/TkxCard.d.ts.map +0 -1
  176. package/dist/src/components/TkxCarousel.d.ts.map +0 -1
  177. package/dist/src/components/TkxCascader.d.ts.map +0 -1
  178. package/dist/src/components/TkxChat.d.ts.map +0 -1
  179. package/dist/src/components/TkxCheckbox.d.ts.map +0 -1
  180. package/dist/src/components/TkxClock.d.ts.map +0 -1
  181. package/dist/src/components/TkxColorPicker.d.ts.map +0 -1
  182. package/dist/src/components/TkxCommand.d.ts.map +0 -1
  183. package/dist/src/components/TkxConfigProvider.d.ts.map +0 -1
  184. package/dist/src/components/TkxDataGrid.d.ts.map +0 -1
  185. package/dist/src/components/TkxDatePicker.d.ts.map +0 -1
  186. package/dist/src/components/TkxDivider.d.ts.map +0 -1
  187. package/dist/src/components/TkxDrawer.d.ts.map +0 -1
  188. package/dist/src/components/TkxDropdown.d.ts.map +0 -1
  189. package/dist/src/components/TkxEmpty.d.ts.map +0 -1
  190. package/dist/src/components/TkxFileUpload.d.ts.map +0 -1
  191. package/dist/src/components/TkxForm.d.ts.map +0 -1
  192. package/dist/src/components/TkxIcon.d.ts.map +0 -1
  193. package/dist/src/components/TkxImage.d.ts.map +0 -1
  194. package/dist/src/components/TkxInput.d.ts.map +0 -1
  195. package/dist/src/components/TkxLayout.d.ts.map +0 -1
  196. package/dist/src/components/TkxList.d.ts.map +0 -1
  197. package/dist/src/components/TkxLiveFeed.d.ts.map +0 -1
  198. package/dist/src/components/TkxLiveLog.d.ts.map +0 -1
  199. package/dist/src/components/TkxLiveMetrics.d.ts.map +0 -1
  200. package/dist/src/components/TkxLogo.d.ts.map +0 -1
  201. package/dist/src/components/TkxMarkdown.d.ts.map +0 -1
  202. package/dist/src/components/TkxMasonry.d.ts.map +0 -1
  203. package/dist/src/components/TkxMentions.d.ts.map +0 -1
  204. package/dist/src/components/TkxMenu.d.ts.map +0 -1
  205. package/dist/src/components/TkxModal.d.ts.map +0 -1
  206. package/dist/src/components/TkxNumberInput.d.ts.map +0 -1
  207. package/dist/src/components/TkxOTP.d.ts.map +0 -1
  208. package/dist/src/components/TkxPagination.d.ts.map +0 -1
  209. package/dist/src/components/TkxPlayground.d.ts.map +0 -1
  210. package/dist/src/components/TkxPopover.d.ts.map +0 -1
  211. package/dist/src/components/TkxProgress.d.ts.map +0 -1
  212. package/dist/src/components/TkxQRCode.d.ts.map +0 -1
  213. package/dist/src/components/TkxQuantumForm.d.ts.map +0 -1
  214. package/dist/src/components/TkxRadio.d.ts.map +0 -1
  215. package/dist/src/components/TkxRating.d.ts.map +0 -1
  216. package/dist/src/components/TkxRealTimeChart.d.ts.map +0 -1
  217. package/dist/src/components/TkxResult.d.ts.map +0 -1
  218. package/dist/src/components/TkxRichTextDisplay.d.ts.map +0 -1
  219. package/dist/src/components/TkxSegmented.d.ts.map +0 -1
  220. package/dist/src/components/TkxSelect.d.ts.map +0 -1
  221. package/dist/src/components/TkxSkeleton.d.ts.map +0 -1
  222. package/dist/src/components/TkxSlider.d.ts.map +0 -1
  223. package/dist/src/components/TkxSnackbar.d.ts.map +0 -1
  224. package/dist/src/components/TkxSpeedDial.d.ts.map +0 -1
  225. package/dist/src/components/TkxSpin.d.ts.map +0 -1
  226. package/dist/src/components/TkxStatistic.d.ts.map +0 -1
  227. package/dist/src/components/TkxStepper.d.ts.map +0 -1
  228. package/dist/src/components/TkxTable.d.ts.map +0 -1
  229. package/dist/src/components/TkxTabs.d.ts.map +0 -1
  230. package/dist/src/components/TkxTag.d.ts.map +0 -1
  231. package/dist/src/components/TkxThemeBuilder.d.ts.map +0 -1
  232. package/dist/src/components/TkxTimeline.d.ts.map +0 -1
  233. package/dist/src/components/TkxToast.d.ts.map +0 -1
  234. package/dist/src/components/TkxToggle.d.ts.map +0 -1
  235. package/dist/src/components/TkxToolbar.d.ts.map +0 -1
  236. package/dist/src/components/TkxTooltip.d.ts.map +0 -1
  237. package/dist/src/components/TkxTour.d.ts.map +0 -1
  238. package/dist/src/components/TkxTransferList.d.ts.map +0 -1
  239. package/dist/src/components/TkxTreeView.d.ts.map +0 -1
  240. package/dist/src/components/TkxTypography.d.ts.map +0 -1
  241. package/dist/src/components/TkxVideoPlayer.d.ts.map +0 -1
  242. package/dist/src/components/TkxWatermark.d.ts.map +0 -1
  243. package/dist/src/components/index.d.ts.map +0 -1
  244. package/dist/src/engine/css.d.ts.map +0 -1
  245. package/dist/src/engine/index.d.ts.map +0 -1
  246. package/dist/src/engine/quantum-ai.d.ts.map +0 -1
  247. package/dist/src/engine/quantum.d.ts.map +0 -1
  248. package/dist/src/engine/security.d.ts.map +0 -1
  249. package/dist/src/engine/tkx.d.ts.map +0 -1
  250. package/dist/src/engine/wcag.d.ts.map +0 -1
  251. package/dist/src/headless/index.d.ts.map +0 -1
  252. package/dist/src/headless/useControllable.d.ts.map +0 -1
  253. package/dist/src/headless/useDebounce.d.ts.map +0 -1
  254. package/dist/src/headless/useDisclosure.d.ts.map +0 -1
  255. package/dist/src/headless/useFormState.d.ts.map +0 -1
  256. package/dist/src/headless/useInfiniteQuery.d.ts.map +0 -1
  257. package/dist/src/headless/useIntersectionObserver.d.ts.map +0 -1
  258. package/dist/src/headless/useListSelection.d.ts.map +0 -1
  259. package/dist/src/headless/useLocalStorage.d.ts.map +0 -1
  260. package/dist/src/headless/useMediaQuery.d.ts.map +0 -1
  261. package/dist/src/headless/useRovingTabIndex.d.ts.map +0 -1
  262. package/dist/src/headless/useSSE.d.ts.map +0 -1
  263. package/dist/src/headless/useThrottle.d.ts.map +0 -1
  264. package/dist/src/headless/useWebSocket.d.ts.map +0 -1
  265. package/dist/src/hooks/index.d.ts.map +0 -1
  266. package/dist/src/i18n/I18nProvider.d.ts.map +0 -1
  267. package/dist/src/i18n/index.d.ts.map +0 -1
  268. package/dist/src/quantum/index.d.ts.map +0 -1
  269. package/dist/src/realtime/index.d.ts.map +0 -1
  270. package/dist/src/themes/index.d.ts.map +0 -1
  271. package/dist/themes-BbJanqiC.js +0 -498
  272. package/dist/themes-CMq2vWXj.cjs +0 -2
  273. package/dist/tkx-BoP5V5zy.cjs +0 -4
  274. package/dist/tkx-mOKMzvUK.js +0 -1174
  275. package/src/a11y/index.tsx +0 -87
  276. package/src/charts/TkxAreaChart.tsx +0 -121
  277. package/src/charts/TkxBarChart.tsx +0 -117
  278. package/src/charts/TkxDonutChart.tsx +0 -164
  279. package/src/charts/TkxLineChart.tsx +0 -137
  280. package/src/charts/TkxPieChart.tsx +0 -103
  281. package/src/charts/TkxRadarChart.tsx +0 -92
  282. package/src/charts/TkxScatterChart.tsx +0 -104
  283. package/src/charts/index.ts +0 -22
  284. package/src/charts/shared.ts +0 -47
  285. package/src/components/TkxAIChatBubble.tsx +0 -256
  286. package/src/components/TkxAIConfidenceBar.tsx +0 -133
  287. package/src/components/TkxAIThinking.tsx +0 -193
  288. package/src/components/TkxAccordion.tsx +0 -590
  289. package/src/components/TkxAffix.tsx +0 -140
  290. package/src/components/TkxAlert.tsx +0 -94
  291. package/src/components/TkxAnchor.tsx +0 -195
  292. package/src/components/TkxAppBar.tsx +0 -262
  293. package/src/components/TkxAutocomplete.tsx +0 -455
  294. package/src/components/TkxAvatar.tsx +0 -103
  295. package/src/components/TkxBadge.tsx +0 -75
  296. package/src/components/TkxBottomNav.tsx +0 -241
  297. package/src/components/TkxBreadcrumb.tsx +0 -324
  298. package/src/components/TkxButton.tsx +0 -155
  299. package/src/components/TkxCard.tsx +0 -96
  300. package/src/components/TkxCarousel.tsx +0 -554
  301. package/src/components/TkxCascader.tsx +0 -278
  302. package/src/components/TkxChat.tsx +0 -356
  303. package/src/components/TkxCheckbox.tsx +0 -220
  304. package/src/components/TkxClock.tsx +0 -603
  305. package/src/components/TkxColorPicker.tsx +0 -635
  306. package/src/components/TkxCommand.tsx +0 -646
  307. package/src/components/TkxConfigProvider.tsx +0 -460
  308. package/src/components/TkxDataGrid.tsx +0 -941
  309. package/src/components/TkxDatePicker.tsx +0 -1625
  310. package/src/components/TkxDivider.tsx +0 -51
  311. package/src/components/TkxDrawer.tsx +0 -236
  312. package/src/components/TkxDropdown.tsx +0 -804
  313. package/src/components/TkxEmpty.tsx +0 -221
  314. package/src/components/TkxFileUpload.tsx +0 -373
  315. package/src/components/TkxForm.tsx +0 -683
  316. package/src/components/TkxIcon.tsx +0 -685
  317. package/src/components/TkxImage.tsx +0 -279
  318. package/src/components/TkxInput.tsx +0 -103
  319. package/src/components/TkxLayout.tsx +0 -649
  320. package/src/components/TkxList.tsx +0 -244
  321. package/src/components/TkxLiveFeed.tsx +0 -331
  322. package/src/components/TkxLiveLog.tsx +0 -472
  323. package/src/components/TkxLiveMetrics.tsx +0 -315
  324. package/src/components/TkxLogo.tsx +0 -299
  325. package/src/components/TkxMarkdown.tsx +0 -855
  326. package/src/components/TkxMasonry.tsx +0 -178
  327. package/src/components/TkxMentions.tsx +0 -212
  328. package/src/components/TkxMenu.tsx +0 -1044
  329. package/src/components/TkxModal.tsx +0 -122
  330. package/src/components/TkxNumberInput.tsx +0 -410
  331. package/src/components/TkxOTP.tsx +0 -297
  332. package/src/components/TkxPagination.tsx +0 -390
  333. package/src/components/TkxPlayground.tsx +0 -845
  334. package/src/components/TkxPopover.tsx +0 -297
  335. package/src/components/TkxProgress.tsx +0 -114
  336. package/src/components/TkxQRCode.tsx +0 -176
  337. package/src/components/TkxQuantumForm.tsx +0 -594
  338. package/src/components/TkxRadio.tsx +0 -286
  339. package/src/components/TkxRating.tsx +0 -288
  340. package/src/components/TkxRealTimeChart.tsx +0 -383
  341. package/src/components/TkxResult.tsx +0 -130
  342. package/src/components/TkxRichTextDisplay.tsx +0 -396
  343. package/src/components/TkxSegmented.tsx +0 -171
  344. package/src/components/TkxSelect.tsx +0 -1130
  345. package/src/components/TkxSkeleton.tsx +0 -107
  346. package/src/components/TkxSlider.tsx +0 -495
  347. package/src/components/TkxSnackbar.tsx +0 -316
  348. package/src/components/TkxSpeedDial.tsx +0 -397
  349. package/src/components/TkxSpin.tsx +0 -263
  350. package/src/components/TkxStatistic.tsx +0 -263
  351. package/src/components/TkxStepper.tsx +0 -487
  352. package/src/components/TkxTable.tsx +0 -424
  353. package/src/components/TkxTabs.tsx +0 -126
  354. package/src/components/TkxTag.tsx +0 -321
  355. package/src/components/TkxThemeBuilder.tsx +0 -687
  356. package/src/components/TkxTimeline.tsx +0 -305
  357. package/src/components/TkxToast.tsx +0 -287
  358. package/src/components/TkxToggle.tsx +0 -95
  359. package/src/components/TkxToolbar.tsx +0 -262
  360. package/src/components/TkxTooltip.tsx +0 -85
  361. package/src/components/TkxTour.tsx +0 -241
  362. package/src/components/TkxTransferList.tsx +0 -489
  363. package/src/components/TkxTreeView.tsx +0 -423
  364. package/src/components/TkxTypography.tsx +0 -267
  365. package/src/components/TkxVideoPlayer.tsx +0 -1015
  366. package/src/components/TkxWatermark.tsx +0 -145
  367. package/src/components/index.ts +0 -80
  368. package/src/engine/css.ts +0 -126
  369. package/src/engine/index.ts +0 -12
  370. package/src/engine/quantum-ai.ts +0 -1045
  371. package/src/engine/quantum.ts +0 -207
  372. package/src/engine/security.ts +0 -232
  373. package/src/engine/tkx.ts +0 -1084
  374. package/src/engine/wcag.ts +0 -276
  375. package/src/headless/index.ts +0 -52
  376. package/src/headless/useControllable.ts +0 -42
  377. package/src/headless/useDebounce.ts +0 -37
  378. package/src/headless/useDisclosure.ts +0 -30
  379. package/src/headless/useFormState.ts +0 -113
  380. package/src/headless/useInfiniteQuery.ts +0 -155
  381. package/src/headless/useIntersectionObserver.ts +0 -53
  382. package/src/headless/useListSelection.ts +0 -103
  383. package/src/headless/useLocalStorage.ts +0 -48
  384. package/src/headless/useMediaQuery.ts +0 -39
  385. package/src/headless/useRovingTabIndex.ts +0 -86
  386. package/src/headless/useSSE.ts +0 -167
  387. package/src/headless/useThrottle.ts +0 -48
  388. package/src/headless/useWebSocket.ts +0 -231
  389. package/src/hooks/index.ts +0 -122
  390. package/src/i18n/I18nProvider.tsx +0 -36
  391. package/src/i18n/index.ts +0 -877
  392. package/src/quantum/index.ts +0 -39
  393. package/src/realtime/index.ts +0 -21
  394. package/src/styles/global.css +0 -167
  395. package/src/themes/index.ts +0 -294
@@ -1,424 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- useState,
5
- useRef,
6
- useEffect,
7
- useCallback,
8
- useMemo,
9
- type ReactNode,
10
- } from 'react';
11
- import { useTheme } from '../themes';
12
- import { sanitizeString } from '../engine/security';
13
- import { TkxSkeleton } from './TkxSkeleton';
14
- import { tkx } from '../engine/tkx';
15
-
16
- // ── Types ─────────────────────────────────────────────────────────────────────
17
-
18
- export type SortDirection = 'asc' | 'desc' | 'none';
19
-
20
- export interface ColumnDef<T> {
21
- key: keyof T;
22
- header: string;
23
- render?: (value: T[keyof T], row: T) => ReactNode;
24
- width?: string;
25
- sortable?: boolean;
26
- }
27
-
28
- export interface TkxTableProps<T extends Record<string, unknown>> {
29
- columns: ColumnDef<T>[];
30
- data: T[];
31
- caption?: string;
32
- sortable?: boolean;
33
- stickyHeader?: boolean;
34
- isLoading?: boolean;
35
- emptyState?: ReactNode;
36
- style?: React.CSSProperties;
37
- className?: string;
38
- striped?: boolean;
39
- // Virtual scroll
40
- maxHeight?: number | string;
41
- rowHeight?: number;
42
- virtualScroll?: boolean;
43
- // Infinite scroll
44
- onLoadMore?: () => void | Promise<void>;
45
- hasMore?: boolean;
46
- loadingMore?: boolean;
47
- // Row interaction
48
- onRowClick?: (row: T, index: number) => void;
49
- selectedRows?: number[];
50
- // Appearance
51
- bordered?: boolean;
52
- compact?: boolean;
53
- }
54
-
55
- // ── Sort icon ─────────────────────────────────────────────────────────────────
56
-
57
- function SortIcon({ dir }: { dir: SortDirection }) {
58
- return (
59
- <svg
60
- width="12"
61
- height="12"
62
- viewBox="0 0 24 24"
63
- fill="currentColor"
64
- aria-hidden="true"
65
- className={tkx('shrink-0')}
66
- >
67
- {dir === 'asc' ? (
68
- <path d="M7 14l5-5 5 5H7z" />
69
- ) : dir === 'desc' ? (
70
- <path d="M7 10l5 5 5-5H7z" />
71
- ) : (
72
- <path d="M7 10l5 5 5-5H7zM7 14l5-5 5 5H7z" opacity="0.4" />
73
- )}
74
- </svg>
75
- );
76
- }
77
-
78
- // ── Component ─────────────────────────────────────────────────────────────────
79
-
80
- export function TkxTable<T extends Record<string, unknown>>({
81
- columns,
82
- data,
83
- caption,
84
- sortable,
85
- stickyHeader,
86
- isLoading,
87
- emptyState,
88
- style,
89
- className,
90
- striped,
91
- maxHeight,
92
- rowHeight = 44,
93
- virtualScroll,
94
- onLoadMore,
95
- hasMore,
96
- loadingMore = false,
97
- onRowClick,
98
- selectedRows,
99
- bordered,
100
- compact,
101
- }: TkxTableProps<T>) {
102
- const theme = useTheme();
103
-
104
- // ── Sort ───────────────────────────────────────────────────────────────
105
- const [sortKey, setSortKey] = useState<keyof T | null>(null);
106
- const [sortDir, setSortDir] = useState<'asc' | 'desc'>('asc');
107
-
108
- const sorted = useMemo(() => {
109
- if (!sortKey || !sortable) return data;
110
- return [...data].sort((a, b) => {
111
- const av = a[sortKey];
112
- const bv = b[sortKey];
113
- let cmp = 0;
114
- if (typeof av === 'string' && typeof bv === 'string') cmp = av.localeCompare(bv);
115
- else if (typeof av === 'number' && typeof bv === 'number') cmp = av - bv;
116
- return sortDir === 'asc' ? cmp : -cmp;
117
- });
118
- }, [data, sortKey, sortDir, sortable]);
119
-
120
- const handleSort = useCallback(
121
- (key: keyof T) => {
122
- if (sortKey === key) setSortDir((d) => (d === 'asc' ? 'desc' : 'asc'));
123
- else { setSortKey(key); setSortDir('asc'); }
124
- },
125
- [sortKey],
126
- );
127
-
128
- function getDir(key: keyof T): SortDirection {
129
- return sortKey !== key ? 'none' : sortDir;
130
- }
131
-
132
- // ── Virtual scroll ─────────────────────────────────────────────────────
133
- const OVERSCAN = 5;
134
- const isVirtual =
135
- virtualScroll !== undefined
136
- ? virtualScroll
137
- : maxHeight !== undefined && sorted.length >= 50;
138
-
139
- const scrollContainerRef = useRef<HTMLDivElement>(null);
140
- const [scrollTop, setScrollTop] = useState(0);
141
- const [containerHeight, setContainerHeight] = useState(400);
142
-
143
- const handleScroll = useCallback(() => {
144
- if (scrollContainerRef.current) {
145
- setScrollTop(scrollContainerRef.current.scrollTop);
146
- }
147
- }, []);
148
-
149
- useEffect(() => {
150
- if (!isVirtual || !scrollContainerRef.current) return;
151
- const el = scrollContainerRef.current;
152
- setContainerHeight(el.clientHeight);
153
- const ro = new ResizeObserver(() => setContainerHeight(el.clientHeight));
154
- ro.observe(el);
155
- return () => ro.disconnect();
156
- }, [isVirtual]);
157
-
158
- const startIndex = isVirtual
159
- ? Math.max(0, Math.floor(scrollTop / rowHeight) - OVERSCAN)
160
- : 0;
161
- const endIndex = isVirtual
162
- ? Math.min(sorted.length, Math.ceil((scrollTop + containerHeight) / rowHeight) + OVERSCAN)
163
- : sorted.length;
164
-
165
- const visibleRows = isVirtual ? sorted.slice(startIndex, endIndex) : sorted;
166
-
167
- // ── Infinite scroll ────────────────────────────────────────────────────
168
- const sentinelRef = useRef<HTMLDivElement>(null);
169
- const loadingRef = useRef<boolean>(false);
170
-
171
- // Reset debounce flag when data.length changes (new data arrived)
172
- useEffect(() => {
173
- loadingRef.current = false;
174
- }, [data.length]);
175
-
176
- useEffect(() => {
177
- if (!onLoadMore) return;
178
- const sentinel = sentinelRef.current;
179
- if (!sentinel) return;
180
-
181
- const observer = new IntersectionObserver(
182
- (entries) => {
183
- const entry = entries[0];
184
- if (entry.isIntersecting && !loadingRef.current && hasMore !== false) {
185
- loadingRef.current = true;
186
- onLoadMore();
187
- }
188
- },
189
- {
190
- root: scrollContainerRef.current,
191
- rootMargin: '0px 0px 200px 0px',
192
- threshold: 0,
193
- },
194
- );
195
-
196
- observer.observe(sentinel);
197
- return () => observer.disconnect();
198
- // eslint-disable-next-line react-hooks/exhaustive-deps
199
- }, [onLoadMore, hasMore]);
200
-
201
- // ── Styles ─────────────────────────────────────────────────────────────
202
- const py = compact ? '4px' : '12px';
203
- const px = compact ? '8px' : '16px';
204
- const borderStyle = bordered ? `1px solid ${theme.border}` : 'none';
205
- const selectedSet = useMemo(() => new Set(selectedRows ?? []), [selectedRows]);
206
-
207
- return (
208
- <div
209
- className={tkx('w-full rounded-lg', className ?? '')}
210
- style={{ border: `1px solid ${theme.border}`, overflow: 'hidden', ...style }}
211
- >
212
- <div
213
- ref={scrollContainerRef}
214
- onScroll={isVirtual ? handleScroll : undefined}
215
- style={{
216
- overflowX: 'auto',
217
- overflowY: maxHeight ? 'auto' : 'visible',
218
- maxHeight: maxHeight ?? 'none',
219
- }}
220
- >
221
- <table
222
- className={tkx('w-full font-sans text-sm')}
223
- style={{ borderCollapse: 'collapse', color: theme.text }}
224
- >
225
- {caption && (
226
- <caption
227
- className={tkx('text-sm text-left p-2')}
228
- style={{ color: theme.textMuted }}
229
- >
230
- {sanitizeString(caption)}
231
- </caption>
232
- )}
233
-
234
- {/* ── Header ─────────────────────────────────────────────── */}
235
- <thead
236
- style={
237
- stickyHeader
238
- ? { position: 'sticky', top: 0, backgroundColor: theme.surfaceAlt, zIndex: 1 }
239
- : { backgroundColor: theme.surfaceAlt }
240
- }
241
- >
242
- <tr>
243
- {columns.map((col) => {
244
- const canSort = sortable && col.sortable !== false;
245
- const dir = getDir(col.key);
246
- return (
247
- <th
248
- key={String(col.key)}
249
- scope="col"
250
- aria-sort={
251
- canSort
252
- ? dir === 'none'
253
- ? 'none'
254
- : dir === 'asc'
255
- ? 'ascending'
256
- : 'descending'
257
- : undefined
258
- }
259
- className={tkx(
260
- 'text-left font-semibold whitespace-nowrap',
261
- canSort ? 'cursor-pointer select-none' : '',
262
- )}
263
- style={{
264
- padding: `${py} ${px}`,
265
- color: theme.textMuted,
266
- borderBottom: `2px solid ${theme.border}`,
267
- borderRight: borderStyle,
268
- width: col.width,
269
- }}
270
- onClick={() => canSort && handleSort(col.key)}
271
- onKeyDown={(e) => {
272
- if (canSort && (e.key === 'Enter' || e.key === ' ')) {
273
- e.preventDefault();
274
- handleSort(col.key);
275
- }
276
- }}
277
- tabIndex={canSort ? 0 : undefined}
278
- >
279
- <span className={tkx('inline-flex items-center gap-1.5')}>
280
- {sanitizeString(col.header)}
281
- {canSort && <SortIcon dir={dir} />}
282
- </span>
283
- </th>
284
- );
285
- })}
286
- </tr>
287
- </thead>
288
-
289
- {/* ── Body ──────────────────────────────────────────────── */}
290
- <tbody>
291
- {isLoading ? (
292
- Array.from({ length: 5 }, (_, i) => (
293
- <tr key={i}>
294
- {columns.map((col) => (
295
- <td key={String(col.key)} style={{ padding: `${py} ${px}` }}>
296
- <TkxSkeleton variant="text" height="16px" />
297
- </td>
298
- ))}
299
- </tr>
300
- ))
301
- ) : sorted.length === 0 ? (
302
- <tr>
303
- <td
304
- colSpan={columns.length}
305
- className={tkx('text-center')}
306
- style={{ padding: '32px 16px', color: theme.textMuted }}
307
- >
308
- {emptyState ?? 'No data available'}
309
- </td>
310
- </tr>
311
- ) : (
312
- <>
313
- {/* Top spacer for virtual scroll */}
314
- {isVirtual && startIndex > 0 && (
315
- <tr aria-hidden="true" style={{ height: startIndex * rowHeight }}>
316
- <td colSpan={columns.length} style={{ padding: 0, border: 'none' }} />
317
- </tr>
318
- )}
319
-
320
- {visibleRows.map((row, i) => {
321
- const rowIndex = startIndex + i;
322
- const isSelected = selectedSet.has(rowIndex);
323
- return (
324
- <tr
325
- key={rowIndex}
326
- aria-rowindex={rowIndex + 1}
327
- aria-selected={isSelected || undefined}
328
- onClick={onRowClick ? () => onRowClick(row, rowIndex) : undefined}
329
- onKeyDown={
330
- onRowClick
331
- ? (e) => {
332
- if (e.key === 'Enter' || e.key === ' ') {
333
- e.preventDefault();
334
- onRowClick(row, rowIndex);
335
- }
336
- }
337
- : undefined
338
- }
339
- tabIndex={onRowClick ? 0 : undefined}
340
- className={tkx(onRowClick ? 'cursor-pointer' : '')}
341
- style={{
342
- backgroundColor: isSelected
343
- ? `${theme.primary}22`
344
- : striped && rowIndex % 2 === 1
345
- ? theme.surfaceAlt
346
- : 'transparent',
347
- borderBottom: `1px solid ${theme.border}`,
348
- ...(isVirtual ? { height: rowHeight, boxSizing: 'border-box' as const } : {}),
349
- }}
350
- >
351
- {columns.map((col) => {
352
- const raw = row[col.key];
353
- const cell = col.render
354
- ? col.render(raw, row)
355
- : typeof raw === 'string'
356
- ? sanitizeString(raw)
357
- : String(raw ?? '');
358
- return (
359
- <td
360
- key={String(col.key)}
361
- style={{
362
- padding: `${py} ${px}`,
363
- color: theme.text,
364
- borderRight: borderStyle,
365
- }}
366
- >
367
- {cell}
368
- </td>
369
- );
370
- })}
371
- </tr>
372
- );
373
- })}
374
-
375
- {/* Bottom spacer for virtual scroll */}
376
- {isVirtual && endIndex < sorted.length && (
377
- <tr
378
- aria-hidden="true"
379
- style={{ height: (sorted.length - endIndex) * rowHeight }}
380
- >
381
- <td colSpan={columns.length} style={{ padding: 0, border: 'none' }} />
382
- </tr>
383
- )}
384
- </>
385
- )}
386
- </tbody>
387
- </table>
388
-
389
- {/* ── Infinite scroll sentinel ─────────────────────────────── */}
390
- {(hasMore || loadingMore) && (
391
- <div ref={sentinelRef} style={{ height: 1, width: '100%' }}>
392
- {loadingMore && (
393
- <table style={{ width: '100%', borderCollapse: 'collapse' }}>
394
- <tbody>
395
- {Array.from({ length: 3 }, (_, i) => (
396
- <tr key={i}>
397
- {columns.map((col) => (
398
- <td key={String(col.key)} style={{ padding: '10px 16px' }}>
399
- <TkxSkeleton variant="text" height="16px" />
400
- </td>
401
- ))}
402
- </tr>
403
- ))}
404
- </tbody>
405
- </table>
406
- )}
407
- </div>
408
- )}
409
- {!hasMore && onLoadMore && (
410
- <div
411
- style={{
412
- padding: '16px',
413
- textAlign: 'center',
414
- fontSize: 13,
415
- color: theme.textMuted,
416
- }}
417
- >
418
- ✓ All rows loaded
419
- </div>
420
- )}
421
- </div>
422
- </div>
423
- );
424
- }
@@ -1,126 +0,0 @@
1
- 'use client';
2
-
3
- import { createContext, useContext, useState, useRef, useId, type ReactNode, type HTMLAttributes } from 'react';
4
- import { useTheme } from '../themes';
5
- import { handleTabsKeyboard } from '../engine/wcag';
6
- import { tkx, cx } from '../engine/tkx';
7
-
8
- interface TabsContextValue {
9
- activeIndex: number;
10
- setActiveIndex: (i: number) => void;
11
- baseId: string;
12
- tabCount: number;
13
- }
14
-
15
- const TabsContext = createContext<TabsContextValue | null>(null);
16
-
17
- function useTabsContext() {
18
- const ctx = useContext(TabsContext);
19
- if (!ctx) throw new Error('TkxTab must be used inside TkxTabs');
20
- return ctx;
21
- }
22
-
23
- export interface TkxTabsProps {
24
- defaultIndex?: number;
25
- activeIndex?: number;
26
- onChange?: (i: number) => void;
27
- children: ReactNode;
28
- tabCount?: number;
29
- style?: React.CSSProperties;
30
- className?: string;
31
- }
32
-
33
- export function TkxTabs({ defaultIndex = 0, activeIndex: controlled, onChange, children, tabCount = 0, style, className }: TkxTabsProps) {
34
- const [internal, setInternal] = useState(defaultIndex);
35
- const baseId = useId();
36
- const active = controlled !== undefined ? controlled : internal;
37
- const setActive = (i: number) => { if (controlled === undefined) setInternal(i); onChange?.(i); };
38
-
39
- return (
40
- <TabsContext.Provider value={{ activeIndex: active, setActiveIndex: setActive, baseId, tabCount }}>
41
- <div className={className} style={style}>{children}</div>
42
- </TabsContext.Provider>
43
- );
44
- }
45
-
46
- export interface TkxTabListProps extends HTMLAttributes<HTMLDivElement> { children: ReactNode; }
47
-
48
- export function TkxTabList({ children, className, style, ...rest }: TkxTabListProps) {
49
- const theme = useTheme();
50
- return (
51
- <div
52
- role="tablist"
53
- className={cx(tkx('flex gap-1'), className)}
54
- style={{ borderBottom: `2px solid ${theme.border}`, ...style }}
55
- {...rest}
56
- >
57
- {children}
58
- </div>
59
- );
60
- }
61
-
62
- export interface TkxTabProps { index: number; children: ReactNode; disabled?: boolean; className?: string; style?: React.CSSProperties; }
63
-
64
- export function TkxTab({ index, children, disabled = false, className, style }: TkxTabProps) {
65
- const theme = useTheme();
66
- const { activeIndex, setActiveIndex, baseId, tabCount } = useTabsContext();
67
- const tabRef = useRef<HTMLButtonElement>(null);
68
- const isActive = activeIndex === index;
69
-
70
- return (
71
- <button
72
- ref={tabRef}
73
- role="tab"
74
- id={`${baseId}-tab-${index}`}
75
- aria-controls={`${baseId}-panel-${index}`}
76
- aria-selected={isActive}
77
- tabIndex={isActive ? 0 : -1}
78
- disabled={disabled}
79
- className={cx(
80
- tkx(
81
- 'border-none bg-transparent font-sans text-sm rounded-t cursor-pointer select-none',
82
- 'py-2.5 px-4 transition-colors duration-150 focus-visible:focus-ring',
83
- disabled ? 'opacity-50 cursor-not-allowed' : '',
84
- ),
85
- className,
86
- )}
87
- style={{
88
- color: isActive ? theme.primary : theme.textMuted,
89
- fontWeight: isActive ? 600 : 400,
90
- borderBottom: isActive ? `2px solid ${theme.primary}` : '2px solid transparent',
91
- marginBottom: '-2px',
92
- ...style,
93
- }}
94
- onClick={() => !disabled && setActiveIndex(index)}
95
- onKeyDown={(e) => handleTabsKeyboard(e as unknown as KeyboardEvent, index, tabCount, (ni) => {
96
- setActiveIndex(ni);
97
- document.getElementById(`${baseId}-tab-${ni}`)?.focus();
98
- })}
99
- >
100
- {children}
101
- </button>
102
- );
103
- }
104
-
105
- export function TkxTabPanels({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>) {
106
- return <div className={className} {...rest}>{children}</div>;
107
- }
108
-
109
- export interface TkxTabPanelProps { index: number; children: ReactNode; style?: React.CSSProperties; className?: string; }
110
-
111
- export function TkxTabPanel({ index, children, style, className }: TkxTabPanelProps) {
112
- const { activeIndex, baseId } = useTabsContext();
113
- if (activeIndex !== index) return null;
114
- return (
115
- <div
116
- role="tabpanel"
117
- id={`${baseId}-panel-${index}`}
118
- aria-labelledby={`${baseId}-tab-${index}`}
119
- tabIndex={0}
120
- className={cx(tkx('pt-4'), className)}
121
- style={style}
122
- >
123
- {children}
124
- </div>
125
- );
126
- }