@tokis/react 1.0.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 (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/cjs/components/accordion/index.js +36 -0
  4. package/dist/cjs/components/alert/index.js +14 -0
  5. package/dist/cjs/components/app-bar/index.js +9 -0
  6. package/dist/cjs/components/avatar/index.js +64 -0
  7. package/dist/cjs/components/badge/index.js +6 -0
  8. package/dist/cjs/components/bottom-nav/index.js +12 -0
  9. package/dist/cjs/components/breadcrumbs/index.js +19 -0
  10. package/dist/cjs/components/button/ButtonIcon.js +9 -0
  11. package/dist/cjs/components/button/ButtonLabel.js +9 -0
  12. package/dist/cjs/components/button/ButtonRoot.js +23 -0
  13. package/dist/cjs/components/button/index.js +11 -0
  14. package/dist/cjs/components/button/useButton.js +14 -0
  15. package/dist/cjs/components/card/index.js +25 -0
  16. package/dist/cjs/components/charts/index.js +214 -0
  17. package/dist/cjs/components/checkbox/index.js +18 -0
  18. package/dist/cjs/components/chip/index.js +6 -0
  19. package/dist/cjs/components/circular-progress/index.js +28 -0
  20. package/dist/cjs/components/codeblock/CodeBlock.js +35 -0
  21. package/dist/cjs/components/codeblock/index.js +5 -0
  22. package/dist/cjs/components/command-palette/index.js +84 -0
  23. package/dist/cjs/components/confirm-dialog/index.js +10 -0
  24. package/dist/cjs/components/context-menu/index.js +82 -0
  25. package/dist/cjs/components/dialog/index.js +43 -0
  26. package/dist/cjs/components/divider/index.js +6 -0
  27. package/dist/cjs/components/drawer/index.js +37 -0
  28. package/dist/cjs/components/dropdown/index.js +104 -0
  29. package/dist/cjs/components/emptystate/index.js +9 -0
  30. package/dist/cjs/components/extended/index.js +329 -0
  31. package/dist/cjs/components/hover-card/index.js +107 -0
  32. package/dist/cjs/components/infinite-scroll/index.js +21 -0
  33. package/dist/cjs/components/input/index.js +27 -0
  34. package/dist/cjs/components/layout/index.js +34 -0
  35. package/dist/cjs/components/link/index.js +7 -0
  36. package/dist/cjs/components/list/index.js +14 -0
  37. package/dist/cjs/components/menu/index.js +120 -0
  38. package/dist/cjs/components/nav-rail/index.js +12 -0
  39. package/dist/cjs/components/pagination/index.js +46 -0
  40. package/dist/cjs/components/popover/index.js +114 -0
  41. package/dist/cjs/components/portal/index.js +10 -0
  42. package/dist/cjs/components/progress/index.js +21 -0
  43. package/dist/cjs/components/radio/index.js +60 -0
  44. package/dist/cjs/components/result/index.js +25 -0
  45. package/dist/cjs/components/search-field/index.js +30 -0
  46. package/dist/cjs/components/select/index.js +88 -0
  47. package/dist/cjs/components/skeleton/index.js +6 -0
  48. package/dist/cjs/components/slider/index.js +73 -0
  49. package/dist/cjs/components/snackbar/index.js +41 -0
  50. package/dist/cjs/components/spinner/index.js +6 -0
  51. package/dist/cjs/components/statistic/index.js +17 -0
  52. package/dist/cjs/components/stepper/index.js +24 -0
  53. package/dist/cjs/components/switch/index.js +19 -0
  54. package/dist/cjs/components/table/index.js +26 -0
  55. package/dist/cjs/components/tabs/index.js +44 -0
  56. package/dist/cjs/components/tag/index.js +6 -0
  57. package/dist/cjs/components/timeline/index.js +12 -0
  58. package/dist/cjs/components/toggle/index.js +32 -0
  59. package/dist/cjs/components/tooltip/index.js +116 -0
  60. package/dist/cjs/components/treeview/index.js +89 -0
  61. package/dist/cjs/components/typography/index.js +20 -0
  62. package/dist/cjs/components/virtual-list/index.js +25 -0
  63. package/dist/cjs/context/ConfigProvider.js +22 -0
  64. package/dist/cjs/context/ThemeContext.js +25 -0
  65. package/dist/cjs/hooks/useControllableState.js +31 -0
  66. package/dist/cjs/hooks/useDialog.js +35 -0
  67. package/dist/cjs/hooks/useId.js +13 -0
  68. package/dist/cjs/hooks/useMenu.js +64 -0
  69. package/dist/cjs/hooks/usePopover.js +32 -0
  70. package/dist/cjs/hooks/useTabs.js +51 -0
  71. package/dist/cjs/index.js +102 -0
  72. package/dist/cjs/package.json +3 -0
  73. package/dist/cjs/utils/cn.js +10 -0
  74. package/dist/components/accordion/index.d.ts +19 -0
  75. package/dist/components/accordion/index.d.ts.map +1 -0
  76. package/dist/components/accordion/index.js +34 -0
  77. package/dist/components/accordion/index.js.map +1 -0
  78. package/dist/components/alert/index.d.ts +11 -0
  79. package/dist/components/alert/index.d.ts.map +1 -0
  80. package/dist/components/alert/index.js +12 -0
  81. package/dist/components/alert/index.js.map +1 -0
  82. package/dist/components/app-bar/index.d.ts +17 -0
  83. package/dist/components/app-bar/index.d.ts.map +1 -0
  84. package/dist/components/app-bar/index.js +7 -0
  85. package/dist/components/app-bar/index.js.map +1 -0
  86. package/dist/components/avatar/index.d.ts +33 -0
  87. package/dist/components/avatar/index.d.ts.map +1 -0
  88. package/dist/components/avatar/index.js +28 -0
  89. package/dist/components/avatar/index.js.map +1 -0
  90. package/dist/components/badge/index.d.ts +3 -0
  91. package/dist/components/badge/index.d.ts.map +1 -0
  92. package/dist/components/badge/index.js +3 -0
  93. package/dist/components/badge/index.js.map +1 -0
  94. package/dist/components/bottom-nav/index.d.ts +18 -0
  95. package/dist/components/bottom-nav/index.d.ts.map +1 -0
  96. package/dist/components/bottom-nav/index.js +10 -0
  97. package/dist/components/bottom-nav/index.js.map +1 -0
  98. package/dist/components/breadcrumbs/index.d.ts +19 -0
  99. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  100. package/dist/components/breadcrumbs/index.js +17 -0
  101. package/dist/components/breadcrumbs/index.js.map +1 -0
  102. package/dist/components/button/ButtonIcon.d.ts +8 -0
  103. package/dist/components/button/ButtonIcon.d.ts.map +1 -0
  104. package/dist/components/button/ButtonIcon.js +6 -0
  105. package/dist/components/button/ButtonIcon.js.map +1 -0
  106. package/dist/components/button/ButtonLabel.d.ts +6 -0
  107. package/dist/components/button/ButtonLabel.d.ts.map +1 -0
  108. package/dist/components/button/ButtonLabel.js +6 -0
  109. package/dist/components/button/ButtonLabel.js.map +1 -0
  110. package/dist/components/button/ButtonRoot.d.ts +15 -0
  111. package/dist/components/button/ButtonRoot.d.ts.map +1 -0
  112. package/dist/components/button/ButtonRoot.js +21 -0
  113. package/dist/components/button/ButtonRoot.js.map +1 -0
  114. package/dist/components/button/index.d.ts +9 -0
  115. package/dist/components/button/index.d.ts.map +1 -0
  116. package/dist/components/button/index.js +5 -0
  117. package/dist/components/button/index.js.map +1 -0
  118. package/dist/components/button/useButton.d.ts +16 -0
  119. package/dist/components/button/useButton.d.ts.map +1 -0
  120. package/dist/components/button/useButton.js +12 -0
  121. package/dist/components/button/useButton.js.map +1 -0
  122. package/dist/components/card/index.d.ts +17 -0
  123. package/dist/components/card/index.d.ts.map +1 -0
  124. package/dist/components/card/index.js +23 -0
  125. package/dist/components/card/index.js.map +1 -0
  126. package/dist/components/charts/index.d.ts +60 -0
  127. package/dist/components/charts/index.d.ts.map +1 -0
  128. package/dist/components/charts/index.js +209 -0
  129. package/dist/components/charts/index.js.map +1 -0
  130. package/dist/components/checkbox/index.d.ts +17 -0
  131. package/dist/components/checkbox/index.d.ts.map +1 -0
  132. package/dist/components/checkbox/index.js +16 -0
  133. package/dist/components/checkbox/index.js.map +1 -0
  134. package/dist/components/chip/index.d.ts +3 -0
  135. package/dist/components/chip/index.d.ts.map +1 -0
  136. package/dist/components/chip/index.js +3 -0
  137. package/dist/components/chip/index.js.map +1 -0
  138. package/dist/components/circular-progress/index.d.ts +15 -0
  139. package/dist/components/circular-progress/index.d.ts.map +1 -0
  140. package/dist/components/circular-progress/index.js +26 -0
  141. package/dist/components/circular-progress/index.js.map +1 -0
  142. package/dist/components/codeblock/CodeBlock.d.ts +13 -0
  143. package/dist/components/codeblock/CodeBlock.d.ts.map +1 -0
  144. package/dist/components/codeblock/CodeBlock.js +32 -0
  145. package/dist/components/codeblock/CodeBlock.js.map +1 -0
  146. package/dist/components/codeblock/index.d.ts +3 -0
  147. package/dist/components/codeblock/index.d.ts.map +1 -0
  148. package/dist/components/codeblock/index.js +2 -0
  149. package/dist/components/codeblock/index.js.map +1 -0
  150. package/dist/components/command-palette/index.d.ts +22 -0
  151. package/dist/components/command-palette/index.d.ts.map +1 -0
  152. package/dist/components/command-palette/index.js +82 -0
  153. package/dist/components/command-palette/index.js.map +1 -0
  154. package/dist/components/confirm-dialog/index.d.ts +17 -0
  155. package/dist/components/confirm-dialog/index.d.ts.map +1 -0
  156. package/dist/components/confirm-dialog/index.js +8 -0
  157. package/dist/components/confirm-dialog/index.js.map +1 -0
  158. package/dist/components/context-menu/index.d.ts +19 -0
  159. package/dist/components/context-menu/index.d.ts.map +1 -0
  160. package/dist/components/context-menu/index.js +47 -0
  161. package/dist/components/context-menu/index.js.map +1 -0
  162. package/dist/components/dialog/index.d.ts +16 -0
  163. package/dist/components/dialog/index.d.ts.map +1 -0
  164. package/dist/components/dialog/index.js +41 -0
  165. package/dist/components/dialog/index.js.map +1 -0
  166. package/dist/components/divider/index.d.ts +3 -0
  167. package/dist/components/divider/index.d.ts.map +1 -0
  168. package/dist/components/divider/index.js +3 -0
  169. package/dist/components/divider/index.js.map +1 -0
  170. package/dist/components/drawer/index.d.ts +16 -0
  171. package/dist/components/drawer/index.d.ts.map +1 -0
  172. package/dist/components/drawer/index.js +35 -0
  173. package/dist/components/drawer/index.js.map +1 -0
  174. package/dist/components/dropdown/index.d.ts +16 -0
  175. package/dist/components/dropdown/index.d.ts.map +1 -0
  176. package/dist/components/dropdown/index.js +69 -0
  177. package/dist/components/dropdown/index.js.map +1 -0
  178. package/dist/components/emptystate/index.d.ts +13 -0
  179. package/dist/components/emptystate/index.d.ts.map +1 -0
  180. package/dist/components/emptystate/index.js +7 -0
  181. package/dist/components/emptystate/index.js.map +1 -0
  182. package/dist/components/extended/index.d.ts +163 -0
  183. package/dist/components/extended/index.d.ts.map +1 -0
  184. package/dist/components/extended/index.js +267 -0
  185. package/dist/components/extended/index.js.map +1 -0
  186. package/dist/components/hover-card/index.d.ts +14 -0
  187. package/dist/components/hover-card/index.d.ts.map +1 -0
  188. package/dist/components/hover-card/index.js +72 -0
  189. package/dist/components/hover-card/index.js.map +1 -0
  190. package/dist/components/infinite-scroll/index.d.ts +16 -0
  191. package/dist/components/infinite-scroll/index.d.ts.map +1 -0
  192. package/dist/components/infinite-scroll/index.js +19 -0
  193. package/dist/components/infinite-scroll/index.js.map +1 -0
  194. package/dist/components/input/index.d.ts +19 -0
  195. package/dist/components/input/index.d.ts.map +1 -0
  196. package/dist/components/input/index.js +25 -0
  197. package/dist/components/input/index.js.map +1 -0
  198. package/dist/components/layout/index.d.ts +39 -0
  199. package/dist/components/layout/index.d.ts.map +1 -0
  200. package/dist/components/layout/index.js +32 -0
  201. package/dist/components/layout/index.js.map +1 -0
  202. package/dist/components/link/index.d.ts +3 -0
  203. package/dist/components/link/index.d.ts.map +1 -0
  204. package/dist/components/link/index.js +3 -0
  205. package/dist/components/link/index.js.map +1 -0
  206. package/dist/components/list/index.d.ts +13 -0
  207. package/dist/components/list/index.d.ts.map +1 -0
  208. package/dist/components/list/index.js +12 -0
  209. package/dist/components/list/index.js.map +1 -0
  210. package/dist/components/menu/index.d.ts +19 -0
  211. package/dist/components/menu/index.d.ts.map +1 -0
  212. package/dist/components/menu/index.js +85 -0
  213. package/dist/components/menu/index.js.map +1 -0
  214. package/dist/components/nav-rail/index.d.ts +20 -0
  215. package/dist/components/nav-rail/index.d.ts.map +1 -0
  216. package/dist/components/nav-rail/index.js +10 -0
  217. package/dist/components/nav-rail/index.js.map +1 -0
  218. package/dist/components/pagination/index.d.ts +9 -0
  219. package/dist/components/pagination/index.d.ts.map +1 -0
  220. package/dist/components/pagination/index.js +44 -0
  221. package/dist/components/pagination/index.js.map +1 -0
  222. package/dist/components/popover/index.d.ts +16 -0
  223. package/dist/components/popover/index.d.ts.map +1 -0
  224. package/dist/components/popover/index.js +79 -0
  225. package/dist/components/popover/index.js.map +1 -0
  226. package/dist/components/portal/index.d.ts +7 -0
  227. package/dist/components/portal/index.d.ts.map +1 -0
  228. package/dist/components/portal/index.js +8 -0
  229. package/dist/components/portal/index.js.map +1 -0
  230. package/dist/components/progress/index.d.ts +25 -0
  231. package/dist/components/progress/index.d.ts.map +1 -0
  232. package/dist/components/progress/index.js +19 -0
  233. package/dist/components/progress/index.js.map +1 -0
  234. package/dist/components/radio/index.d.ts +25 -0
  235. package/dist/components/radio/index.d.ts.map +1 -0
  236. package/dist/components/radio/index.js +24 -0
  237. package/dist/components/radio/index.js.map +1 -0
  238. package/dist/components/result/index.d.ts +14 -0
  239. package/dist/components/result/index.d.ts.map +1 -0
  240. package/dist/components/result/index.js +23 -0
  241. package/dist/components/result/index.js.map +1 -0
  242. package/dist/components/search-field/index.d.ts +15 -0
  243. package/dist/components/search-field/index.d.ts.map +1 -0
  244. package/dist/components/search-field/index.js +28 -0
  245. package/dist/components/search-field/index.js.map +1 -0
  246. package/dist/components/select/index.d.ts +23 -0
  247. package/dist/components/select/index.d.ts.map +1 -0
  248. package/dist/components/select/index.js +86 -0
  249. package/dist/components/select/index.js.map +1 -0
  250. package/dist/components/skeleton/index.d.ts +3 -0
  251. package/dist/components/skeleton/index.d.ts.map +1 -0
  252. package/dist/components/skeleton/index.js +3 -0
  253. package/dist/components/skeleton/index.js.map +1 -0
  254. package/dist/components/slider/index.d.ts +18 -0
  255. package/dist/components/slider/index.d.ts.map +1 -0
  256. package/dist/components/slider/index.js +71 -0
  257. package/dist/components/slider/index.js.map +1 -0
  258. package/dist/components/snackbar/index.d.ts +27 -0
  259. package/dist/components/snackbar/index.d.ts.map +1 -0
  260. package/dist/components/snackbar/index.js +38 -0
  261. package/dist/components/snackbar/index.js.map +1 -0
  262. package/dist/components/spinner/index.d.ts +3 -0
  263. package/dist/components/spinner/index.d.ts.map +1 -0
  264. package/dist/components/spinner/index.js +3 -0
  265. package/dist/components/spinner/index.js.map +1 -0
  266. package/dist/components/statistic/index.d.ts +13 -0
  267. package/dist/components/statistic/index.d.ts.map +1 -0
  268. package/dist/components/statistic/index.js +15 -0
  269. package/dist/components/statistic/index.js.map +1 -0
  270. package/dist/components/stepper/index.d.ts +17 -0
  271. package/dist/components/stepper/index.d.ts.map +1 -0
  272. package/dist/components/stepper/index.js +22 -0
  273. package/dist/components/stepper/index.js.map +1 -0
  274. package/dist/components/switch/index.d.ts +16 -0
  275. package/dist/components/switch/index.d.ts.map +1 -0
  276. package/dist/components/switch/index.js +17 -0
  277. package/dist/components/switch/index.js.map +1 -0
  278. package/dist/components/table/index.d.ts +17 -0
  279. package/dist/components/table/index.d.ts.map +1 -0
  280. package/dist/components/table/index.js +24 -0
  281. package/dist/components/table/index.js.map +1 -0
  282. package/dist/components/tabs/index.d.ts +19 -0
  283. package/dist/components/tabs/index.d.ts.map +1 -0
  284. package/dist/components/tabs/index.js +42 -0
  285. package/dist/components/tabs/index.js.map +1 -0
  286. package/dist/components/tag/index.d.ts +3 -0
  287. package/dist/components/tag/index.d.ts.map +1 -0
  288. package/dist/components/tag/index.js +3 -0
  289. package/dist/components/tag/index.js.map +1 -0
  290. package/dist/components/timeline/index.d.ts +16 -0
  291. package/dist/components/timeline/index.d.ts.map +1 -0
  292. package/dist/components/timeline/index.js +10 -0
  293. package/dist/components/timeline/index.js.map +1 -0
  294. package/dist/components/toggle/index.d.ts +32 -0
  295. package/dist/components/toggle/index.d.ts.map +1 -0
  296. package/dist/components/toggle/index.js +29 -0
  297. package/dist/components/toggle/index.js.map +1 -0
  298. package/dist/components/tooltip/index.d.ts +11 -0
  299. package/dist/components/tooltip/index.d.ts.map +1 -0
  300. package/dist/components/tooltip/index.js +81 -0
  301. package/dist/components/tooltip/index.js.map +1 -0
  302. package/dist/components/treeview/index.d.ts +19 -0
  303. package/dist/components/treeview/index.d.ts.map +1 -0
  304. package/dist/components/treeview/index.js +87 -0
  305. package/dist/components/treeview/index.js.map +1 -0
  306. package/dist/components/typography/index.d.ts +11 -0
  307. package/dist/components/typography/index.d.ts.map +1 -0
  308. package/dist/components/typography/index.js +18 -0
  309. package/dist/components/typography/index.js.map +1 -0
  310. package/dist/components/virtual-list/index.d.ts +15 -0
  311. package/dist/components/virtual-list/index.d.ts.map +1 -0
  312. package/dist/components/virtual-list/index.js +23 -0
  313. package/dist/components/virtual-list/index.js.map +1 -0
  314. package/dist/context/ConfigProvider.d.ts +12 -0
  315. package/dist/context/ConfigProvider.d.ts.map +1 -0
  316. package/dist/context/ConfigProvider.js +18 -0
  317. package/dist/context/ConfigProvider.js.map +1 -0
  318. package/dist/context/ThemeContext.d.ts +15 -0
  319. package/dist/context/ThemeContext.d.ts.map +1 -0
  320. package/dist/context/ThemeContext.js +21 -0
  321. package/dist/context/ThemeContext.js.map +1 -0
  322. package/dist/hooks/useControllableState.d.ts +10 -0
  323. package/dist/hooks/useControllableState.d.ts.map +1 -0
  324. package/dist/hooks/useControllableState.js +29 -0
  325. package/dist/hooks/useControllableState.js.map +1 -0
  326. package/dist/hooks/useDialog.d.ts +24 -0
  327. package/dist/hooks/useDialog.d.ts.map +1 -0
  328. package/dist/hooks/useDialog.js +33 -0
  329. package/dist/hooks/useDialog.js.map +1 -0
  330. package/dist/hooks/useId.d.ts +7 -0
  331. package/dist/hooks/useId.d.ts.map +1 -0
  332. package/dist/hooks/useId.js +11 -0
  333. package/dist/hooks/useId.js.map +1 -0
  334. package/dist/hooks/useMenu.d.ts +21 -0
  335. package/dist/hooks/useMenu.d.ts.map +1 -0
  336. package/dist/hooks/useMenu.js +62 -0
  337. package/dist/hooks/useMenu.js.map +1 -0
  338. package/dist/hooks/usePopover.d.ts +22 -0
  339. package/dist/hooks/usePopover.d.ts.map +1 -0
  340. package/dist/hooks/usePopover.js +30 -0
  341. package/dist/hooks/usePopover.js.map +1 -0
  342. package/dist/hooks/useTabs.d.ts +22 -0
  343. package/dist/hooks/useTabs.d.ts.map +1 -0
  344. package/dist/hooks/useTabs.js +49 -0
  345. package/dist/hooks/useTabs.js.map +1 -0
  346. package/dist/index.d.ts +65 -0
  347. package/dist/index.d.ts.map +1 -0
  348. package/dist/index.js +85 -0
  349. package/dist/index.js.map +1 -0
  350. package/dist/utils/cn.d.ts +6 -0
  351. package/dist/utils/cn.d.ts.map +1 -0
  352. package/dist/utils/cn.js +8 -0
  353. package/dist/utils/cn.js.map +1 -0
  354. package/package.json +79 -0
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useId = useId;
4
+ const react_1 = require("react");
5
+ const core_1 = require("@tokis/core");
6
+ /**
7
+ * Returns a stable, unique ID for the lifetime of the component.
8
+ * Prefer React 18's built-in `useId` for SSR-safe IDs.
9
+ * Use this hook only when a custom prefix is needed.
10
+ */
11
+ function useId(prefix = 'tokis') {
12
+ return (0, react_1.useRef)((0, core_1.generateId)(prefix)).current;
13
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMenu = useMenu;
4
+ const react_1 = require("react");
5
+ function useMenu(itemCount = 0) {
6
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
7
+ const [activeIndex, setActiveIndex] = (0, react_1.useState)(-1);
8
+ const menuId = (0, react_1.useId)();
9
+ const open = (0, react_1.useCallback)(() => {
10
+ setIsOpen(true);
11
+ setActiveIndex(0);
12
+ }, []);
13
+ const close = (0, react_1.useCallback)(() => {
14
+ setIsOpen(false);
15
+ setActiveIndex(-1);
16
+ }, []);
17
+ const handleKeyDown = (0, react_1.useCallback)((e) => {
18
+ if (!isOpen)
19
+ return;
20
+ switch (e.key) {
21
+ case 'ArrowDown':
22
+ e.preventDefault();
23
+ setActiveIndex((i) => (i + 1) % itemCount);
24
+ break;
25
+ case 'ArrowUp':
26
+ e.preventDefault();
27
+ setActiveIndex((i) => (i - 1 + itemCount) % itemCount);
28
+ break;
29
+ case 'Home':
30
+ e.preventDefault();
31
+ setActiveIndex(0);
32
+ break;
33
+ case 'End':
34
+ e.preventDefault();
35
+ setActiveIndex(itemCount - 1);
36
+ break;
37
+ case 'Escape':
38
+ e.preventDefault();
39
+ close();
40
+ break;
41
+ }
42
+ }, [isOpen, itemCount, close]);
43
+ const getMenuProps = (0, react_1.useCallback)(() => ({
44
+ id: menuId,
45
+ role: 'menu',
46
+ 'aria-orientation': 'vertical',
47
+ onKeyDown: handleKeyDown,
48
+ }), [menuId, handleKeyDown]);
49
+ const getItemProps = (0, react_1.useCallback)((index) => ({
50
+ role: 'menuitem',
51
+ tabIndex: activeIndex === index ? 0 : -1,
52
+ 'aria-selected': activeIndex === index,
53
+ onMouseEnter: () => setActiveIndex(index),
54
+ }), [activeIndex]);
55
+ return {
56
+ isOpen,
57
+ open,
58
+ close,
59
+ activeIndex,
60
+ setActiveIndex,
61
+ getMenuProps,
62
+ getItemProps,
63
+ };
64
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePopover = usePopover;
4
+ const react_1 = require("react");
5
+ function usePopover(defaultOpen = false) {
6
+ const [isOpen, setIsOpen] = (0, react_1.useState)(defaultOpen);
7
+ const anchorRef = (0, react_1.useRef)(null);
8
+ const popoverId = (0, react_1.useId)();
9
+ const open = (0, react_1.useCallback)(() => setIsOpen(true), []);
10
+ const close = (0, react_1.useCallback)(() => setIsOpen(false), []);
11
+ const toggle = (0, react_1.useCallback)(() => setIsOpen((v) => !v), []);
12
+ return {
13
+ isOpen,
14
+ open,
15
+ close,
16
+ toggle,
17
+ anchorRef,
18
+ triggerProps: {
19
+ onClick: toggle,
20
+ 'aria-haspopup': 'true',
21
+ 'aria-expanded': isOpen,
22
+ 'aria-controls': popoverId,
23
+ ref: anchorRef,
24
+ },
25
+ popoverProps: {
26
+ id: popoverId,
27
+ role: 'dialog',
28
+ 'aria-modal': false,
29
+ },
30
+ popoverId,
31
+ };
32
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTabs = useTabs;
4
+ const react_1 = require("react");
5
+ function useTabs(defaultValue, values) {
6
+ const [value, setValue] = (0, react_1.useState)(defaultValue);
7
+ const baseId = (0, react_1.useId)();
8
+ const getTabId = (tabValue) => `${baseId}-tab-${tabValue}`;
9
+ const getPanelId = (tabValue) => `${baseId}-panel-${tabValue}`;
10
+ const handleKeyDown = (0, react_1.useCallback)((tabValue) => (e) => {
11
+ if (!values || values.length === 0)
12
+ return;
13
+ const currentIndex = values.indexOf(tabValue);
14
+ let next;
15
+ if (e.key === 'ArrowRight') {
16
+ e.preventDefault();
17
+ next = values[(currentIndex + 1) % values.length];
18
+ }
19
+ else if (e.key === 'ArrowLeft') {
20
+ e.preventDefault();
21
+ next = values[(currentIndex - 1 + values.length) % values.length];
22
+ }
23
+ else if (e.key === 'Home') {
24
+ e.preventDefault();
25
+ next = values[0];
26
+ }
27
+ else if (e.key === 'End') {
28
+ e.preventDefault();
29
+ next = values[values.length - 1];
30
+ }
31
+ if (next !== undefined)
32
+ setValue(next);
33
+ }, [values]);
34
+ const getTabProps = (0, react_1.useCallback)((tabValue) => ({
35
+ role: 'tab',
36
+ id: getTabId(tabValue),
37
+ 'aria-selected': value === tabValue,
38
+ 'aria-controls': getPanelId(tabValue),
39
+ tabIndex: value === tabValue ? 0 : -1,
40
+ onClick: () => setValue(tabValue),
41
+ onKeyDown: handleKeyDown(tabValue),
42
+ }), [value, handleKeyDown]);
43
+ const getPanelProps = (0, react_1.useCallback)((tabValue) => ({
44
+ role: 'tabpanel',
45
+ id: getPanelId(tabValue),
46
+ 'aria-labelledby': getTabId(tabValue),
47
+ hidden: value !== tabValue,
48
+ tabIndex: 0,
49
+ }), [value]);
50
+ return { value, setValue, getTabProps, getPanelProps };
51
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.cn = void 0;
18
+ // ─── Button ──────────────────────────────────────────────
19
+ __exportStar(require("./components/button/index"), exports);
20
+ // ─── Typography ───────────────────────────────────────────
21
+ __exportStar(require("./components/typography/index"), exports);
22
+ // ─── Input / Form ─────────────────────────────────────────
23
+ __exportStar(require("./components/input/index"), exports);
24
+ __exportStar(require("./components/checkbox/index"), exports);
25
+ __exportStar(require("./components/radio/index"), exports);
26
+ __exportStar(require("./components/switch/index"), exports);
27
+ __exportStar(require("./components/select/index"), exports);
28
+ __exportStar(require("./components/slider/index"), exports);
29
+ __exportStar(require("./components/spinner/index"), exports);
30
+ // ─── Layout ───────────────────────────────────────────────
31
+ __exportStar(require("./components/layout/index"), exports);
32
+ // ─── Surfaces ─────────────────────────────────────────────
33
+ __exportStar(require("./components/card/index"), exports);
34
+ // ─── Data Display ─────────────────────────────────────────
35
+ __exportStar(require("./components/avatar/index"), exports);
36
+ __exportStar(require("./components/badge/index"), exports);
37
+ __exportStar(require("./components/chip/index"), exports);
38
+ __exportStar(require("./components/tag/index"), exports);
39
+ __exportStar(require("./components/divider/index"), exports);
40
+ __exportStar(require("./components/list/index"), exports);
41
+ __exportStar(require("./components/table/index"), exports);
42
+ __exportStar(require("./components/skeleton/index"), exports);
43
+ __exportStar(require("./components/link/index"), exports);
44
+ // ─── Navigation ───────────────────────────────────────────
45
+ __exportStar(require("./components/breadcrumbs/index"), exports);
46
+ // ─── Feedback ─────────────────────────────────────────────
47
+ __exportStar(require("./components/alert/index"), exports);
48
+ __exportStar(require("./components/snackbar/index"), exports);
49
+ __exportStar(require("./components/progress/index"), exports);
50
+ // ─── Overlay / Portals ────────────────────────────────────
51
+ __exportStar(require("./components/portal/index"), exports);
52
+ __exportStar(require("./components/dialog/index"), exports);
53
+ __exportStar(require("./components/drawer/index"), exports);
54
+ __exportStar(require("./components/tooltip/index"), exports);
55
+ __exportStar(require("./components/popover/index"), exports);
56
+ __exportStar(require("./components/menu/index"), exports);
57
+ // ─── Complex ──────────────────────────────────────────────
58
+ __exportStar(require("./components/tabs/index"), exports);
59
+ __exportStar(require("./components/accordion/index"), exports);
60
+ __exportStar(require("./components/extended/index"), exports);
61
+ // ─── Hooks ────────────────────────────────────────────────
62
+ __exportStar(require("./hooks/useControllableState"), exports);
63
+ __exportStar(require("./hooks/useId"), exports);
64
+ __exportStar(require("./hooks/useDialog"), exports);
65
+ __exportStar(require("./hooks/usePopover"), exports);
66
+ __exportStar(require("./hooks/useMenu"), exports);
67
+ __exportStar(require("./hooks/useTabs"), exports);
68
+ // ─── Context / Theme ──────────────────────────────────────
69
+ __exportStar(require("./context/ThemeContext"), exports);
70
+ __exportStar(require("./context/ConfigProvider"), exports);
71
+ // ─── Code Display ─────────────────────────────────────────
72
+ __exportStar(require("./components/codeblock/index"), exports);
73
+ // ─── New Data Display ─────────────────────────────────────
74
+ __exportStar(require("./components/pagination/index"), exports);
75
+ __exportStar(require("./components/timeline/index"), exports);
76
+ __exportStar(require("./components/treeview/index"), exports);
77
+ __exportStar(require("./components/statistic/index"), exports);
78
+ __exportStar(require("./components/emptystate/index"), exports);
79
+ __exportStar(require("./components/result/index"), exports);
80
+ // ─── New Navigation ───────────────────────────────────────
81
+ __exportStar(require("./components/stepper/index"), exports);
82
+ __exportStar(require("./components/bottom-nav/index"), exports);
83
+ __exportStar(require("./components/nav-rail/index"), exports);
84
+ __exportStar(require("./components/app-bar/index"), exports);
85
+ // ─── New Feedback & Overlays ──────────────────────────────
86
+ __exportStar(require("./components/circular-progress/index"), exports);
87
+ __exportStar(require("./components/confirm-dialog/index"), exports);
88
+ __exportStar(require("./components/hover-card/index"), exports);
89
+ __exportStar(require("./components/context-menu/index"), exports);
90
+ __exportStar(require("./components/dropdown/index"), exports);
91
+ __exportStar(require("./components/command-palette/index"), exports);
92
+ // ─── New Inputs ───────────────────────────────────────────
93
+ __exportStar(require("./components/search-field/index"), exports);
94
+ __exportStar(require("./components/toggle/index"), exports);
95
+ // ─── Charts ───────────────────────────────────────────────
96
+ __exportStar(require("./components/charts/index"), exports);
97
+ // ─── Data ─────────────────────────────────────────────────
98
+ __exportStar(require("./components/virtual-list/index"), exports);
99
+ __exportStar(require("./components/infinite-scroll/index"), exports);
100
+ // ─── Utilities ────────────────────────────────────────────
101
+ var cn_js_1 = require("./utils/cn");
102
+ Object.defineProperty(exports, "cn", { enumerable: true, get: function () { return cn_js_1.cn; } });
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cn = cn;
4
+ /**
5
+ * Utility: compose multiple class names, filtering falsy values.
6
+ * Keeps the bundle size near-zero — no external dependency needed.
7
+ */
8
+ function cn(...classes) {
9
+ return classes.filter(Boolean).join(' ');
10
+ }
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface AccordionItem {
3
+ value: string;
4
+ trigger: React.ReactNode;
5
+ content: React.ReactNode;
6
+ disabled?: boolean;
7
+ }
8
+ export interface AccordionProps {
9
+ items: AccordionItem[];
10
+ type?: 'single' | 'multiple';
11
+ defaultValue?: string | string[];
12
+ value?: string | string[];
13
+ onChange?: (value: string | string[]) => void;
14
+ collapsible?: boolean;
15
+ variant?: 'bordered' | 'flush';
16
+ className?: string;
17
+ }
18
+ export declare function Accordion({ items, type, defaultValue, value, onChange, collapsible, variant, className }: AccordionProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAe,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAkB,EAAE,OAAoB,EAAE,SAAS,EAAE,EAAE,cAAc,2CA6BvJ"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useId } from 'react';
3
+ import { cn } from '../../utils/cn.js';
4
+ export function Accordion({ items, type = 'single', defaultValue, value, onChange, collapsible = true, variant = 'bordered', className }) {
5
+ const normalize = (v) => {
6
+ if (!v)
7
+ return [];
8
+ return Array.isArray(v) ? v : [v];
9
+ };
10
+ const [internal, setInternal] = useState(normalize(defaultValue));
11
+ const controlled = value !== undefined;
12
+ const openValues = controlled ? normalize(value) : internal;
13
+ const toggle = (val) => {
14
+ const isOpen = openValues.includes(val);
15
+ let next;
16
+ if (type === 'single') {
17
+ next = isOpen && collapsible ? [] : [val];
18
+ }
19
+ else {
20
+ next = isOpen ? openValues.filter((v) => v !== val) : [...openValues, val];
21
+ }
22
+ if (!controlled)
23
+ setInternal(next);
24
+ onChange?.(type === 'single' ? (next[0] ?? '') : next);
25
+ };
26
+ return (_jsx("div", { className: cn('tokis-accordion-root', variant === 'flush' && 'tokis-accordion-root--flush', className), children: items.map((item) => (_jsx(AccordionItemComponent, { item: item, isOpen: openValues.includes(item.value), onToggle: toggle }, item.value))) }));
27
+ }
28
+ function AccordionItemComponent({ item, isOpen, onToggle }) {
29
+ const triggerId = useId();
30
+ const panelId = useId();
31
+ return (_jsxs("div", { className: "tokis-accordion-item", children: [_jsxs("button", { id: triggerId, type: "button", "aria-expanded": isOpen, "aria-controls": panelId, "aria-disabled": item.disabled || undefined, disabled: item.disabled, className: "tokis-accordion-trigger", onClick: () => { if (!item.disabled)
32
+ onToggle(item.value); }, children: [_jsx("span", { style: { flex: 1, textAlign: 'left' }, children: item.trigger }), _jsx("svg", { className: "tokis-accordion-trigger__icon", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M4 6l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) })] }), _jsx("div", { id: panelId, role: "region", "aria-labelledby": triggerId, className: "tokis-accordion-content", "data-open": isOpen ? 'true' : 'false', "aria-hidden": !isOpen, children: _jsx("div", { className: "tokis-accordion-content-inner", children: item.content }) })] }));
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/accordion/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export type AlertVariant = 'info' | 'success' | 'warning' | 'error';
3
+ export interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
4
+ variant?: AlertVariant;
5
+ title?: React.ReactNode;
6
+ onClose?: () => void;
7
+ icon?: React.ReactNode;
8
+ action?: React.ReactNode;
9
+ }
10
+ export declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AASpE,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACrF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,mFAwBhB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { cn } from '../../utils/cn.js';
4
+ const AlertIcons = {
5
+ info: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "7", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "M8 7v4M8 5.5v.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }),
6
+ success: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "7", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "M5 8l2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }),
7
+ warning: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M8 2L1.5 13h13L8 2z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }), _jsx("path", { d: "M8 7v2.5M8 11v.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }),
8
+ error: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "7", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "M6 6l4 4M10 6l-4 4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }),
9
+ };
10
+ export const Alert = forwardRef(({ variant = 'info', title, onClose, icon, action, className, children, ...props }, ref) => (_jsxs("div", { ref: ref, role: "alert", "aria-live": "polite", className: cn('tokis-alert', `tokis-alert--${variant}`, className), ...props, children: [_jsx("span", { className: "tokis-alert__icon", children: icon ?? AlertIcons[variant] }), _jsxs("div", { className: "tokis-alert__body", children: [title && _jsx("div", { className: "tokis-alert__title", children: title }), children && _jsx("div", { className: "tokis-alert__message", children: children }), action && _jsx("div", { style: { marginTop: 'var(--tokis-spacing-2)' }, children: action })] }), onClose && (_jsx("button", { className: "tokis-alert__close", onClick: onClose, "aria-label": "Dismiss", children: _jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M2 2l10 10M12 2L2 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }))] })));
11
+ Alert.displayName = 'Alert';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/alert/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export type AppBarVariant = 'default' | 'primary' | 'transparent';
3
+ export type AppBarElevation = 'none' | 'sm' | 'md';
4
+ export interface AppBarProps {
5
+ leading?: React.ReactNode;
6
+ title?: React.ReactNode;
7
+ trailing?: React.ReactNode;
8
+ variant?: AppBarVariant;
9
+ elevation?: AppBarElevation;
10
+ sticky?: boolean;
11
+ className?: string;
12
+ }
13
+ export declare function AppBar({ leading, title, trailing, variant, elevation, sticky, className, }: AppBarProps): JSX.Element;
14
+ export declare namespace AppBar {
15
+ var displayName: string;
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app-bar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAmB,EACnB,SAAgB,EAChB,MAAc,EACd,SAAS,GACV,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAgB3B;yBAxBe,MAAM"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../utils/cn.js';
3
+ export function AppBar({ leading, title, trailing, variant = 'default', elevation = 'sm', sticky = false, className, }) {
4
+ return (_jsxs("header", { className: cn('tokis-app-bar', variant !== 'default' && `tokis-app-bar--${variant}`, elevation !== 'none' && `tokis-app-bar--elevation-${elevation}`, sticky && 'tokis-app-bar--sticky', className), children: [leading && _jsx("div", { className: "tokis-app-bar__leading", children: leading }), title && _jsx("div", { className: "tokis-app-bar__title", children: title }), trailing && _jsx("div", { className: "tokis-app-bar__trailing", children: trailing })] }));
5
+ }
6
+ AppBar.displayName = 'AppBar';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/app-bar/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAevC,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,KAAK,EACd,SAAS,GACG;IACZ,OAAO,CACL,kBACE,SAAS,EAAE,EAAE,CACX,eAAe,EACf,OAAO,KAAK,SAAS,IAAI,kBAAkB,OAAO,EAAE,EACpD,SAAS,KAAK,MAAM,IAAI,4BAA4B,SAAS,EAAE,EAC/D,MAAM,IAAI,uBAAuB,EACjC,SAAS,CACV,aAEA,OAAO,IAAI,cAAK,SAAS,EAAC,wBAAwB,YAAE,OAAO,GAAO,EAClE,KAAK,IAAI,cAAK,SAAS,EAAC,sBAAsB,YAAE,KAAK,GAAO,EAC5D,QAAQ,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,IAC/D,CACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3
+ export type AvatarShape = 'circle' | 'square';
4
+ export interface AvatarProps {
5
+ src?: string;
6
+ alt?: string;
7
+ name?: string;
8
+ size?: AvatarSize;
9
+ shape?: AvatarShape;
10
+ className?: string;
11
+ }
12
+ export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
13
+ export interface AvatarGroupProps {
14
+ children: React.ReactNode;
15
+ max?: number;
16
+ size?: AvatarSize;
17
+ className?: string;
18
+ }
19
+ export declare function AvatarGroup({ children, max, size, className }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
20
+ export type BadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'outline';
21
+ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
22
+ variant?: BadgeVariant;
23
+ dot?: boolean;
24
+ }
25
+ export declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
26
+ export interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
27
+ selected?: boolean;
28
+ onDelete?: () => void;
29
+ disabled?: boolean;
30
+ icon?: React.ReactNode;
31
+ }
32
+ export declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLDivElement>>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,MAAM,oFASjB,CAAC;AAGH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAetF;AAGD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAExG,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACvE,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,KAAK,oFAQhB,CAAC;AAIH,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,IAAI,kFA6Bf,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { forwardRef } from 'react';
3
+ import { cn } from '../../utils/cn.js';
4
+ function getInitials(name) {
5
+ return name.split(' ').slice(0, 2).map((p) => p[0]).join('').toUpperCase();
6
+ }
7
+ export const Avatar = forwardRef(({ src, alt, name, size = 'md', shape = 'circle', className }, ref) => (_jsx("div", { ref: ref, className: cn('tokis-avatar', `tokis-avatar--${size}`, shape === 'square' && 'tokis-avatar--square', className), "aria-label": name ?? alt, role: name ? 'img' : undefined, children: src ? _jsx("img", { src: src, alt: alt ?? name ?? '' }) : name ? getInitials(name) : null })));
8
+ Avatar.displayName = 'Avatar';
9
+ export function AvatarGroup({ children, max, size = 'md', className }) {
10
+ const items = React.Children.toArray(children);
11
+ const visible = max ? items.slice(0, max) : items;
12
+ const overflow = max && items.length > max ? items.length - max : 0;
13
+ return (_jsxs("div", { className: cn('tokis-avatar-group', className), children: [visible, overflow > 0 && (_jsxs("div", { className: cn('tokis-avatar', `tokis-avatar--${size}`), "aria-label": `${overflow} more`, children: ["+", overflow] }))] }));
14
+ }
15
+ export const Badge = forwardRef(({ variant = 'default', dot = false, className, children, ...props }, ref) => (_jsx("span", { ref: ref, className: cn('tokis-badge', `tokis-badge--${variant}`, dot && 'tokis-badge--dot', className), ...props, children: children })));
16
+ Badge.displayName = 'Badge';
17
+ export const Chip = forwardRef(({ selected = false, onDelete, disabled = false, icon, className, children, onClick, ...props }, ref) => (_jsxs("div", { ref: ref, role: onClick ? 'button' : undefined, tabIndex: onClick && !disabled ? 0 : undefined, "aria-pressed": onClick ? selected : undefined, "aria-disabled": disabled || undefined, className: cn('tokis-chip', onClick && 'tokis-chip--clickable', selected && 'tokis-chip--selected', className), onClick: !disabled ? onClick : undefined, onKeyDown: onClick && !disabled ? (e) => { if (e.key === 'Enter' || e.key === ' ') {
18
+ e.preventDefault();
19
+ onClick(e);
20
+ } } : undefined, ...props, children: [icon && _jsx("span", { "aria-hidden": "true", style: { display: 'inline-flex', alignItems: 'center' }, children: icon }), children, onDelete && (_jsx("span", { role: "button", tabIndex: 0, className: "tokis-chip__delete", "aria-label": "Remove", onClick: (e) => { e.stopPropagation(); if (!disabled)
21
+ onDelete(); }, onKeyDown: (e) => { if (e.key === 'Enter' || e.key === ' ') {
22
+ e.preventDefault();
23
+ e.stopPropagation();
24
+ if (!disabled)
25
+ onDelete();
26
+ } }, children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M1 1l8 8M9 1L1 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }))] })));
27
+ Chip.displayName = 'Chip';
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/avatar/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { Badge } from '../avatar/index.js';
2
+ export type { BadgeProps, BadgeVariant } from '../avatar/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Re-export Badge from avatar
2
+ export { Badge } from '../avatar/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/badge/index.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export interface BottomNavItem {
3
+ value: string;
4
+ label: string;
5
+ icon: React.ReactNode;
6
+ badge?: string | number;
7
+ }
8
+ export interface BottomNavigationProps {
9
+ items: BottomNavItem[];
10
+ value: string;
11
+ onChange: (value: string) => void;
12
+ className?: string;
13
+ }
14
+ export declare function BottomNavigation({ items, value, onChange, className }: BottomNavigationProps): JSX.Element;
15
+ export declare namespace BottomNavigation {
16
+ var displayName: string;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/bottom-nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CA2B1G;yBA3Be,gBAAgB"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../utils/cn.js';
3
+ export function BottomNavigation({ items, value, onChange, className }) {
4
+ return (_jsx("nav", { className: cn('tokis-bottom-nav', className), "aria-label": "Bottom navigation", children: items.map((item) => {
5
+ const isActive = item.value === value;
6
+ return (_jsxs("button", { className: cn('tokis-bottom-nav__item', isActive && 'tokis-bottom-nav__item--active'), onClick: () => onChange(item.value), "aria-current": isActive ? 'page' : undefined, "aria-label": item.label, children: [_jsxs("span", { className: "tokis-bottom-nav__icon", children: [item.badge !== undefined && (_jsx("span", { className: "tokis-bottom-nav__badge", "aria-label": `${item.badge} notifications`, children: item.badge })), item.icon] }), _jsx("span", { className: "tokis-bottom-nav__label", children: item.label })] }, item.value));
7
+ }) }));
8
+ }
9
+ BottomNavigation.displayName = 'BottomNavigation';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/bottom-nav/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAgBvC,MAAM,UAAU,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAyB;IAC3F,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,gBAAa,mBAAmB,YAC9E,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;YACtC,OAAO,CACL,kBAEE,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,IAAI,gCAAgC,CAAC,EACrF,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,kBACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAC/B,IAAI,CAAC,KAAK,aAEtB,gBAAM,SAAS,EAAC,wBAAwB,aACrC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAC3B,eAAM,SAAS,EAAC,yBAAyB,gBAAa,GAAG,IAAI,CAAC,KAAK,gBAAgB,YAChF,IAAI,CAAC,KAAK,GACN,CACR,EACA,IAAI,CAAC,IAAI,IACL,EACP,eAAM,SAAS,EAAC,yBAAyB,YAAE,IAAI,CAAC,KAAK,GAAQ,KAdxD,IAAI,CAAC,KAAK,CAeR,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface BreadcrumbItem {
3
+ label: React.ReactNode;
4
+ href?: string;
5
+ onClick?: () => void;
6
+ current?: boolean;
7
+ }
8
+ export interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {
9
+ items: BreadcrumbItem[];
10
+ separator?: React.ReactNode;
11
+ maxItems?: number;
12
+ }
13
+ export declare const Breadcrumbs: React.ForwardRefExoticComponent<BreadcrumbsProps & React.RefAttributes<HTMLElement>>;
14
+ export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
15
+ external?: boolean;
16
+ underline?: 'always' | 'hover' | 'none';
17
+ }
18
+ export declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,sFA6BtB,CAAC;AAMH,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CACzC;AAED,eAAO,MAAM,IAAI,qFAUf,CAAC"}