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,590 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- useState,
5
- useRef,
6
- useEffect,
7
- useId,
8
- useCallback,
9
- type ReactNode,
10
- type CSSProperties,
11
- } from 'react';
12
- import { useTheme } from '../themes';
13
- import { useReducedMotion } from '../hooks';
14
- import { tkx } from '../engine/tkx';
15
-
16
- // ── Types ─────────────────────────────────────────────────────────────────────
17
-
18
- export type AccordionVariant = 'default' | 'bordered' | 'separated' | 'ghost' | 'flush';
19
- export type AccordionSize = 'sm' | 'md' | 'lg';
20
-
21
- export interface AccordionItem {
22
- id: string;
23
- title: ReactNode;
24
- content: ReactNode;
25
- icon?: ReactNode;
26
- badge?: ReactNode;
27
- subtitle?: string;
28
- disabled?: boolean;
29
- className?: string;
30
- }
31
-
32
- export interface TkxAccordionProps {
33
- items: AccordionItem[];
34
- multiple?: boolean;
35
- defaultOpen?: string | string[];
36
- value?: string | string[];
37
- onChange?: (value: string | string[]) => void;
38
- variant?: AccordionVariant;
39
- size?: AccordionSize;
40
- iconPosition?: 'left' | 'right';
41
- iconStyle?: 'chevron' | 'plus' | 'arrow';
42
- flush?: boolean;
43
- className?: string;
44
- style?: CSSProperties;
45
- }
46
-
47
- // ── Size config ───────────────────────────────────────────────────────────────
48
-
49
- const SIZE_CONFIG: Record<AccordionSize, {
50
- triggerPadding: string;
51
- contentPadding: string;
52
- fontSize: string;
53
- subtitleSize: string;
54
- iconSize: number;
55
- }> = {
56
- sm: {
57
- triggerPadding: '10px 12px',
58
- contentPadding: '0 12px 10px 12px',
59
- fontSize: '13px',
60
- subtitleSize: '11px',
61
- iconSize: 14,
62
- },
63
- md: {
64
- triggerPadding: '14px 16px',
65
- contentPadding: '0 16px 14px 16px',
66
- fontSize: '14px',
67
- subtitleSize: '12px',
68
- iconSize: 16,
69
- },
70
- lg: {
71
- triggerPadding: '18px 20px',
72
- contentPadding: '0 20px 18px 20px',
73
- fontSize: '16px',
74
- subtitleSize: '13px',
75
- iconSize: 18,
76
- },
77
- };
78
-
79
- // ── Icon Components ───────────────────────────────────────────────────────────
80
-
81
- interface AccordionIconProps {
82
- open: boolean;
83
- reduced: boolean;
84
- iconStyle: 'chevron' | 'plus' | 'arrow';
85
- size: number;
86
- color: string;
87
- }
88
-
89
- function AccordionIcon({ open, reduced, iconStyle, size, color }: AccordionIconProps) {
90
- const transition = reduced ? 'none' : 'transform 240ms cubic-bezier(0.4, 0, 0.2, 1)';
91
-
92
- if (iconStyle === 'chevron') {
93
- return (
94
- <svg
95
- width={size}
96
- height={size}
97
- viewBox="0 0 24 24"
98
- fill="none"
99
- stroke={color}
100
- strokeWidth={2.5}
101
- strokeLinecap="round"
102
- strokeLinejoin="round"
103
- aria-hidden="true"
104
- style={{
105
- transform: open ? 'rotate(180deg)' : 'rotate(0deg)',
106
- transition,
107
- flexShrink: 0,
108
- }}
109
- >
110
- <polyline points="6 9 12 15 18 9" />
111
- </svg>
112
- );
113
- }
114
-
115
- if (iconStyle === 'plus') {
116
- return (
117
- <svg
118
- width={size}
119
- height={size}
120
- viewBox="0 0 24 24"
121
- fill="none"
122
- stroke={color}
123
- strokeWidth={2.5}
124
- strokeLinecap="round"
125
- strokeLinejoin="round"
126
- aria-hidden="true"
127
- style={{
128
- transform: open ? 'rotate(45deg)' : 'rotate(0deg)',
129
- transition,
130
- flexShrink: 0,
131
- }}
132
- >
133
- <line x1="12" y1="5" x2="12" y2="19" />
134
- <line x1="5" y1="12" x2="19" y2="12" />
135
- </svg>
136
- );
137
- }
138
-
139
- // arrow style: → rotates to ↓
140
- return (
141
- <svg
142
- width={size}
143
- height={size}
144
- viewBox="0 0 24 24"
145
- fill="none"
146
- stroke={color}
147
- strokeWidth={2.5}
148
- strokeLinecap="round"
149
- strokeLinejoin="round"
150
- aria-hidden="true"
151
- style={{
152
- transform: open ? 'rotate(90deg)' : 'rotate(0deg)',
153
- transition,
154
- flexShrink: 0,
155
- }}
156
- >
157
- <line x1="5" y1="12" x2="19" y2="12" />
158
- <polyline points="12 5 19 12 12 19" />
159
- </svg>
160
- );
161
- }
162
-
163
- // ── Animated Panel ────────────────────────────────────────────────────────────
164
-
165
- interface AnimatedPanelProps {
166
- isOpen: boolean;
167
- reduced: boolean;
168
- children: ReactNode;
169
- id: string;
170
- triggerId: string;
171
- }
172
-
173
- function AnimatedPanel({ isOpen, reduced, children, id, triggerId }: AnimatedPanelProps) {
174
- const outerRef = useRef<HTMLDivElement>(null);
175
- const innerRef = useRef<HTMLDivElement>(null);
176
- const prevOpenRef = useRef(isOpen);
177
- const isAnimatingRef = useRef(false);
178
-
179
- // Initial render — set immediately without animation
180
- useEffect(() => {
181
- const el = outerRef.current;
182
- if (!el) return;
183
- if (isOpen) {
184
- el.style.height = 'auto';
185
- el.style.overflow = 'visible';
186
- } else {
187
- el.style.height = '0px';
188
- el.style.overflow = 'hidden';
189
- }
190
- // eslint-disable-next-line react-hooks/exhaustive-deps
191
- }, []);
192
-
193
- useEffect(() => {
194
- if (prevOpenRef.current === isOpen) return;
195
- prevOpenRef.current = isOpen;
196
-
197
- const el = outerRef.current;
198
- const inner = innerRef.current;
199
- if (!el || !inner) return;
200
-
201
- if (reduced) {
202
- el.style.height = isOpen ? 'auto' : '0px';
203
- el.style.overflow = isOpen ? 'visible' : 'hidden';
204
- return;
205
- }
206
-
207
- if (isAnimatingRef.current) {
208
- // Cancel mid-animation: snapshot current rendered height
209
- const currentHeight = el.getBoundingClientRect().height;
210
- el.style.transition = 'none';
211
- el.style.height = `${currentHeight}px`;
212
- // Force reflow
213
- void el.offsetHeight;
214
- }
215
-
216
- isAnimatingRef.current = true;
217
- el.style.overflow = 'hidden';
218
-
219
- if (isOpen) {
220
- // Animate 0 → scrollHeight
221
- el.style.height = '0px';
222
- el.style.transition = 'height 280ms cubic-bezier(0.4, 0, 0.2, 1)';
223
- requestAnimationFrame(() => {
224
- requestAnimationFrame(() => {
225
- el.style.height = `${inner.scrollHeight}px`;
226
- });
227
- });
228
- } else {
229
- // Animate scrollHeight → 0
230
- el.style.height = `${inner.scrollHeight}px`;
231
- el.style.transition = 'height 280ms cubic-bezier(0.4, 0, 0.2, 1)';
232
- requestAnimationFrame(() => {
233
- requestAnimationFrame(() => {
234
- el.style.height = '0px';
235
- });
236
- });
237
- }
238
- }, [isOpen, reduced]);
239
-
240
- const handleTransitionEnd = (e: React.TransitionEvent<HTMLDivElement>) => {
241
- if (e.propertyName !== 'height') return;
242
- isAnimatingRef.current = false;
243
- const el = outerRef.current;
244
- if (!el) return;
245
- if (isOpen) {
246
- el.style.height = 'auto';
247
- el.style.overflow = 'visible';
248
- } else {
249
- el.style.overflow = 'hidden';
250
- }
251
- };
252
-
253
- return (
254
- <div
255
- ref={outerRef}
256
- id={id}
257
- role="region"
258
- aria-labelledby={triggerId}
259
- onTransitionEnd={handleTransitionEnd}
260
- style={{ willChange: 'height' }}
261
- >
262
- <div ref={innerRef}>
263
- {children}
264
- </div>
265
- </div>
266
- );
267
- }
268
-
269
- // ── Main Component ────────────────────────────────────────────────────────────
270
-
271
- export function TkxAccordion({
272
- items,
273
- multiple = false,
274
- defaultOpen,
275
- value: valueProp,
276
- onChange,
277
- variant = 'default',
278
- size = 'md',
279
- iconPosition = 'right',
280
- iconStyle = 'chevron',
281
- flush = false,
282
- className,
283
- style,
284
- }: TkxAccordionProps) {
285
- const theme = useTheme();
286
- const reduced = useReducedMotion();
287
- const baseId = useId();
288
-
289
- // Controlled vs uncontrolled
290
- const isControlled = valueProp !== undefined;
291
-
292
- const normalizeInitial = (v: string | string[] | undefined): Set<string> => {
293
- if (!v) return new Set();
294
- if (Array.isArray(v)) return new Set(v);
295
- return new Set([v]);
296
- };
297
-
298
- const [internalOpen, setInternalOpen] = useState<Set<string>>(() =>
299
- normalizeInitial(defaultOpen)
300
- );
301
-
302
- const openIds: Set<string> = isControlled
303
- ? normalizeInitial(valueProp)
304
- : internalOpen;
305
-
306
- const toggle = useCallback(
307
- (id: string, disabled?: boolean) => {
308
- if (disabled) return;
309
-
310
- let next: Set<string>;
311
- if (isControlled) {
312
- const current = normalizeInitial(valueProp);
313
- next = new Set(current);
314
- if (next.has(id)) {
315
- next.delete(id);
316
- } else {
317
- if (!multiple) next.clear();
318
- next.add(id);
319
- }
320
- } else {
321
- setInternalOpen((prev) => {
322
- next = new Set(prev);
323
- if (next.has(id)) {
324
- next.delete(id);
325
- } else {
326
- if (!multiple) next.clear();
327
- next.add(id);
328
- }
329
- const arr = [...next];
330
- onChange?.(multiple ? arr : arr[0] ?? '');
331
- return next;
332
- });
333
- return;
334
- }
335
-
336
- const arr = [...next];
337
- onChange?.(multiple ? arr : arr[0] ?? '');
338
- },
339
- // eslint-disable-next-line react-hooks/exhaustive-deps
340
- [multiple, onChange, isControlled, valueProp]
341
- );
342
-
343
- const sz = SIZE_CONFIG[size];
344
-
345
- // Variant-specific wrapper styles
346
- const getWrapperStyle = (): CSSProperties => {
347
- if (flush) return {};
348
- switch (variant) {
349
- case 'bordered':
350
- return {
351
- border: `1px solid ${theme.border}`,
352
- borderRadius: '10px',
353
- overflow: 'hidden',
354
- };
355
- case 'separated':
356
- return {};
357
- case 'ghost':
358
- case 'flush':
359
- return {};
360
- default: // 'default'
361
- return {};
362
- }
363
- };
364
-
365
- // Item wrapper styles
366
- const getItemStyle = (idx: number, isOpen: boolean, isLast: boolean): CSSProperties => {
367
- if (flush) return {};
368
- switch (variant) {
369
- case 'default':
370
- return {
371
- borderBottom: isLast ? 'none' : `1px solid ${theme.border}`,
372
- };
373
- case 'bordered':
374
- return {
375
- borderBottom: isLast ? 'none' : `1px solid ${theme.border}`,
376
- };
377
- case 'separated':
378
- return {
379
- border: `1px solid ${theme.border}`,
380
- borderRadius: '10px',
381
- overflow: 'hidden',
382
- boxShadow: `0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04)`,
383
- };
384
- case 'ghost':
385
- return {};
386
- default:
387
- return {};
388
- }
389
- void idx; void isOpen;
390
- };
391
-
392
- // Trigger hover style
393
- const getTriggerHoverBg = (isOpen: boolean): string => {
394
- if (variant === 'ghost' || variant === 'flush') {
395
- return isOpen ? `${theme.primary}10` : `${theme.surfaceAlt}80`;
396
- }
397
- return isOpen ? `${theme.primary}0d` : `${theme.surfaceAlt}60`;
398
- };
399
-
400
- const isSeparatedVariant = variant === 'separated';
401
-
402
- return (
403
- <div
404
- className={tkx(className ?? '')}
405
- style={{
406
- ...getWrapperStyle(),
407
- display: isSeparatedVariant ? 'flex' : undefined,
408
- flexDirection: isSeparatedVariant ? 'column' : undefined,
409
- gap: isSeparatedVariant ? '8px' : undefined,
410
- ...style,
411
- }}
412
- >
413
- {items.map((item, idx) => {
414
- const isOpen = openIds.has(item.id);
415
- const isLast = idx === items.length - 1;
416
- const triggerId = `${baseId}-trigger-${item.id}`;
417
- const panelId = `${baseId}-panel-${item.id}`;
418
-
419
- return (
420
- <div
421
- key={item.id}
422
- className={item.className}
423
- style={getItemStyle(idx, isOpen, isLast)}
424
- >
425
- {/* Trigger button */}
426
- <button
427
- id={triggerId}
428
- type="button"
429
- role="button"
430
- aria-expanded={isOpen}
431
- aria-controls={panelId}
432
- disabled={item.disabled}
433
- onClick={() => toggle(item.id, item.disabled)}
434
- style={{
435
- width: '100%',
436
- display: 'flex',
437
- alignItems: item.subtitle ? 'flex-start' : 'center',
438
- gap: '8px',
439
- padding: sz.triggerPadding,
440
- border: 'none',
441
- background: 'transparent',
442
- cursor: item.disabled ? 'not-allowed' : 'pointer',
443
- textAlign: 'left',
444
- fontFamily: 'inherit',
445
- fontSize: sz.fontSize,
446
- fontWeight: 500,
447
- color: item.disabled ? theme.textMuted : theme.text,
448
- opacity: item.disabled ? 0.5 : 1,
449
- transition: reduced ? 'none' : 'background-color 160ms ease',
450
- outline: 'none',
451
- }}
452
- onMouseEnter={(e) => {
453
- if (!item.disabled) {
454
- (e.currentTarget as HTMLButtonElement).style.backgroundColor = getTriggerHoverBg(isOpen);
455
- }
456
- }}
457
- onMouseLeave={(e) => {
458
- (e.currentTarget as HTMLButtonElement).style.backgroundColor = isOpen ? `${theme.primary}0d` : 'transparent';
459
- }}
460
- onFocus={(e) => {
461
- if (!item.disabled) {
462
- e.currentTarget.style.outline = `2px solid ${theme.primary}`;
463
- e.currentTarget.style.outlineOffset = '2px';
464
- }
465
- }}
466
- onBlur={(e) => {
467
- e.currentTarget.style.outline = 'none';
468
- }}
469
- >
470
- {/* Left icon (item icon) */}
471
- {item.icon && (
472
- <span
473
- aria-hidden="true"
474
- style={{
475
- display: 'flex',
476
- alignItems: 'center',
477
- flexShrink: 0,
478
- color: theme.primary,
479
- marginTop: item.subtitle ? '1px' : undefined,
480
- }}
481
- >
482
- {item.icon}
483
- </span>
484
- )}
485
-
486
- {/* Left chevron position */}
487
- {iconPosition === 'left' && (
488
- <span
489
- aria-hidden="true"
490
- style={{
491
- display: 'flex',
492
- alignItems: 'center',
493
- flexShrink: 0,
494
- color: isOpen ? theme.primary : theme.textMuted,
495
- marginTop: item.subtitle ? '1px' : undefined,
496
- }}
497
- >
498
- <AccordionIcon
499
- open={isOpen}
500
- reduced={reduced}
501
- iconStyle={iconStyle}
502
- size={sz.iconSize}
503
- color={isOpen ? theme.primary : theme.textMuted}
504
- />
505
- </span>
506
- )}
507
-
508
- {/* Title + subtitle block */}
509
- <span style={{ flex: 1, minWidth: 0 }}>
510
- <span style={{ display: 'block', lineHeight: 1.4 }}>{item.title}</span>
511
- {item.subtitle && (
512
- <span
513
- style={{
514
- display: 'block',
515
- fontSize: sz.subtitleSize,
516
- color: theme.textMuted,
517
- fontWeight: 400,
518
- marginTop: '2px',
519
- lineHeight: 1.3,
520
- }}
521
- >
522
- {item.subtitle}
523
- </span>
524
- )}
525
- </span>
526
-
527
- {/* Badge */}
528
- {item.badge && (
529
- <span
530
- aria-hidden="true"
531
- style={{
532
- display: 'flex',
533
- alignItems: 'center',
534
- flexShrink: 0,
535
- }}
536
- >
537
- {item.badge}
538
- </span>
539
- )}
540
-
541
- {/* Right chevron position (default) */}
542
- {iconPosition === 'right' && (
543
- <span
544
- aria-hidden="true"
545
- style={{
546
- display: 'flex',
547
- alignItems: 'center',
548
- flexShrink: 0,
549
- color: isOpen ? theme.primary : theme.textMuted,
550
- marginTop: item.subtitle ? '1px' : undefined,
551
- }}
552
- >
553
- <AccordionIcon
554
- open={isOpen}
555
- reduced={reduced}
556
- iconStyle={iconStyle}
557
- size={sz.iconSize}
558
- color={isOpen ? theme.primary : theme.textMuted}
559
- />
560
- </span>
561
- )}
562
- </button>
563
-
564
- {/* Animated content panel */}
565
- <AnimatedPanel
566
- isOpen={isOpen}
567
- reduced={reduced}
568
- id={panelId}
569
- triggerId={triggerId}
570
- >
571
- <div
572
- style={{
573
- padding: sz.contentPadding,
574
- fontSize: sz.fontSize,
575
- lineHeight: 1.6,
576
- color: theme.textMuted,
577
- fontFamily: 'inherit',
578
- }}
579
- >
580
- {item.content}
581
- </div>
582
- </AnimatedPanel>
583
- </div>
584
- );
585
- })}
586
- </div>
587
- );
588
- }
589
-
590
- TkxAccordion.displayName = 'TkxAccordion';