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,286 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- createContext,
5
- useContext,
6
- useId,
7
- useState,
8
- useRef,
9
- forwardRef,
10
- type InputHTMLAttributes,
11
- type ReactNode,
12
- } from 'react';
13
- import { useTheme } from '../themes';
14
- import { sanitizeString } from '../engine/security';
15
- import { getAccessibleForeground } from '../engine/wcag';
16
- import { useReducedMotion } from '../hooks';
17
- import { tkx, cx } from '../engine/tkx';
18
-
19
- // ── Radio Group Context ───────────────────────────────────────────────────────
20
-
21
- interface RadioGroupContextValue {
22
- name: string;
23
- value: string;
24
- onChange: (value: string) => void;
25
- isDisabled: boolean;
26
- isInvalid: boolean;
27
- }
28
-
29
- const RadioGroupContext = createContext<RadioGroupContextValue | null>(null);
30
-
31
- function useRadioGroup() {
32
- return useContext(RadioGroupContext);
33
- }
34
-
35
- // ── Size map ──────────────────────────────────────────────────────────────────
36
-
37
- const SIZE_MAP = {
38
- sm: { outer: 16, inner: 7, fontSize: '13px' },
39
- md: { outer: 20, inner: 9, fontSize: '14px' },
40
- lg: { outer: 24, inner: 11, fontSize: '15px' },
41
- } as const;
42
-
43
- // ── TkxRadio ─────────────────────────────────────────────────────────────────
44
-
45
- export interface TkxRadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
46
- label?: ReactNode;
47
- hint?: string;
48
- size?: 'sm' | 'md' | 'lg';
49
- colorScheme?: 'primary' | 'success' | 'danger';
50
- }
51
-
52
- export const TkxRadio = forwardRef<HTMLInputElement, TkxRadioProps>(
53
- (
54
- {
55
- label,
56
- hint,
57
- size = 'md',
58
- colorScheme = 'primary',
59
- value,
60
- checked: checkedProp,
61
- onChange: onChangeProp,
62
- disabled: disabledProp,
63
- name: nameProp,
64
- className,
65
- style,
66
- id: idProp,
67
- ...rest
68
- },
69
- ref,
70
- ) => {
71
- const theme = useTheme();
72
- const reducedMotion = useReducedMotion();
73
- const autoId = useId();
74
- const id = idProp ?? autoId;
75
-
76
- const group = useRadioGroup();
77
-
78
- const isChecked = group
79
- ? group.value === String(value ?? '')
80
- : (checkedProp ?? false);
81
-
82
- const isDisabled = disabledProp ?? group?.isDisabled ?? false;
83
- const radioName = nameProp ?? group?.name ?? '';
84
-
85
- const handleChange = () => {
86
- if (isDisabled) return;
87
- if (group) {
88
- group.onChange(String(value ?? ''));
89
- } else {
90
- onChangeProp?.({ target: { value: String(value ?? '') } } as React.ChangeEvent<HTMLInputElement>);
91
- }
92
- };
93
-
94
- const sz = SIZE_MAP[size];
95
-
96
- const schemeColor: Record<string, string> = {
97
- primary: theme.primary,
98
- success: theme.success,
99
- danger: theme.danger,
100
- };
101
- const accentColor = schemeColor[colorScheme] ?? theme.primary;
102
- const dotColor = getAccessibleForeground(accentColor);
103
-
104
- const outerBorder = isChecked ? accentColor : theme.border;
105
- const outerBg = theme.surface;
106
-
107
- const dotAnimStyle: React.CSSProperties =
108
- !reducedMotion && isChecked
109
- ? { animation: 'tkx-radio-dot-in 130ms ease forwards' }
110
- : {};
111
-
112
- return (
113
- <div
114
- className={cx(tkx('flex flex-col gap-0.5'), className)}
115
- style={{ opacity: isDisabled ? 0.5 : 1, ...style }}
116
- >
117
- <style>{`
118
- @keyframes tkx-radio-dot-in {
119
- from { transform: scale(0) translate(-50%, -50%); opacity: 0; }
120
- to { transform: scale(1) translate(-50%, -50%); opacity: 1; }
121
- }
122
- `}</style>
123
-
124
- <label
125
- htmlFor={id}
126
- className={tkx('flex items-center gap-2 select-none')}
127
- style={{ cursor: isDisabled ? 'not-allowed' : 'pointer', fontFamily: 'inherit' }}
128
- >
129
- {/* Hidden native input */}
130
- <input
131
- ref={ref}
132
- id={id}
133
- type="radio"
134
- name={radioName}
135
- value={value}
136
- checked={isChecked}
137
- onChange={handleChange}
138
- disabled={isDisabled}
139
- aria-invalid={group?.isInvalid}
140
- className={tkx('sr-only')}
141
- {...rest}
142
- />
143
-
144
- {/* Custom styled circle */}
145
- <span
146
- aria-hidden="true"
147
- style={{
148
- position: 'relative',
149
- width: sz.outer,
150
- height: sz.outer,
151
- minWidth: sz.outer,
152
- borderRadius: '50%',
153
- border: `2px solid ${outerBorder}`,
154
- backgroundColor: outerBg,
155
- display: 'inline-block',
156
- boxSizing: 'border-box',
157
- transition: reducedMotion ? 'none' : 'border-color 120ms',
158
- }}
159
- >
160
- {isChecked && (
161
- <span
162
- aria-hidden="true"
163
- style={{
164
- position: 'absolute',
165
- top: '50%',
166
- left: '50%',
167
- width: sz.inner,
168
- height: sz.inner,
169
- borderRadius: '50%',
170
- backgroundColor: accentColor,
171
- transform: 'translate(-50%, -50%)',
172
- transformOrigin: 'center',
173
- ...(reducedMotion ? {} : { animation: 'tkx-radio-dot-in 130ms ease forwards' }),
174
- }}
175
- />
176
- )}
177
- </span>
178
-
179
- {label && (
180
- <span style={{ fontSize: sz.fontSize, color: theme.text, lineHeight: 1.4 }}>
181
- {typeof label === 'string' ? sanitizeString(label) : label}
182
- </span>
183
- )}
184
- </label>
185
-
186
- {hint && (
187
- <span
188
- className={tkx('text-xs')}
189
- style={{ color: theme.textMuted, marginLeft: sz.outer + 8 }}
190
- >
191
- {sanitizeString(hint)}
192
- </span>
193
- )}
194
- </div>
195
- );
196
- },
197
- );
198
-
199
- TkxRadio.displayName = 'TkxRadio';
200
-
201
- // ── TkxRadioGroup ─────────────────────────────────────────────────────────────
202
-
203
- export interface TkxRadioGroupProps {
204
- name: string;
205
- value?: string;
206
- defaultValue?: string;
207
- onChange?: (value: string) => void;
208
- label?: string;
209
- orientation?: 'horizontal' | 'vertical';
210
- isDisabled?: boolean;
211
- isInvalid?: boolean;
212
- errorMessage?: string;
213
- children: ReactNode;
214
- }
215
-
216
- export function TkxRadioGroup({
217
- name,
218
- value: valueProp,
219
- defaultValue = '',
220
- onChange,
221
- label,
222
- orientation = 'vertical',
223
- isDisabled = false,
224
- isInvalid = false,
225
- errorMessage,
226
- children,
227
- }: TkxRadioGroupProps) {
228
- const theme = useTheme();
229
- const groupId = useId();
230
- const errorId = `${groupId}-error`;
231
-
232
- const [internalValue, setInternalValue] = useState(defaultValue);
233
- const isControlled = valueProp !== undefined;
234
- const currentValue = isControlled ? valueProp : internalValue;
235
-
236
- const handleChange = (val: string) => {
237
- if (!isControlled) setInternalValue(val);
238
- onChange?.(val);
239
- };
240
-
241
- const hasError = isInvalid || !!errorMessage;
242
-
243
- return (
244
- <RadioGroupContext.Provider
245
- value={{ name, value: currentValue, onChange: handleChange, isDisabled, isInvalid }}
246
- >
247
- <div
248
- role="radiogroup"
249
- aria-label={label ? sanitizeString(label) : undefined}
250
- aria-describedby={hasError ? errorId : undefined}
251
- aria-invalid={hasError}
252
- >
253
- {label && (
254
- <div
255
- className={tkx('text-sm font-medium font-sans mb-2')}
256
- style={{ color: theme.text }}
257
- >
258
- {sanitizeString(label)}
259
- </div>
260
- )}
261
-
262
- <div
263
- className={tkx(
264
- orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-4' : 'flex flex-col gap-2',
265
- )}
266
- >
267
- {children}
268
- </div>
269
-
270
- {hasError && errorMessage && (
271
- <span
272
- id={errorId}
273
- role="alert"
274
- className={tkx('text-xs flex items-center gap-1 mt-1')}
275
- style={{ color: theme.danger }}
276
- >
277
- <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
278
- <path d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" />
279
- </svg>
280
- {sanitizeString(errorMessage)}
281
- </span>
282
- )}
283
- </div>
284
- </RadioGroupContext.Provider>
285
- );
286
- }
@@ -1,288 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- useState,
5
- useRef,
6
- useCallback,
7
- useId,
8
- type KeyboardEvent,
9
- type MouseEvent,
10
- } from 'react';
11
- import { useTheme } from '../themes';
12
- import { sanitizeString } from '../engine/security';
13
- import { useReducedMotion } from '../hooks';
14
- import { tkx, cx } from '../engine/tkx';
15
-
16
- export type RatingSize = 'sm' | 'md' | 'lg' | 'xl';
17
-
18
- export interface TkxRatingProps {
19
- value?: number;
20
- defaultValue?: number;
21
- onChange?: (value: number) => void;
22
- max?: number;
23
- precision?: 0.5 | 1;
24
- size?: RatingSize;
25
- isReadOnly?: boolean;
26
- isDisabled?: boolean;
27
- label?: string;
28
- showValue?: boolean;
29
- colorScheme?: 'warning' | 'primary' | 'danger';
30
- emptyIcon?: 'star' | 'heart' | 'circle';
31
- filledIcon?: 'star' | 'heart' | 'circle';
32
- }
33
-
34
- const SIZE_MAP: Record<RatingSize, number> = { sm: 16, md: 24, lg: 32, xl: 40 };
35
-
36
- // ── Icon SVGs ─────────────────────────────────────────────────────────────────
37
-
38
- function StarIcon({ size, filled, color, halfFilled, id }: { size: number; filled: boolean; color: string; halfFilled?: boolean; id?: string }) {
39
- const gradId = id ? `hg-${id}` : undefined;
40
- return (
41
- <svg width={size} height={size} viewBox="0 0 24 24" aria-hidden="true" style={{ display: 'block' }}>
42
- {halfFilled && gradId && (
43
- <defs>
44
- <linearGradient id={gradId} x1="0" x2="1" y1="0" y2="0">
45
- <stop offset="50%" stopColor={color} />
46
- <stop offset="50%" stopColor="transparent" />
47
- </linearGradient>
48
- </defs>
49
- )}
50
- <polygon
51
- points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"
52
- fill={halfFilled && gradId ? `url(#${gradId})` : filled ? color : 'none'}
53
- stroke={color}
54
- strokeWidth={1.5}
55
- strokeLinejoin="round"
56
- />
57
- </svg>
58
- );
59
- }
60
-
61
- function HeartIcon({ size, filled, color, halfFilled, id }: { size: number; filled: boolean; color: string; halfFilled?: boolean; id?: string }) {
62
- const gradId = id ? `hg-${id}` : undefined;
63
- return (
64
- <svg width={size} height={size} viewBox="0 0 24 24" aria-hidden="true" style={{ display: 'block' }}>
65
- {halfFilled && gradId && (
66
- <defs>
67
- <linearGradient id={gradId} x1="0" x2="1" y1="0" y2="0">
68
- <stop offset="50%" stopColor={color} />
69
- <stop offset="50%" stopColor="transparent" />
70
- </linearGradient>
71
- </defs>
72
- )}
73
- <path
74
- d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"
75
- fill={halfFilled && gradId ? `url(#${gradId})` : filled ? color : 'none'}
76
- stroke={color}
77
- strokeWidth={1.5}
78
- strokeLinejoin="round"
79
- />
80
- </svg>
81
- );
82
- }
83
-
84
- function CircleIcon({ size, filled, color, halfFilled, id }: { size: number; filled: boolean; color: string; halfFilled?: boolean; id?: string }) {
85
- const gradId = id ? `hg-${id}` : undefined;
86
- return (
87
- <svg width={size} height={size} viewBox="0 0 24 24" aria-hidden="true" style={{ display: 'block' }}>
88
- {halfFilled && gradId && (
89
- <defs>
90
- <linearGradient id={gradId} x1="0" x2="1" y1="0" y2="0">
91
- <stop offset="50%" stopColor={color} />
92
- <stop offset="50%" stopColor="transparent" />
93
- </linearGradient>
94
- </defs>
95
- )}
96
- <circle
97
- cx="12" cy="12" r="9"
98
- fill={halfFilled && gradId ? `url(#${gradId})` : filled ? color : 'none'}
99
- stroke={color}
100
- strokeWidth={1.5}
101
- />
102
- </svg>
103
- );
104
- }
105
-
106
- type IconType = 'star' | 'heart' | 'circle';
107
-
108
- function RatingIcon({ type, size, filled, color, halfFilled, uid }: {
109
- type: IconType; size: number; filled: boolean; color: string; halfFilled?: boolean; uid?: string;
110
- }) {
111
- const props = { size, filled, color, halfFilled, id: uid };
112
- if (type === 'heart') return <HeartIcon {...props} />;
113
- if (type === 'circle') return <CircleIcon {...props} />;
114
- return <StarIcon {...props} />;
115
- }
116
-
117
- // ── Helpers ───────────────────────────────────────────────────────────────────
118
-
119
- function clamp(value: number, min: number, max: number): number {
120
- return Math.min(max, Math.max(min, value));
121
- }
122
-
123
- function snapToPrecision(raw: number, precision: 0.5 | 1): number {
124
- if (precision === 1) return Math.round(raw);
125
- return Math.round(raw * 2) / 2;
126
- }
127
-
128
- function getHoverValue(e: MouseEvent<HTMLSpanElement>, index: number, precision: 0.5 | 1): number {
129
- if (precision === 1) return index + 1;
130
- const rect = (e.currentTarget as HTMLElement).getBoundingClientRect();
131
- const midpoint = rect.left + rect.width / 2;
132
- return e.clientX < midpoint ? index + 0.5 : index + 1;
133
- }
134
-
135
- // ── Component ─────────────────────────────────────────────────────────────────
136
-
137
- export function TkxRating({
138
- value: controlledValue,
139
- defaultValue = 0,
140
- onChange,
141
- max = 5,
142
- precision = 1,
143
- size = 'md',
144
- isReadOnly = false,
145
- isDisabled = false,
146
- label,
147
- showValue = false,
148
- colorScheme = 'warning',
149
- emptyIcon = 'star',
150
- filledIcon = 'star',
151
- }: TkxRatingProps) {
152
- const theme = useTheme();
153
- const reducedMotion = useReducedMotion();
154
- const groupId = useId();
155
- const isControlled = controlledValue !== undefined;
156
- const [internalValue, setInternalValue] = useState(defaultValue);
157
- const [hoverValue, setHoverValue] = useState<number | null>(null);
158
- const rootRef = useRef<HTMLDivElement>(null);
159
-
160
- const activeValue = isControlled ? (controlledValue ?? 0) : internalValue;
161
- const displayValue = hoverValue ?? activeValue;
162
-
163
- const colorMap: Record<string, string> = {
164
- warning: theme.warning,
165
- primary: theme.primary,
166
- danger: theme.danger,
167
- };
168
- const iconColor = colorMap[colorScheme] ?? theme.warning;
169
- const px = SIZE_MAP[size];
170
- const isInteractive = !isReadOnly && !isDisabled;
171
-
172
- const commit = useCallback((val: number) => {
173
- if (!isControlled) setInternalValue(val);
174
- onChange?.(val);
175
- }, [isControlled, onChange]);
176
-
177
- const handleMouseMove = useCallback((e: MouseEvent<HTMLSpanElement>, index: number) => {
178
- if (!isInteractive) return;
179
- setHoverValue(getHoverValue(e, index, precision));
180
- }, [isInteractive, precision]);
181
-
182
- const handleMouseLeave = useCallback(() => {
183
- if (!isInteractive) return;
184
- setHoverValue(null);
185
- }, [isInteractive]);
186
-
187
- const handleClick = useCallback((e: MouseEvent<HTMLSpanElement>, index: number) => {
188
- if (!isInteractive) return;
189
- const val = getHoverValue(e, index, precision);
190
- // Toggle off if clicking the same value
191
- const next = val === activeValue ? 0 : val;
192
- commit(next);
193
- }, [isInteractive, precision, activeValue, commit]);
194
-
195
- const handleKeyDown = useCallback((e: KeyboardEvent<HTMLDivElement>) => {
196
- if (!isInteractive) return;
197
- const step = precision;
198
- let next = activeValue;
199
- if (e.key === 'ArrowRight' || e.key === 'ArrowUp') { e.preventDefault(); next = clamp(activeValue + step, 0, max); }
200
- else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') { e.preventDefault(); next = clamp(activeValue - step, 0, max); }
201
- else if (e.key === 'Home') { e.preventDefault(); next = 0; }
202
- else if (e.key === 'End') { e.preventDefault(); next = max; }
203
- else return;
204
- next = snapToPrecision(next, precision);
205
- commit(next);
206
- }, [isInteractive, activeValue, max, precision, commit]);
207
-
208
- const safeLabel = label ? sanitizeString(label) : 'Rating';
209
-
210
- return (
211
- <div
212
- className={cx(
213
- tkx('inline-flex items-center gap-2 font-sans'),
214
- isDisabled ? tkx('opacity-50') : '',
215
- )}
216
- >
217
- <div
218
- ref={rootRef}
219
- role="radiogroup"
220
- aria-label={safeLabel}
221
- aria-disabled={isDisabled}
222
- aria-readonly={isReadOnly}
223
- tabIndex={isInteractive ? 0 : -1}
224
- onKeyDown={handleKeyDown}
225
- onMouseLeave={handleMouseLeave}
226
- className={tkx('flex items-center gap-0.5 outline-none')}
227
- style={{ cursor: isInteractive ? 'pointer' : 'default' }}
228
- >
229
- {Array.from({ length: max }, (_, i) => {
230
- const starValue = i + 1;
231
- const halfValue = i + 0.5;
232
- const isFilled = displayValue >= starValue;
233
- const isHalf = !isFilled && precision === 0.5 && displayValue >= halfValue;
234
- const uid = `${groupId}-${i}`;
235
-
236
- return (
237
- <span
238
- key={i}
239
- role="radio"
240
- aria-checked={
241
- precision === 0.5
242
- ? activeValue === halfValue || activeValue === starValue
243
- : activeValue === starValue
244
- }
245
- aria-label={
246
- precision === 0.5
247
- ? `${halfValue} star${halfValue !== 1 ? 's' : ''} / ${starValue} star${starValue !== 1 ? 's' : ''}`
248
- : `${starValue} star${starValue !== 1 ? 's' : ''}`
249
- }
250
- tabIndex={-1}
251
- onMouseMove={(e) => handleMouseMove(e, i)}
252
- onClick={(e) => handleClick(e, i)}
253
- style={{
254
- display: 'inline-flex',
255
- alignItems: 'center',
256
- lineHeight: 0,
257
- transition: reducedMotion ? 'none' : 'transform 120ms ease',
258
- transform: hoverValue !== null && displayValue >= halfValue && isInteractive
259
- ? 'scale(1.15)'
260
- : 'scale(1)',
261
- }}
262
- >
263
- <RatingIcon
264
- type={isFilled || isHalf ? filledIcon : emptyIcon}
265
- size={px}
266
- filled={isFilled}
267
- halfFilled={isHalf}
268
- color={isFilled || isHalf ? iconColor : theme.border}
269
- uid={isHalf ? uid : undefined}
270
- />
271
- </span>
272
- );
273
- })}
274
- </div>
275
-
276
- {showValue && (
277
- <span
278
- className={tkx('text-sm tabular-nums')}
279
- style={{ color: theme.textMuted }}
280
- aria-live="polite"
281
- aria-atomic="true"
282
- >
283
- {activeValue % 1 === 0 ? activeValue.toFixed(0) : activeValue.toFixed(1)} / {max}
284
- </span>
285
- )}
286
- </div>
287
- );
288
- }