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,594 +0,0 @@
1
- 'use client';
2
-
3
- // ── TkxQuantumForm ────────────────────────────────────────────────────────────
4
- // Quantum-AI powered smart form. Field types, validation rules, labels, and
5
- // placeholders are automatically inferred from field names via
6
- // inferFieldIntelligence() from the quantum-ai engine.
7
-
8
- import { useState, useCallback, useEffect } from 'react';
9
- import { useTheme } from '../themes';
10
- import { inferFieldIntelligence, type FieldIntelligence } from '../engine/quantum-ai';
11
- import { tkx } from '../engine/tkx';
12
- import { sanitizeString } from '../engine/security';
13
-
14
- // ── Public API ────────────────────────────────────────────────────────────────
15
-
16
- export interface QuantumFieldConfig {
17
- name: string;
18
- label?: string;
19
- type?: string;
20
- required?: boolean;
21
- placeholder?: string;
22
- }
23
-
24
- export interface TkxQuantumFormProps {
25
- fields: QuantumFieldConfig[];
26
- onSubmit: (values: Record<string, string>) => void | Promise<void>;
27
- submitLabel?: string;
28
- layout?: 'vertical' | 'horizontal';
29
- showConfidence?: boolean;
30
- showQuantumState?: boolean;
31
- }
32
-
33
- // ── Validation runner ─────────────────────────────────────────────────────────
34
-
35
- function runValidation(
36
- rule: string,
37
- ruleValue: number | string | undefined,
38
- fieldValue: string,
39
- allValues: Record<string, string>,
40
- ): boolean {
41
- const v = fieldValue.trim();
42
- switch (rule) {
43
- case 'required':
44
- return v !== '';
45
- case 'email':
46
- case 'pattern':
47
- if (typeof ruleValue === 'string') {
48
- try {
49
- return v === '' || new RegExp(ruleValue).test(v);
50
- } catch {
51
- return true;
52
- }
53
- }
54
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v);
55
- case 'phone':
56
- return v === '' || /^\+?[\d\s\-()]{7,15}$/.test(v);
57
- case 'url':
58
- return v === '' || /^https?:\/\/.+/.test(v);
59
- case 'minLength':
60
- case 'min': {
61
- const n = Number(ruleValue ?? 0);
62
- return v === '' || (isNaN(Number(v)) ? v.length >= n : Number(v) >= n);
63
- }
64
- case 'maxLength':
65
- case 'max': {
66
- const n = Number(ruleValue ?? Infinity);
67
- return v === '' || (isNaN(Number(v)) ? v.length <= n : Number(v) <= n);
68
- }
69
- case 'integer':
70
- return v === '' || /^\d+$/.test(v);
71
- case 'alphanumeric':
72
- return v === '' || /^[a-zA-Z0-9]+$/.test(v);
73
- case 'match': {
74
- const otherField = typeof ruleValue === 'string' ? ruleValue : 'password';
75
- return v === (allValues[otherField] ?? '');
76
- }
77
- default:
78
- return true;
79
- }
80
- }
81
-
82
- // ── Bloch Sphere qubit visualizer ─────────────────────────────────────────────
83
-
84
- interface QubitProps {
85
- phase: number;
86
- collapsed: boolean;
87
- primaryColor: string;
88
- borderColor: string;
89
- }
90
-
91
- function QubitVisualizer({ phase, collapsed, primaryColor, borderColor }: QubitProps) {
92
- const cx = 12;
93
- const cy = 12;
94
- const r = 10;
95
- const theta = collapsed ? 0 : phase;
96
- const phi = collapsed ? 0 : phase * 1.618;
97
- const tipX = cx + r * Math.sin(theta) * Math.cos(phi);
98
- const tipY = cy - r * Math.cos(theta);
99
-
100
- return (
101
- <svg
102
- width="24"
103
- height="24"
104
- viewBox="0 0 24 24"
105
- aria-hidden="true"
106
- style={{ flexShrink: 0, opacity: collapsed ? 0.4 : 1, transition: 'opacity 0.6s' }}
107
- >
108
- <circle cx={cx} cy={cy} r={r} fill="none" stroke={borderColor} strokeWidth="0.8" />
109
- <ellipse cx={cx} cy={cy} rx={r} ry={r * 0.3} fill="none" stroke={borderColor} strokeWidth="0.5" strokeDasharray="2 2" />
110
- <line x1={cx} y1={cy - r} x2={cx} y2={cy + r} stroke={borderColor} strokeWidth="0.5" />
111
- <line
112
- x1={cx} y1={cy} x2={tipX} y2={tipY}
113
- stroke={primaryColor} strokeWidth="1.5"
114
- style={{ transition: collapsed ? 'all 0.6s ease-out' : 'none' }}
115
- />
116
- <circle cx={tipX} cy={tipY} r="2" fill={primaryColor}
117
- style={{ transition: collapsed ? 'all 0.6s ease-out' : 'none' }} />
118
- </svg>
119
- );
120
- }
121
-
122
- // ── Confidence Badge ──────────────────────────────────────────────────────────
123
-
124
- function ConfidenceBadge({
125
- confidence,
126
- theme,
127
- }: {
128
- confidence: number;
129
- theme: ReturnType<typeof useTheme>;
130
- }) {
131
- // confidence is 0-1 in the existing engine
132
- const pct = Math.round(confidence * 100);
133
- const color =
134
- pct >= 80 ? theme.success :
135
- pct >= 60 ? theme.warning :
136
- theme.danger;
137
- return (
138
- <span
139
- style={{
140
- display: 'inline-flex',
141
- alignItems: 'center',
142
- gap: '2px',
143
- fontSize: '10px',
144
- fontWeight: 600,
145
- padding: '1px 5px',
146
- borderRadius: '999px',
147
- backgroundColor: `${color}22`,
148
- color,
149
- border: `1px solid ${color}44`,
150
- marginLeft: '6px',
151
- verticalAlign: 'middle',
152
- letterSpacing: '0.03em',
153
- }}
154
- >
155
- ⚛ {pct}%
156
- </span>
157
- );
158
- }
159
-
160
- // ── Single field renderer ─────────────────────────────────────────────────────
161
-
162
- interface FieldRendererProps {
163
- config: QuantumFieldConfig;
164
- intel: FieldIntelligence;
165
- qubitPhase: number;
166
- value: string;
167
- error: string;
168
- touched: boolean;
169
- showConfidence: boolean;
170
- showQuantumState: boolean;
171
- collapsed: boolean;
172
- onChange: (v: string) => void;
173
- onBlur: () => void;
174
- theme: ReturnType<typeof useTheme>;
175
- mounted: boolean;
176
- index: number;
177
- }
178
-
179
- function FieldRenderer({
180
- config,
181
- intel,
182
- qubitPhase,
183
- value,
184
- error,
185
- touched,
186
- showConfidence,
187
- showQuantumState,
188
- collapsed,
189
- onChange,
190
- onBlur,
191
- theme,
192
- mounted,
193
- index,
194
- }: FieldRendererProps) {
195
- const resolvedType = config.type ?? intel.type;
196
- const resolvedLabel = config.label ?? intel.label;
197
- const resolvedPlaceholder = config.placeholder ?? intel.placeholder;
198
- const resolvedRequired =
199
- config.required !== undefined
200
- ? config.required
201
- : intel.validations.some((v) => v.rule === 'required');
202
-
203
- const safeLabel = sanitizeString(resolvedLabel);
204
- const isTextarea = resolvedType === 'textarea';
205
- const hasError = touched && error !== '';
206
- const fieldId = `qf-${config.name}`;
207
-
208
- const inputStyle: React.CSSProperties = {
209
- width: '100%',
210
- padding: '9px 12px',
211
- border: `1.5px solid ${hasError ? theme.danger : theme.border}`,
212
- borderRadius: '8px',
213
- backgroundColor: theme.surface,
214
- color: theme.text,
215
- fontSize: '14px',
216
- fontFamily: 'inherit',
217
- outline: 'none',
218
- boxSizing: 'border-box',
219
- transition: 'border-color 0.15s, box-shadow 0.15s',
220
- resize: isTextarea ? 'vertical' : undefined,
221
- minHeight: isTextarea ? '80px' : undefined,
222
- };
223
-
224
- return (
225
- <div
226
- style={{
227
- display: 'flex',
228
- flexDirection: 'column',
229
- gap: '4px',
230
- opacity: mounted ? 1 : 0,
231
- transform: mounted ? 'scaleY(1)' : 'scaleY(0.92)',
232
- transition: `opacity 0.35s ease ${index * 60}ms, transform 0.35s ease ${index * 60}ms`,
233
- transformOrigin: 'top',
234
- }}
235
- >
236
- {/* Label row */}
237
- <div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>
238
- {showQuantumState && (
239
- <QubitVisualizer
240
- phase={qubitPhase}
241
- collapsed={collapsed}
242
- primaryColor={theme.primary}
243
- borderColor={theme.border}
244
- />
245
- )}
246
- <label
247
- htmlFor={fieldId}
248
- style={{ fontSize: '13px', fontWeight: 500, color: theme.text, cursor: 'pointer' }}
249
- >
250
- {safeLabel}
251
- {resolvedRequired && (
252
- <span aria-hidden="true" style={{ color: theme.danger, marginLeft: '3px' }}>*</span>
253
- )}
254
- </label>
255
- {showConfidence && <ConfidenceBadge confidence={intel.confidence} theme={theme} />}
256
- </div>
257
-
258
- {/* Input / Textarea */}
259
- {isTextarea ? (
260
- <textarea
261
- id={fieldId}
262
- value={value}
263
- onChange={(e) => onChange(e.target.value)}
264
- onBlur={onBlur}
265
- placeholder={resolvedPlaceholder}
266
- aria-invalid={hasError}
267
- aria-required={resolvedRequired}
268
- style={inputStyle}
269
- />
270
- ) : (
271
- <input
272
- id={fieldId}
273
- type={resolvedType}
274
- value={value}
275
- onChange={(e) => onChange(e.target.value)}
276
- onBlur={onBlur}
277
- placeholder={resolvedPlaceholder}
278
- aria-invalid={hasError}
279
- aria-required={resolvedRequired}
280
- style={inputStyle}
281
- />
282
- )}
283
-
284
- {/* Error */}
285
- {hasError && (
286
- <span
287
- role="alert"
288
- style={{
289
- fontSize: '12px',
290
- color: theme.danger,
291
- display: 'flex',
292
- alignItems: 'center',
293
- gap: '4px',
294
- }}
295
- >
296
- <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
297
- <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" />
298
- </svg>
299
- {sanitizeString(error)}
300
- </span>
301
- )}
302
- </div>
303
- );
304
- }
305
-
306
- // ── Deterministic qubit phase from field name ─────────────────────────────────
307
-
308
- function fieldPhase(name: string): number {
309
- let h = 2166136261;
310
- for (let i = 0; i < name.length; i++) {
311
- h ^= name.charCodeAt(i);
312
- h = Math.imul(h, 16777619) >>> 0;
313
- }
314
- return (h & 0xffff) / 0xffff * Math.PI * 2;
315
- }
316
-
317
- // ── Main Component ────────────────────────────────────────────────────────────
318
-
319
- export function TkxQuantumForm({
320
- fields,
321
- onSubmit,
322
- submitLabel = 'Submit',
323
- layout = 'vertical',
324
- showConfidence = true,
325
- showQuantumState = false,
326
- }: TkxQuantumFormProps) {
327
- const theme = useTheme();
328
-
329
- // Compute inferred intelligence once per field name
330
- const intelligences = fields.map((f) => inferFieldIntelligence(f.name));
331
-
332
- const [values, setValues] = useState<Record<string, string>>(() =>
333
- Object.fromEntries(fields.map((f) => [f.name, ''])),
334
- );
335
- const [errors, setErrors] = useState<Record<string, string>>({});
336
- const [touched, setTouched] = useState<Record<string, boolean>>({});
337
- const [submitting, setSubmitting] = useState(false);
338
- const [mounted, setMounted] = useState(false);
339
- const [collapsed, setCollapsed] = useState(false);
340
-
341
- useEffect(() => {
342
- const id = requestAnimationFrame(() => setMounted(true));
343
- return () => cancelAnimationFrame(id);
344
- }, []);
345
-
346
- const validateField = useCallback(
347
- (name: string, currentValues: Record<string, string>): string => {
348
- const fieldConfig = fields.find((f) => f.name === name);
349
- const intel = intelligences[fields.findIndex((f) => f.name === name)];
350
- if (!fieldConfig || !intel) return '';
351
- const value = currentValues[name] ?? '';
352
-
353
- for (const { rule, value: ruleValue, message } of intel.validations) {
354
- if (rule === 'required' && fieldConfig.required === false) continue;
355
- if (!runValidation(rule, ruleValue, value, currentValues)) {
356
- return message;
357
- }
358
- }
359
- return '';
360
- },
361
- // eslint-disable-next-line react-hooks/exhaustive-deps
362
- [fields],
363
- );
364
-
365
- const validateAll = useCallback(
366
- (currentValues: Record<string, string>): Record<string, string> => {
367
- const errs: Record<string, string> = {};
368
- for (const field of fields) {
369
- const err = validateField(field.name, currentValues);
370
- if (err) errs[field.name] = err;
371
- }
372
- return errs;
373
- },
374
- [fields, validateField],
375
- );
376
-
377
- const handleChange = useCallback(
378
- (name: string, value: string) => {
379
- setValues((prev) => {
380
- const next = { ...prev, [name]: value };
381
- if (touched[name]) {
382
- setErrors((e) => ({ ...e, [name]: validateField(name, next) }));
383
- // Re-validate confirm password when password changes (entanglement)
384
- if (name === 'password') {
385
- const confirmName = fields.find((f) =>
386
- ['confirmpassword', 'confirm_password', 'passwordconfirm'].includes(
387
- f.name.toLowerCase().replace(/[\s_-]/g, ''),
388
- ),
389
- )?.name;
390
- if (confirmName && touched[confirmName]) {
391
- setErrors((e) => ({ ...e, [confirmName]: validateField(confirmName, next) }));
392
- }
393
- }
394
- }
395
- return next;
396
- });
397
- setCollapsed(true);
398
- },
399
- [fields, touched, validateField],
400
- );
401
-
402
- const handleBlur = useCallback(
403
- (name: string) => {
404
- setTouched((prev) => ({ ...prev, [name]: true }));
405
- setErrors((prev) => ({ ...prev, [name]: validateField(name, values) }));
406
- },
407
- [values, validateField],
408
- );
409
-
410
- const handleSubmit = useCallback(
411
- async (e: React.FormEvent) => {
412
- e.preventDefault();
413
- const allTouched = Object.fromEntries(fields.map((f) => [f.name, true]));
414
- setTouched(allTouched);
415
- const errs = validateAll(values);
416
- setErrors(errs);
417
- if (Object.keys(errs).length > 0) return;
418
- setSubmitting(true);
419
- try {
420
- await onSubmit(values);
421
- } finally {
422
- setSubmitting(false);
423
- }
424
- },
425
- [fields, values, validateAll, onSubmit],
426
- );
427
-
428
- // Overall confidence: average of all inferred confidences (0–1), converted to %
429
- const overallConfidence = intelligences.length > 0
430
- ? Math.round(
431
- (intelligences.reduce((s, i) => s + i.confidence, 0) / intelligences.length) * 100,
432
- )
433
- : 0;
434
- const confidenceColor =
435
- overallConfidence >= 80 ? theme.success :
436
- overallConfidence >= 60 ? theme.warning :
437
- theme.danger;
438
-
439
- const isHorizontal = layout === 'horizontal';
440
-
441
- return (
442
- <form
443
- onSubmit={handleSubmit}
444
- noValidate
445
- className={tkx('w-full')}
446
- style={{
447
- backgroundColor: theme.surface,
448
- border: `1px solid ${theme.border}`,
449
- borderRadius: '12px',
450
- padding: '24px',
451
- position: 'relative',
452
- boxSizing: 'border-box',
453
- }}
454
- >
455
- {/* ⚛ Quantum AI badge */}
456
- <span
457
- aria-label="Powered by Quantum AI"
458
- style={{
459
- position: 'absolute',
460
- top: '16px',
461
- right: '16px',
462
- fontSize: '10px',
463
- fontWeight: 700,
464
- padding: '3px 8px',
465
- borderRadius: '999px',
466
- backgroundColor: `${theme.primary}20`,
467
- color: theme.primary,
468
- border: `1px solid ${theme.primary}44`,
469
- letterSpacing: '0.04em',
470
- userSelect: 'none',
471
- }}
472
- >
473
- ⚛ Quantum AI
474
- </span>
475
-
476
- {/* Overall confidence meter */}
477
- {showConfidence && (
478
- <div style={{ marginBottom: '20px', paddingRight: '100px' }}>
479
- <div
480
- style={{
481
- display: 'flex',
482
- alignItems: 'center',
483
- justifyContent: 'space-between',
484
- marginBottom: '4px',
485
- }}
486
- >
487
- <span style={{ fontSize: '11px', color: theme.textMuted, fontWeight: 500 }}>
488
- Form Intelligence Confidence
489
- </span>
490
- <span style={{ fontSize: '11px', fontWeight: 700, color: confidenceColor }}>
491
- {overallConfidence}%
492
- </span>
493
- </div>
494
- <div
495
- style={{
496
- height: '4px',
497
- borderRadius: '4px',
498
- backgroundColor: theme.border,
499
- overflow: 'hidden',
500
- }}
501
- >
502
- <div
503
- style={{
504
- height: '100%',
505
- width: `${overallConfidence}%`,
506
- backgroundColor: confidenceColor,
507
- borderRadius: '4px',
508
- transition: 'width 0.8s ease',
509
- }}
510
- />
511
- </div>
512
- </div>
513
- )}
514
-
515
- {/* Fields */}
516
- <div
517
- style={{
518
- display: 'grid',
519
- gridTemplateColumns: isHorizontal ? 'repeat(auto-fill, minmax(260px, 1fr))' : '1fr',
520
- gap: '16px',
521
- marginBottom: '20px',
522
- }}
523
- >
524
- {fields.map((field, index) => (
525
- <FieldRenderer
526
- key={field.name}
527
- config={field}
528
- intel={intelligences[index]!}
529
- qubitPhase={fieldPhase(field.name)}
530
- value={values[field.name] ?? ''}
531
- error={errors[field.name] ?? ''}
532
- touched={touched[field.name] ?? false}
533
- showConfidence={showConfidence}
534
- showQuantumState={showQuantumState}
535
- collapsed={collapsed}
536
- onChange={(v) => handleChange(field.name, v)}
537
- onBlur={() => handleBlur(field.name)}
538
- theme={theme}
539
- mounted={mounted}
540
- index={index}
541
- />
542
- ))}
543
- </div>
544
-
545
- {/* Submit */}
546
- <button
547
- type="submit"
548
- disabled={submitting}
549
- style={{
550
- width: '100%',
551
- padding: '10px 20px',
552
- borderRadius: '8px',
553
- border: 'none',
554
- backgroundColor: submitting ? `${theme.primary}88` : theme.primary,
555
- color: theme.bg,
556
- fontSize: '14px',
557
- fontWeight: 700,
558
- fontFamily: 'inherit',
559
- cursor: submitting ? 'not-allowed' : 'pointer',
560
- transition: 'background-color 0.15s, opacity 0.15s',
561
- display: 'flex',
562
- alignItems: 'center',
563
- justifyContent: 'center',
564
- gap: '8px',
565
- }}
566
- >
567
- {submitting ? (
568
- <>
569
- <svg
570
- width="14"
571
- height="14"
572
- viewBox="0 0 24 24"
573
- fill="none"
574
- stroke="currentColor"
575
- strokeWidth="2.5"
576
- style={{ animation: 'qf-spin 0.8s linear infinite' }}
577
- aria-hidden="true"
578
- >
579
- <circle cx="12" cy="12" r="10" strokeOpacity="0.25" />
580
- <path d="M12 2a10 10 0 0 1 10 10" />
581
- </svg>
582
- Processing…
583
- </>
584
- ) : (
585
- sanitizeString(submitLabel)
586
- )}
587
- </button>
588
-
589
- <style>{`@keyframes qf-spin { to { transform: rotate(360deg); } }`}</style>
590
- </form>
591
- );
592
- }
593
-
594
- TkxQuantumForm.displayName = 'TkxQuantumForm';