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,122 +0,0 @@
1
- 'use client';
2
-
3
- import { useEffect, useId, type ReactNode } from 'react';
4
- import { createPortal } from 'react-dom';
5
- import { useTheme } from '../themes';
6
- import { sanitizeString } from '../engine/security';
7
- import { useFocusTrap, useEscapeKey, useAnnounce, useReducedMotion } from '../hooks';
8
- import { tkx } from '../engine/tkx';
9
-
10
- export type ModalSize = 'sm' | 'md' | 'lg' | 'full';
11
-
12
- export interface TkxModalProps {
13
- isOpen: boolean;
14
- onClose: () => void;
15
- title: string;
16
- size?: ModalSize;
17
- closeOnOverlayClick?: boolean;
18
- closeOnEscape?: boolean;
19
- children: ReactNode;
20
- footer?: ReactNode;
21
- }
22
-
23
- const SIZE_W: Record<ModalSize, string> = { sm: '400px', md: '560px', lg: '720px', full: '100vw' };
24
-
25
- let scrollLockCount = 0;
26
- function lockScroll() { if (++scrollLockCount === 1) document.body.style.overflow = 'hidden'; }
27
- function unlockScroll() { if (--scrollLockCount <= 0) { scrollLockCount = 0; document.body.style.overflow = ''; } }
28
-
29
- export function TkxModal({ isOpen, onClose, title, size = 'md', closeOnOverlayClick = true, closeOnEscape = true, children, footer }: TkxModalProps) {
30
- const theme = useTheme();
31
- const titleId = useId();
32
- const trapRef = useFocusTrap(isOpen);
33
- const reducedMotion = useReducedMotion();
34
- const announce = useAnnounce();
35
- const safeTitle = sanitizeString(title);
36
- const isFull = size === 'full';
37
-
38
- useEscapeKey(onClose, closeOnEscape && isOpen);
39
-
40
- useEffect(() => {
41
- if (isOpen) { lockScroll(); announce(safeTitle, 'polite'); }
42
- else { unlockScroll(); }
43
- return () => { if (isOpen) unlockScroll(); };
44
- }, [isOpen, safeTitle, announce]);
45
-
46
- if (!isOpen || typeof document === 'undefined') return null;
47
-
48
- return createPortal(
49
- <div
50
- role="presentation"
51
- className={tkx('fixed inset-0 z-[9000] flex', isFull ? 'items-stretch' : 'items-center justify-center', isFull ? '' : 'p-4')}
52
- >
53
- {/* Backdrop */}
54
- <div
55
- aria-hidden="true"
56
- onClick={closeOnOverlayClick ? onClose : undefined}
57
- className={tkx('absolute inset-0', !reducedMotion && 'animate-fade-in')}
58
- style={{ backgroundColor: 'rgba(0,0,0,0.6)', backdropFilter: 'blur(4px)' }}
59
- />
60
-
61
- {/* Dialog */}
62
- <div
63
- ref={trapRef as React.RefObject<HTMLDivElement>}
64
- role="dialog"
65
- aria-modal="true"
66
- aria-labelledby={titleId}
67
- className={tkx('relative z-10 flex flex-col overflow-hidden', !reducedMotion && 'animate-slide-up', isFull ? '' : 'rounded-xl')}
68
- style={{
69
- backgroundColor: theme.surface,
70
- border: `1px solid ${theme.border}`,
71
- width: SIZE_W[size],
72
- maxWidth: '100%',
73
- maxHeight: isFull ? '100vh' : '90vh',
74
- boxShadow: `0 20px 60px ${theme.bg}80`,
75
- }}
76
- >
77
- {/* Header */}
78
- <div
79
- className={tkx('flex items-center justify-between px-6 py-5 shrink-0')}
80
- style={{ borderBottom: `1px solid ${theme.border}` }}
81
- >
82
- <h2
83
- id={titleId}
84
- className={tkx('m-0 text-lg font-semibold font-sans')}
85
- style={{ color: theme.text }}
86
- >
87
- {safeTitle}
88
- </h2>
89
- <button
90
- onClick={onClose}
91
- aria-label="Close dialog"
92
- className={tkx('bg-transparent border-none cursor-pointer rounded p-1 flex items-center justify-center focus-visible:focus-ring')}
93
- style={{ color: theme.textMuted }}
94
- >
95
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2} aria-hidden="true">
96
- <line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" />
97
- </svg>
98
- </button>
99
- </div>
100
-
101
- {/* Body */}
102
- <div
103
- className={tkx('flex-1 overflow-y-auto px-6 py-6 font-sans')}
104
- style={{ color: theme.text }}
105
- >
106
- {children}
107
- </div>
108
-
109
- {/* Footer */}
110
- {footer && (
111
- <div
112
- className={tkx('flex justify-end gap-2 px-6 py-4 shrink-0')}
113
- style={{ borderTop: `1px solid ${theme.border}` }}
114
- >
115
- {footer}
116
- </div>
117
- )}
118
- </div>
119
- </div>,
120
- document.body,
121
- );
122
- }
@@ -1,410 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- useState,
5
- useRef,
6
- useEffect,
7
- useCallback,
8
- useId,
9
- type CSSProperties,
10
- type KeyboardEvent,
11
- type WheelEvent,
12
- } from 'react';
13
- import { useTheme } from '../themes';
14
- import { tkx, cx } from '../engine/tkx';
15
- import { sanitizeString } from '../engine/security';
16
-
17
- // ── Types ─────────────────────────────────────────────────────────────────────
18
-
19
- export interface TkxNumberInputProps {
20
- value?: number;
21
- defaultValue?: number;
22
- onChange?: (value: number | null) => void;
23
- min?: number;
24
- max?: number;
25
- step?: number;
26
- precision?: number;
27
- prefix?: string;
28
- suffix?: string;
29
- format?: 'decimal' | 'currency' | 'percent';
30
- currency?: string;
31
- locale?: string;
32
- clampOnBlur?: boolean;
33
- allowMouseWheel?: boolean;
34
- size?: 'sm' | 'md' | 'lg';
35
- label?: string;
36
- hint?: string;
37
- isDisabled?: boolean;
38
- isReadOnly?: boolean;
39
- isInvalid?: boolean;
40
- errorMessage?: string;
41
- id?: string;
42
- className?: string;
43
- style?: CSSProperties;
44
- }
45
-
46
- // ── Size maps ─────────────────────────────────────────────────────────────────
47
-
48
- const SIZE_MAP = {
49
- sm: { height: '32px', fontSize: '0.8125rem', px: '8px', btnW: '28px', iconSz: 14 },
50
- md: { height: '40px', fontSize: '0.875rem', px: '12px', btnW: '34px', iconSz: 16 },
51
- lg: { height: '48px', fontSize: '1rem', px: '14px', btnW: '40px', iconSz: 18 },
52
- };
53
-
54
- // ── Helpers ───────────────────────────────────────────────────────────────────
55
-
56
- function clamp(v: number, min?: number, max?: number): number {
57
- let result = v;
58
- if (min !== undefined) result = Math.max(result, min);
59
- if (max !== undefined) result = Math.min(result, max);
60
- return result;
61
- }
62
-
63
- function roundToPrecision(v: number, precision?: number): number {
64
- if (precision === undefined) return v;
65
- const factor = Math.pow(10, precision);
66
- return Math.round(v * factor) / factor;
67
- }
68
-
69
- function formatValue(
70
- value: number,
71
- format?: TkxNumberInputProps['format'],
72
- currency?: string,
73
- locale?: string,
74
- precision?: number,
75
- ): string {
76
- const loc = locale ?? 'en-US';
77
- if (format === 'currency') {
78
- return new Intl.NumberFormat(loc, {
79
- style: 'currency',
80
- currency: currency ?? 'USD',
81
- minimumFractionDigits: precision ?? 2,
82
- maximumFractionDigits: precision ?? 2,
83
- }).format(value);
84
- }
85
- if (format === 'percent') {
86
- return new Intl.NumberFormat(loc, {
87
- style: 'percent',
88
- minimumFractionDigits: precision ?? 0,
89
- maximumFractionDigits: precision ?? 0,
90
- }).format(value / 100);
91
- }
92
- if (format === 'decimal' || precision !== undefined) {
93
- return new Intl.NumberFormat(loc, {
94
- minimumFractionDigits: precision ?? 0,
95
- maximumFractionDigits: precision ?? 20,
96
- }).format(value);
97
- }
98
- return String(value);
99
- }
100
-
101
- // ── Stepper button ────────────────────────────────────────────────────────────
102
-
103
- interface StepperBtnProps {
104
- direction: 'inc' | 'dec';
105
- isDisabled: boolean;
106
- btnW: string;
107
- height: string;
108
- primaryColor: string;
109
- borderColor: string;
110
- textMuted: string;
111
- iconSz: number;
112
- onStep: (dir: 1 | -1) => void;
113
- }
114
-
115
- function StepperBtn({ direction, isDisabled, btnW, height, primaryColor, borderColor, textMuted, iconSz, onStep }: StepperBtnProps) {
116
- const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
117
- const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);
118
- const dir = direction === 'inc' ? 1 : -1;
119
-
120
- const startHold = useCallback(() => {
121
- onStep(dir);
122
- timerRef.current = setTimeout(() => {
123
- intervalRef.current = setInterval(() => onStep(dir), 60);
124
- }, 400);
125
- }, [dir, onStep]);
126
-
127
- const stopHold = useCallback(() => {
128
- if (timerRef.current) { clearTimeout(timerRef.current); timerRef.current = null; }
129
- if (intervalRef.current) { clearInterval(intervalRef.current); intervalRef.current = null; }
130
- }, []);
131
-
132
- useEffect(() => () => stopHold(), [stopHold]);
133
-
134
- const isInc = direction === 'inc';
135
-
136
- return (
137
- <button
138
- type="button"
139
- aria-label={isInc ? 'Increment' : 'Decrement'}
140
- disabled={isDisabled}
141
- onMouseDown={startHold}
142
- onMouseUp={stopHold}
143
- onMouseLeave={stopHold}
144
- onTouchStart={(e) => { e.preventDefault(); startHold(); }}
145
- onTouchEnd={stopHold}
146
- style={{
147
- width: btnW,
148
- height,
149
- minWidth: btnW,
150
- flexShrink: 0,
151
- display: 'flex',
152
- alignItems: 'center',
153
- justifyContent: 'center',
154
- background: 'transparent',
155
- border: 'none',
156
- borderRight: isInc ? undefined : `1px solid ${borderColor}`,
157
- borderLeft: isInc ? `1px solid ${borderColor}` : undefined,
158
- cursor: isDisabled ? 'not-allowed' : 'pointer',
159
- color: isDisabled ? textMuted : primaryColor,
160
- transition: 'color 120ms ease, background 120ms ease',
161
- outline: 'none',
162
- }}
163
- onFocus={(e) => { if (!isDisabled) (e.currentTarget as HTMLElement).style.background = `${primaryColor}12`; }}
164
- onBlur={(e) => { (e.currentTarget as HTMLElement).style.background = 'transparent'; }}
165
- >
166
- {isInc ? (
167
- <svg width={iconSz} height={iconSz} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2.5} aria-hidden="true">
168
- <line x1="12" y1="5" x2="12" y2="19" />
169
- <line x1="5" y1="12" x2="19" y2="12" />
170
- </svg>
171
- ) : (
172
- <svg width={iconSz} height={iconSz} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2.5} aria-hidden="true">
173
- <line x1="5" y1="12" x2="19" y2="12" />
174
- </svg>
175
- )}
176
- </button>
177
- );
178
- }
179
-
180
- // ── Main component ────────────────────────────────────────────────────────────
181
-
182
- export function TkxNumberInput({
183
- value,
184
- defaultValue = 0,
185
- onChange,
186
- min,
187
- max,
188
- step = 1,
189
- precision,
190
- prefix,
191
- suffix,
192
- format,
193
- currency,
194
- locale,
195
- clampOnBlur = true,
196
- allowMouseWheel = false,
197
- size = 'md',
198
- label,
199
- hint,
200
- isDisabled = false,
201
- isReadOnly = false,
202
- isInvalid = false,
203
- errorMessage,
204
- id: idProp,
205
- className,
206
- style,
207
- }: TkxNumberInputProps) {
208
- const theme = useTheme();
209
- const autoId = useId();
210
- const id = idProp ?? autoId;
211
- const hintId = `${id}-hint`;
212
- const errorId = `${id}-error`;
213
-
214
- const isControlled = value !== undefined;
215
- const [internalValue, setInternalValue] = useState<number>(defaultValue);
216
- const numericValue = isControlled ? value! : internalValue;
217
-
218
- const [focused, setFocused] = useState(false);
219
- const [rawInput, setRawInput] = useState('');
220
-
221
- const sz = SIZE_MAP[size];
222
- const hasError = isInvalid || !!errorMessage;
223
- const borderColor = hasError ? theme.danger : focused ? theme.primary : theme.border;
224
- const describedBy = [hint && hintId, hasError && errorId].filter(Boolean).join(' ') || undefined;
225
-
226
- const safeLabel = label ? sanitizeString(label) : undefined;
227
- const safeHint = hint ? sanitizeString(hint) : undefined;
228
- const safeError = errorMessage ? sanitizeString(errorMessage) : undefined;
229
- const safePrefix = prefix ? sanitizeString(prefix) : undefined;
230
- const safeSuffix = suffix ? sanitizeString(suffix) : undefined;
231
-
232
- const setVal = useCallback((v: number) => {
233
- const rounded = roundToPrecision(v, precision);
234
- if (!isControlled) setInternalValue(rounded);
235
- onChange?.(rounded);
236
- }, [isControlled, onChange, precision]);
237
-
238
- const step_ = useCallback((dir: 1 | -1) => {
239
- if (isDisabled || isReadOnly) return;
240
- const next = clamp(roundToPrecision(numericValue + dir * step, precision), min, max);
241
- setVal(next);
242
- }, [isDisabled, isReadOnly, numericValue, step, precision, min, max, setVal]);
243
-
244
- const handleFocus = () => {
245
- setFocused(true);
246
- setRawInput(String(numericValue));
247
- };
248
-
249
- const handleBlur = () => {
250
- setFocused(false);
251
- const parsed = parseFloat(rawInput);
252
- if (isNaN(parsed)) {
253
- onChange?.(null);
254
- setRawInput(String(numericValue));
255
- return;
256
- }
257
- let next = roundToPrecision(parsed, precision);
258
- if (clampOnBlur) next = clamp(next, min, max);
259
- setVal(next);
260
- };
261
-
262
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
263
- setRawInput(e.target.value);
264
- };
265
-
266
- const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {
267
- if (e.key === 'ArrowUp') { e.preventDefault(); step_(1); }
268
- if (e.key === 'ArrowDown') { e.preventDefault(); step_(-1); }
269
- };
270
-
271
- const handleWheel = (e: WheelEvent<HTMLInputElement>) => {
272
- if (!allowMouseWheel || !focused) return;
273
- e.preventDefault();
274
- step_(e.deltaY < 0 ? 1 : -1);
275
- };
276
-
277
- const displayValue = focused ? rawInput : formatValue(numericValue, format, currency, locale, precision);
278
-
279
- const showAdornment = (safePrefix || safeSuffix) && !focused;
280
-
281
- return (
282
- <div className={cx(tkx('flex flex-col gap-1 w-full'), className)} style={style}>
283
- {safeLabel && (
284
- <label
285
- htmlFor={id}
286
- className={tkx('text-sm font-medium font-sans')}
287
- style={{ color: theme.text }}
288
- >
289
- {safeLabel}
290
- </label>
291
- )}
292
-
293
- <div
294
- className={tkx('flex items-stretch overflow-hidden rounded-lg transition-colors duration-150')}
295
- style={{
296
- border: `1.5px solid ${borderColor}`,
297
- backgroundColor: isDisabled ? theme.surfaceAlt : theme.surface,
298
- opacity: isDisabled ? 0.65 : 1,
299
- height: sz.height,
300
- }}
301
- >
302
- {/* Decrement */}
303
- <StepperBtn
304
- direction="dec"
305
- isDisabled={isDisabled || isReadOnly}
306
- btnW={sz.btnW}
307
- height={sz.height}
308
- primaryColor={theme.primary}
309
- borderColor={theme.border}
310
- textMuted={theme.textMuted}
311
- iconSz={sz.iconSz}
312
- onStep={step_}
313
- />
314
-
315
- {/* Input area */}
316
- <div className={tkx('relative flex-1 flex items-center overflow-hidden')}>
317
- {showAdornment && safePrefix && (
318
- <span
319
- style={{
320
- position: 'absolute',
321
- left: sz.px,
322
- fontSize: sz.fontSize,
323
- color: theme.textMuted,
324
- pointerEvents: 'none',
325
- userSelect: 'none',
326
- }}
327
- >
328
- {safePrefix}
329
- </span>
330
- )}
331
- <input
332
- id={id}
333
- type="text"
334
- inputMode="decimal"
335
- value={focused ? rawInput : displayValue}
336
- readOnly={isReadOnly}
337
- disabled={isDisabled}
338
- aria-invalid={hasError}
339
- aria-describedby={describedBy}
340
- aria-valuemin={min}
341
- aria-valuemax={max}
342
- aria-valuenow={numericValue}
343
- style={{
344
- width: '100%',
345
- height: '100%',
346
- border: 'none',
347
- background: 'transparent',
348
- outline: 'none',
349
- textAlign: 'center',
350
- fontSize: sz.fontSize,
351
- fontFamily: 'inherit',
352
- color: theme.text,
353
- paddingLeft: showAdornment && safePrefix ? `calc(${sz.px} + 1.2em)` : sz.px,
354
- paddingRight: showAdornment && safeSuffix ? `calc(${sz.px} + 1.2em)` : sz.px,
355
- cursor: isDisabled ? 'not-allowed' : isReadOnly ? 'default' : 'text',
356
- }}
357
- onFocus={handleFocus}
358
- onBlur={handleBlur}
359
- onChange={handleChange}
360
- onKeyDown={handleKeyDown}
361
- onWheel={handleWheel}
362
- />
363
- {showAdornment && safeSuffix && (
364
- <span
365
- style={{
366
- position: 'absolute',
367
- right: sz.px,
368
- fontSize: sz.fontSize,
369
- color: theme.textMuted,
370
- pointerEvents: 'none',
371
- userSelect: 'none',
372
- }}
373
- >
374
- {safeSuffix}
375
- </span>
376
- )}
377
- </div>
378
-
379
- {/* Increment */}
380
- <StepperBtn
381
- direction="inc"
382
- isDisabled={isDisabled || isReadOnly}
383
- btnW={sz.btnW}
384
- height={sz.height}
385
- primaryColor={theme.primary}
386
- borderColor={theme.border}
387
- textMuted={theme.textMuted}
388
- iconSz={sz.iconSz}
389
- onStep={step_}
390
- />
391
- </div>
392
-
393
- {safeHint && !safeError && (
394
- <span id={hintId} className={tkx('text-xs')} style={{ color: theme.textMuted }}>
395
- {safeHint}
396
- </span>
397
- )}
398
- {safeError && (
399
- <span id={errorId} role="alert" className={tkx('text-xs flex items-center gap-1')} style={{ color: theme.danger }}>
400
- <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
401
- <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" />
402
- </svg>
403
- {safeError}
404
- </span>
405
- )}
406
- </div>
407
- );
408
- }
409
-
410
- TkxNumberInput.displayName = 'TkxNumberInput';