@refraktor/core 0.0.1 → 0.0.3

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 (290) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/build/components/breadcrumbs/breadcrumbs.d.ts +4 -0
  3. package/build/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  4. package/build/components/breadcrumbs/breadcrumbs.js +64 -0
  5. package/build/components/breadcrumbs/breadcrumbs.styles.d.ts +12 -0
  6. package/build/components/breadcrumbs/breadcrumbs.styles.d.ts.map +1 -0
  7. package/build/components/breadcrumbs/breadcrumbs.styles.js +43 -0
  8. package/build/components/breadcrumbs/breadcrumbs.test.d.ts +2 -0
  9. package/build/components/breadcrumbs/breadcrumbs.test.d.ts.map +1 -0
  10. package/build/components/breadcrumbs/breadcrumbs.test.js +72 -0
  11. package/build/components/breadcrumbs/breadcrumbs.types.d.ts +56 -0
  12. package/build/components/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
  13. package/build/components/breadcrumbs/breadcrumbs.types.js +1 -0
  14. package/build/components/breadcrumbs/breadcrumbs.utils.d.ts +10 -0
  15. package/build/components/breadcrumbs/breadcrumbs.utils.d.ts.map +1 -0
  16. package/build/components/breadcrumbs/breadcrumbs.utils.js +36 -0
  17. package/build/components/breadcrumbs/index.d.ts +3 -0
  18. package/build/components/breadcrumbs/index.d.ts.map +1 -0
  19. package/build/components/breadcrumbs/index.js +1 -0
  20. package/build/components/drawer/drawer-close/drawer-close.d.ts +4 -0
  21. package/build/components/drawer/drawer-close/drawer-close.d.ts.map +1 -0
  22. package/build/components/drawer/drawer-close/drawer-close.js +19 -0
  23. package/build/components/drawer/drawer-close/index.d.ts +2 -0
  24. package/build/components/drawer/drawer-close/index.d.ts.map +1 -0
  25. package/build/components/drawer/drawer-close/index.js +1 -0
  26. package/build/components/drawer/drawer-content/drawer-content.d.ts +4 -0
  27. package/build/components/drawer/drawer-content/drawer-content.d.ts.map +1 -0
  28. package/build/components/drawer/drawer-content/drawer-content.js +41 -0
  29. package/build/components/drawer/drawer-content/index.d.ts +2 -0
  30. package/build/components/drawer/drawer-content/index.d.ts.map +1 -0
  31. package/build/components/drawer/drawer-content/index.js +1 -0
  32. package/build/components/drawer/drawer-header/drawer-header.d.ts +4 -0
  33. package/build/components/drawer/drawer-header/drawer-header.d.ts.map +1 -0
  34. package/build/components/drawer/drawer-header/drawer-header.js +13 -0
  35. package/build/components/drawer/drawer-header/index.d.ts +2 -0
  36. package/build/components/drawer/drawer-header/index.d.ts.map +1 -0
  37. package/build/components/drawer/drawer-header/index.js +1 -0
  38. package/build/components/drawer/drawer-overlay/drawer-overlay.d.ts +4 -0
  39. package/build/components/drawer/drawer-overlay/drawer-overlay.d.ts.map +1 -0
  40. package/build/components/drawer/drawer-overlay/drawer-overlay.js +31 -0
  41. package/build/components/drawer/drawer-overlay/index.d.ts +2 -0
  42. package/build/components/drawer/drawer-overlay/index.d.ts.map +1 -0
  43. package/build/components/drawer/drawer-overlay/index.js +1 -0
  44. package/build/components/drawer/drawer-root/drawer-root.d.ts +4 -0
  45. package/build/components/drawer/drawer-root/drawer-root.d.ts.map +1 -0
  46. package/build/components/drawer/drawer-root/drawer-root.js +50 -0
  47. package/build/components/drawer/drawer-root/index.d.ts +2 -0
  48. package/build/components/drawer/drawer-root/index.d.ts.map +1 -0
  49. package/build/components/drawer/drawer-root/index.js +1 -0
  50. package/build/components/drawer/drawer.context.d.ts +23 -0
  51. package/build/components/drawer/drawer.context.d.ts.map +1 -0
  52. package/build/components/drawer/drawer.context.js +2 -0
  53. package/build/components/drawer/drawer.d.ts +4 -0
  54. package/build/components/drawer/drawer.d.ts.map +1 -0
  55. package/build/components/drawer/drawer.js +19 -0
  56. package/build/components/drawer/drawer.styles.d.ts +6 -0
  57. package/build/components/drawer/drawer.styles.d.ts.map +1 -0
  58. package/build/components/drawer/drawer.styles.js +21 -0
  59. package/build/components/drawer/drawer.test.d.ts +2 -0
  60. package/build/components/drawer/drawer.test.d.ts.map +1 -0
  61. package/build/components/drawer/drawer.test.js +70 -0
  62. package/build/components/drawer/drawer.types.d.ts +116 -0
  63. package/build/components/drawer/drawer.types.d.ts.map +1 -0
  64. package/build/components/drawer/drawer.types.js +1 -0
  65. package/build/components/drawer/index.d.ts +8 -0
  66. package/build/components/drawer/index.d.ts.map +1 -0
  67. package/build/components/drawer/index.js +6 -0
  68. package/build/components/drawer/use-drawer.d.ts +17 -0
  69. package/build/components/drawer/use-drawer.d.ts.map +1 -0
  70. package/build/components/drawer/use-drawer.js +61 -0
  71. package/build/components/index.d.ts +4 -0
  72. package/build/components/index.d.ts.map +1 -1
  73. package/build/components/index.js +4 -0
  74. package/build/components/menu/menu-dropdown/menu-dropdown.d.ts.map +1 -1
  75. package/build/components/menu/menu-dropdown/menu-dropdown.js +3 -2
  76. package/build/components/menu/menu-sub-dropdown/menu-sub-dropdown.d.ts.map +1 -1
  77. package/build/components/menu/menu-sub-dropdown/menu-sub-dropdown.js +2 -1
  78. package/build/components/menu/use-menu.d.ts.map +1 -1
  79. package/build/components/menu/use-menu.js +2 -1
  80. package/build/components/modal/modal-close/modal-close.d.ts.map +1 -1
  81. package/build/components/modal/modal-close/modal-close.js +1 -1
  82. package/build/components/modal/modal-content/modal-content.d.ts.map +1 -1
  83. package/build/components/modal/modal-content/modal-content.js +1 -1
  84. package/build/components/modal/modal-header/modal-header.d.ts.map +1 -1
  85. package/build/components/modal/modal-header/modal-header.js +1 -1
  86. package/build/components/modal/modal-overlay/modal-overlay.d.ts.map +1 -1
  87. package/build/components/modal/modal-overlay/modal-overlay.js +10 -2
  88. package/build/components/modal/modal.test.js +16 -0
  89. package/build/components/modal/modal.types.d.ts +4 -0
  90. package/build/components/modal/modal.types.d.ts.map +1 -1
  91. package/build/components/number-input/number-input.d.ts.map +1 -1
  92. package/build/components/number-input/number-input.js +22 -15
  93. package/build/components/number-input/number-input.test.d.ts +2 -0
  94. package/build/components/number-input/number-input.test.d.ts.map +1 -0
  95. package/build/components/number-input/number-input.test.js +14 -0
  96. package/build/components/number-input/number-input.types.d.ts +2 -2
  97. package/build/components/number-input/number-input.types.d.ts.map +1 -1
  98. package/build/components/popover/popover-dropdown/popover-dropdown.d.ts.map +1 -1
  99. package/build/components/popover/popover-dropdown/popover-dropdown.js +2 -1
  100. package/build/components/popover/use-popover.d.ts.map +1 -1
  101. package/build/components/popover/use-popover.js +2 -1
  102. package/build/components/portal/portal.js +1 -1
  103. package/build/components/segmented-control/index.d.ts +3 -0
  104. package/build/components/segmented-control/index.d.ts.map +1 -0
  105. package/build/components/segmented-control/index.js +1 -0
  106. package/build/components/segmented-control/segmented-control.d.ts +4 -0
  107. package/build/components/segmented-control/segmented-control.d.ts.map +1 -0
  108. package/build/components/segmented-control/segmented-control.js +113 -0
  109. package/build/components/segmented-control/segmented-control.styles.d.ts +9 -0
  110. package/build/components/segmented-control/segmented-control.styles.d.ts.map +1 -0
  111. package/build/components/segmented-control/segmented-control.styles.js +28 -0
  112. package/build/components/segmented-control/segmented-control.test.d.ts +2 -0
  113. package/build/components/segmented-control/segmented-control.test.d.ts.map +1 -0
  114. package/build/components/segmented-control/segmented-control.test.js +81 -0
  115. package/build/components/segmented-control/segmented-control.types.d.ts +49 -0
  116. package/build/components/segmented-control/segmented-control.types.d.ts.map +1 -0
  117. package/build/components/segmented-control/segmented-control.types.js +1 -0
  118. package/build/components/select/select-dropdown/select-dropdown.d.ts.map +1 -1
  119. package/build/components/select/select-dropdown/select-dropdown.js +3 -2
  120. package/build/components/select/select-item/select-item.d.ts.map +1 -1
  121. package/build/components/select/select-item/select-item.js +1 -1
  122. package/build/components/select/select-root/select-root.d.ts.map +1 -1
  123. package/build/components/select/select-root/select-root.js +36 -6
  124. package/build/components/select/select-trigger/select-trigger.d.ts.map +1 -1
  125. package/build/components/select/select-trigger/select-trigger.js +1 -1
  126. package/build/components/select/select.context.d.ts +2 -0
  127. package/build/components/select/select.context.d.ts.map +1 -1
  128. package/build/components/select/select.test.js +17 -0
  129. package/build/components/select/select.types.d.ts +10 -0
  130. package/build/components/select/select.types.d.ts.map +1 -1
  131. package/build/components/select/use-select.d.ts.map +1 -1
  132. package/build/components/select/use-select.js +2 -1
  133. package/build/components/split-pane/index.d.ts +3 -0
  134. package/build/components/split-pane/index.d.ts.map +1 -0
  135. package/build/components/split-pane/index.js +1 -0
  136. package/build/components/split-pane/split-pane.d.ts +4 -0
  137. package/build/components/split-pane/split-pane.d.ts.map +1 -0
  138. package/build/components/split-pane/split-pane.js +201 -0
  139. package/build/components/split-pane/split-pane.styles.d.ts +3 -0
  140. package/build/components/split-pane/split-pane.styles.d.ts.map +1 -0
  141. package/build/components/split-pane/split-pane.styles.js +8 -0
  142. package/build/components/split-pane/split-pane.test.d.ts +2 -0
  143. package/build/components/split-pane/split-pane.test.d.ts.map +1 -0
  144. package/build/components/split-pane/split-pane.test.js +105 -0
  145. package/build/components/split-pane/split-pane.types.d.ts +51 -0
  146. package/build/components/split-pane/split-pane.types.d.ts.map +1 -0
  147. package/build/components/split-pane/split-pane.types.js +1 -0
  148. package/build/components/switch/switch.js +1 -1
  149. package/build/components/table/index.d.ts +9 -0
  150. package/build/components/table/index.d.ts.map +1 -0
  151. package/build/components/table/index.js +7 -0
  152. package/build/components/table/table-body/index.d.ts +2 -0
  153. package/build/components/table/table-body/index.d.ts.map +1 -0
  154. package/build/components/table/table-body/index.js +1 -0
  155. package/build/components/table/table-body/table-body.d.ts +4 -0
  156. package/build/components/table/table-body/table-body.d.ts.map +1 -0
  157. package/build/components/table/table-body/table-body.js +17 -0
  158. package/build/components/table/table-caption/index.d.ts +2 -0
  159. package/build/components/table/table-caption/index.d.ts.map +1 -0
  160. package/build/components/table/table-caption/index.js +1 -0
  161. package/build/components/table/table-caption/table-caption.d.ts +4 -0
  162. package/build/components/table/table-caption/table-caption.d.ts.map +1 -0
  163. package/build/components/table/table-caption/table-caption.js +13 -0
  164. package/build/components/table/table-cell/index.d.ts +2 -0
  165. package/build/components/table/table-cell/index.d.ts.map +1 -0
  166. package/build/components/table/table-cell/index.js +1 -0
  167. package/build/components/table/table-cell/table-cell.d.ts +4 -0
  168. package/build/components/table/table-cell/table-cell.d.ts.map +1 -0
  169. package/build/components/table/table-cell/table-cell.js +13 -0
  170. package/build/components/table/table-head/index.d.ts +2 -0
  171. package/build/components/table/table-head/index.d.ts.map +1 -0
  172. package/build/components/table/table-head/index.js +1 -0
  173. package/build/components/table/table-head/table-head.d.ts +4 -0
  174. package/build/components/table/table-head/table-head.d.ts.map +1 -0
  175. package/build/components/table/table-head/table-head.js +11 -0
  176. package/build/components/table/table-header-cell/index.d.ts +2 -0
  177. package/build/components/table/table-header-cell/index.d.ts.map +1 -0
  178. package/build/components/table/table-header-cell/index.js +1 -0
  179. package/build/components/table/table-header-cell/table-header-cell.d.ts +4 -0
  180. package/build/components/table/table-header-cell/table-header-cell.d.ts.map +1 -0
  181. package/build/components/table/table-header-cell/table-header-cell.js +13 -0
  182. package/build/components/table/table-row/index.d.ts +2 -0
  183. package/build/components/table/table-row/index.d.ts.map +1 -0
  184. package/build/components/table/table-row/index.js +1 -0
  185. package/build/components/table/table-row/table-row.d.ts +4 -0
  186. package/build/components/table/table-row/table-row.d.ts.map +1 -0
  187. package/build/components/table/table-row/table-row.js +11 -0
  188. package/build/components/table/table.context.d.ts +16 -0
  189. package/build/components/table/table.context.d.ts.map +1 -0
  190. package/build/components/table/table.context.js +2 -0
  191. package/build/components/table/table.d.ts +4 -0
  192. package/build/components/table/table.d.ts.map +1 -0
  193. package/build/components/table/table.js +46 -0
  194. package/build/components/table/table.styles.d.ts +16 -0
  195. package/build/components/table/table.styles.d.ts.map +1 -0
  196. package/build/components/table/table.styles.js +39 -0
  197. package/build/components/table/table.test.d.ts +2 -0
  198. package/build/components/table/table.test.d.ts.map +1 -0
  199. package/build/components/table/table.test.js +59 -0
  200. package/build/components/table/table.types.d.ts +113 -0
  201. package/build/components/table/table.types.d.ts.map +1 -0
  202. package/build/components/table/table.types.js +1 -0
  203. package/build/components/tabs/tabs-tab/tabs-tab.d.ts.map +1 -1
  204. package/build/components/tabs/tabs-tab/tabs-tab.js +0 -6
  205. package/build/components/tooltip/tooltip.d.ts.map +1 -1
  206. package/build/components/tooltip/tooltip.js +7 -3
  207. package/build/components/tooltip/use-tooltip.d.ts.map +1 -1
  208. package/build/components/tooltip/use-tooltip.js +2 -1
  209. package/build/components/transition/transition.d.ts.map +1 -1
  210. package/build/components/transition/transition.js +16 -12
  211. package/build/style.css +1 -1
  212. package/package.json +2 -2
  213. package/src/components/breadcrumbs/breadcrumbs.styles.ts +55 -0
  214. package/src/components/breadcrumbs/breadcrumbs.test.tsx +136 -0
  215. package/src/components/breadcrumbs/breadcrumbs.tsx +199 -0
  216. package/src/components/breadcrumbs/breadcrumbs.types.ts +78 -0
  217. package/src/components/breadcrumbs/breadcrumbs.utils.ts +70 -0
  218. package/src/components/breadcrumbs/index.ts +6 -0
  219. package/src/components/drawer/drawer-close/drawer-close.tsx +43 -0
  220. package/src/components/drawer/drawer-close/index.ts +1 -0
  221. package/src/components/drawer/drawer-content/drawer-content.tsx +98 -0
  222. package/src/components/drawer/drawer-content/index.ts +1 -0
  223. package/src/components/drawer/drawer-header/drawer-header.tsx +40 -0
  224. package/src/components/drawer/drawer-header/index.ts +1 -0
  225. package/src/components/drawer/drawer-overlay/drawer-overlay.tsx +86 -0
  226. package/src/components/drawer/drawer-overlay/index.ts +1 -0
  227. package/src/components/drawer/drawer-root/drawer-root.tsx +94 -0
  228. package/src/components/drawer/drawer-root/index.ts +1 -0
  229. package/src/components/drawer/drawer.context.ts +25 -0
  230. package/src/components/drawer/drawer.styles.ts +32 -0
  231. package/src/components/drawer/drawer.test.tsx +166 -0
  232. package/src/components/drawer/drawer.tsx +30 -0
  233. package/src/components/drawer/drawer.types.ts +158 -0
  234. package/src/components/drawer/index.ts +16 -0
  235. package/src/components/drawer/use-drawer.ts +101 -0
  236. package/src/components/index.ts +10 -6
  237. package/src/components/menu/menu-dropdown/menu-dropdown.tsx +4 -3
  238. package/src/components/menu/menu-sub-dropdown/menu-sub-dropdown.tsx +2 -0
  239. package/src/components/menu/use-menu.ts +2 -1
  240. package/src/components/modal/modal-close/modal-close.tsx +1 -5
  241. package/src/components/modal/modal-content/modal-content.tsx +3 -4
  242. package/src/components/modal/modal-header/modal-header.tsx +4 -2
  243. package/src/components/modal/modal-overlay/modal-overlay.tsx +66 -44
  244. package/src/components/modal/modal.test.tsx +124 -88
  245. package/src/components/modal/modal.types.ts +6 -0
  246. package/src/components/modal/use-modal.ts +101 -101
  247. package/src/components/number-input/number-input.test.tsx +22 -0
  248. package/src/components/number-input/number-input.tsx +79 -51
  249. package/src/components/number-input/number-input.types.ts +8 -8
  250. package/src/components/popover/popover-dropdown/popover-dropdown.tsx +2 -0
  251. package/src/components/popover/use-popover.ts +2 -1
  252. package/src/components/portal/portal.tsx +1 -1
  253. package/src/components/segmented-control/index.ts +6 -0
  254. package/src/components/segmented-control/segmented-control.styles.ts +37 -0
  255. package/src/components/segmented-control/segmented-control.test.tsx +152 -0
  256. package/src/components/segmented-control/segmented-control.tsx +245 -0
  257. package/src/components/segmented-control/segmented-control.types.ts +75 -0
  258. package/src/components/select/select-dropdown/select-dropdown.tsx +4 -3
  259. package/src/components/select/select-item/select-item.tsx +1 -2
  260. package/src/components/select/select-root/select-root.tsx +87 -11
  261. package/src/components/select/select-trigger/select-trigger.tsx +2 -0
  262. package/src/components/select/select.context.ts +2 -0
  263. package/src/components/select/select.test.tsx +35 -0
  264. package/src/components/select/select.types.ts +15 -0
  265. package/src/components/select/use-select.ts +2 -1
  266. package/src/components/switch/switch.tsx +1 -1
  267. package/src/components/table/index.ts +24 -0
  268. package/src/components/table/table-body/index.ts +1 -0
  269. package/src/components/table/table-body/table-body.tsx +37 -0
  270. package/src/components/table/table-caption/index.ts +1 -0
  271. package/src/components/table/table-caption/table-caption.tsx +32 -0
  272. package/src/components/table/table-cell/index.ts +1 -0
  273. package/src/components/table/table-cell/table-cell.tsx +33 -0
  274. package/src/components/table/table-head/index.ts +1 -0
  275. package/src/components/table/table-head/table-head.tsx +29 -0
  276. package/src/components/table/table-header-cell/index.ts +1 -0
  277. package/src/components/table/table-header-cell/table-header-cell.tsx +33 -0
  278. package/src/components/table/table-row/index.ts +1 -0
  279. package/src/components/table/table-row/table-row.tsx +30 -0
  280. package/src/components/table/table.context.ts +18 -0
  281. package/src/components/table/table.styles.ts +62 -0
  282. package/src/components/table/table.test.tsx +145 -0
  283. package/src/components/table/table.tsx +91 -0
  284. package/src/components/table/table.types.ts +145 -0
  285. package/src/components/tabs/tabs-tab/tabs-tab.tsx +0 -8
  286. package/src/components/tooltip/tooltip.tsx +7 -1
  287. package/src/components/tooltip/use-tooltip.ts +2 -1
  288. package/src/components/transition/transition.tsx +18 -14
  289. package/src/style.css +0 -1
  290. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,62 @@
1
+ import { RefraktorSize } from "../../theme";
2
+
3
+ type TableSizeStyles = {
4
+ headerCell: string;
5
+ cell: string;
6
+ caption: string;
7
+ };
8
+
9
+ type TableBodyStyleOptions = {
10
+ striped: boolean;
11
+ highlightOnHover: boolean;
12
+ withRowBorders: boolean;
13
+ };
14
+
15
+ const sizes: Record<RefraktorSize, TableSizeStyles> = {
16
+ xs: {
17
+ headerCell: "px-2 py-1.5 text-xs",
18
+ cell: "px-2 py-1.5 text-xs",
19
+ caption: "text-xs"
20
+ },
21
+ sm: {
22
+ headerCell: "px-2.5 py-2 text-xs",
23
+ cell: "px-2.5 py-2 text-sm",
24
+ caption: "text-xs"
25
+ },
26
+ md: {
27
+ headerCell: "px-3 py-2.5 text-sm",
28
+ cell: "px-3 py-2.5 text-sm",
29
+ caption: "text-sm"
30
+ },
31
+ lg: {
32
+ headerCell: "px-3.5 py-3 text-base",
33
+ cell: "px-3.5 py-3 text-base",
34
+ caption: "text-base"
35
+ },
36
+ xl: {
37
+ headerCell: "px-4 py-3.5 text-lg",
38
+ cell: "px-4 py-3.5 text-lg",
39
+ caption: "text-lg"
40
+ }
41
+ };
42
+
43
+ export const getSize = (size: RefraktorSize = "md") => sizes[size];
44
+
45
+ export const getColumnBorder = (withColumnBorders = false) =>
46
+ withColumnBorders
47
+ ? "border-r border-[var(--refraktor-border)] last:border-r-0"
48
+ : "";
49
+
50
+ export const getBodyStyles = ({
51
+ striped,
52
+ highlightOnHover,
53
+ withRowBorders
54
+ }: TableBodyStyleOptions) =>
55
+ [
56
+ striped && "[&_tr:nth-child(odd)]:bg-[var(--refraktor-bg-subtle)]",
57
+ highlightOnHover && "[&_tr:hover]:bg-[var(--refraktor-bg-hover)]",
58
+ withRowBorders &&
59
+ "[&_tr]:border-b [&_tr]:border-[var(--refraktor-border)] [&_tr:last-child]:border-b-0"
60
+ ]
61
+ .filter(Boolean)
62
+ .join(" ");
@@ -0,0 +1,145 @@
1
+ import { createRef } from "react";
2
+ import { describe, expect, it } from "vitest";
3
+ import { render, screen } from "../../vitest";
4
+ import Table from "./table";
5
+
6
+ describe("@refraktor/core/Table", () => {
7
+ it("renders semantic table structure with subcomponents", async () => {
8
+ await render(
9
+ <Table>
10
+ <Table.Caption>Users</Table.Caption>
11
+ <Table.Head>
12
+ <Table.Row>
13
+ <Table.HeaderCell>Name</Table.HeaderCell>
14
+ <Table.HeaderCell>Email</Table.HeaderCell>
15
+ </Table.Row>
16
+ </Table.Head>
17
+
18
+ <Table.Body>
19
+ <Table.Row>
20
+ <Table.Cell>Ada</Table.Cell>
21
+ <Table.Cell>ada@example.com</Table.Cell>
22
+ </Table.Row>
23
+ </Table.Body>
24
+ </Table>
25
+ );
26
+
27
+ expect(screen.getByRole("table")).toBeInTheDocument();
28
+ expect(screen.getByText("Users")).toBeInTheDocument();
29
+ expect(
30
+ screen.getByRole("columnheader", { name: "Name" })
31
+ ).toBeInTheDocument();
32
+ expect(screen.getByRole("cell", { name: "Ada" })).toBeInTheDocument();
33
+ });
34
+
35
+ it("applies body behavior styles", async () => {
36
+ const { container } = await render(
37
+ <Table striped highlightOnHover withRowBorders>
38
+ <Table.Head>
39
+ <Table.Row>
40
+ <Table.HeaderCell>Name</Table.HeaderCell>
41
+ </Table.Row>
42
+ </Table.Head>
43
+
44
+ <Table.Body>
45
+ <Table.Row>
46
+ <Table.Cell>Ada</Table.Cell>
47
+ </Table.Row>
48
+ </Table.Body>
49
+ </Table>
50
+ );
51
+
52
+ const body = container.querySelector("tbody") as HTMLTableSectionElement;
53
+
54
+ expect(body.className).toContain("nth-child(odd)");
55
+ expect(body.className).toContain("[&_tr:hover]:bg-[var(--refraktor-bg-hover)]");
56
+ expect(body.className).toContain("[&_tr]:border-b");
57
+ });
58
+
59
+ it("applies column borders and size styles", async () => {
60
+ await render(
61
+ <Table withColumnBorders size="xl">
62
+ <Table.Head>
63
+ <Table.Row>
64
+ <Table.HeaderCell>Name</Table.HeaderCell>
65
+ </Table.Row>
66
+ </Table.Head>
67
+
68
+ <Table.Body>
69
+ <Table.Row>
70
+ <Table.Cell>Ada</Table.Cell>
71
+ </Table.Row>
72
+ </Table.Body>
73
+ </Table>
74
+ );
75
+
76
+ const headerCell = screen.getByRole("columnheader", { name: "Name" });
77
+ const cell = screen.getByRole("cell", { name: "Ada" });
78
+
79
+ expect(headerCell.className).toContain("border-r");
80
+ expect(cell.className).toContain("border-r");
81
+ expect(cell.className).toContain("px-4");
82
+ });
83
+
84
+ it("supports root and slot class names", async () => {
85
+ const { container } = await render(
86
+ <Table
87
+ className="custom-root"
88
+ classNames={{
89
+ head: "custom-head",
90
+ body: "custom-body",
91
+ row: "custom-row",
92
+ headerCell: "custom-header-cell",
93
+ cell: "custom-cell",
94
+ caption: "custom-caption"
95
+ }}
96
+ >
97
+ <Table.Caption>Users</Table.Caption>
98
+ <Table.Head>
99
+ <Table.Row>
100
+ <Table.HeaderCell>Name</Table.HeaderCell>
101
+ </Table.Row>
102
+ </Table.Head>
103
+
104
+ <Table.Body>
105
+ <Table.Row>
106
+ <Table.Cell>Ada</Table.Cell>
107
+ </Table.Row>
108
+ </Table.Body>
109
+ </Table>
110
+ );
111
+
112
+ const root = container.firstElementChild as HTMLTableElement;
113
+ const head = container.querySelector("thead") as HTMLTableSectionElement;
114
+ const body = container.querySelector("tbody") as HTMLTableSectionElement;
115
+ const row = screen.getAllByRole("row")[0];
116
+ const headerCell = screen.getByRole("columnheader", { name: "Name" });
117
+ const cell = screen.getByRole("cell", { name: "Ada" });
118
+ const caption = screen.getByText("Users");
119
+
120
+ expect(root).toHaveClass("custom-root");
121
+ expect(head).toHaveClass("custom-head");
122
+ expect(body).toHaveClass("custom-body");
123
+ expect(row).toHaveClass("custom-row");
124
+ expect(headerCell).toHaveClass("custom-header-cell");
125
+ expect(cell).toHaveClass("custom-cell");
126
+ expect(caption).toHaveClass("custom-caption");
127
+ });
128
+
129
+ it("forwards ref to table root", async () => {
130
+ const ref = createRef<HTMLTableElement>();
131
+
132
+ await render(
133
+ <Table ref={ref}>
134
+ <Table.Body>
135
+ <Table.Row>
136
+ <Table.Cell>Ada</Table.Cell>
137
+ </Table.Row>
138
+ </Table.Body>
139
+ </Table>
140
+ );
141
+
142
+ expect(ref.current).toBeInstanceOf(HTMLTableElement);
143
+ expect(ref.current?.tagName).toBe("TABLE");
144
+ });
145
+ });
@@ -0,0 +1,91 @@
1
+ import { useId } from "@refraktor/utils";
2
+ import { useCallback } from "react";
3
+ import { useTheme } from "../../theme";
4
+ import {
5
+ createClassNamesConfig,
6
+ createComponentConfig,
7
+ factory,
8
+ useClassNames,
9
+ useProps
10
+ } from "../../utils";
11
+ import { TableBody } from "./table-body";
12
+ import { TableCaption } from "./table-caption";
13
+ import { TableCell } from "./table-cell";
14
+ import { TableProvider } from "./table.context";
15
+ import { TableHead } from "./table-head";
16
+ import { TableHeaderCell } from "./table-header-cell";
17
+ import { TableRow } from "./table-row";
18
+ import { TableClassNames, TableFactoryPayload, TableProps } from "./table.types";
19
+
20
+ const defaultProps = {
21
+ size: "md",
22
+ radius: "default",
23
+ striped: false,
24
+ highlightOnHover: false,
25
+ withRowBorders: true,
26
+ withColumnBorders: false
27
+ } satisfies Partial<TableProps>;
28
+
29
+ const Table = factory<TableFactoryPayload>((_props, ref) => {
30
+ const { cx, getRadius } = useTheme();
31
+ const {
32
+ id,
33
+ children,
34
+ size,
35
+ radius,
36
+ striped,
37
+ highlightOnHover,
38
+ withRowBorders,
39
+ withColumnBorders,
40
+ className,
41
+ classNames,
42
+ ...props
43
+ } = useProps("Table", defaultProps, _props);
44
+ const classes = useClassNames("Table", classNames);
45
+ const _id = useId(id);
46
+
47
+ const getStyles = useCallback(
48
+ (part: keyof TableClassNames) => classes[part],
49
+ [classes]
50
+ );
51
+
52
+ return (
53
+ <TableProvider
54
+ value={{
55
+ size,
56
+ radius,
57
+ striped,
58
+ highlightOnHover,
59
+ withRowBorders,
60
+ withColumnBorders,
61
+ getStyles
62
+ }}
63
+ >
64
+ <table
65
+ ref={ref}
66
+ id={_id}
67
+ className={cx(
68
+ "w-full border-collapse text-left text-[var(--refraktor-text)]",
69
+ getRadius(radius),
70
+ classes.root,
71
+ className
72
+ )}
73
+ {...props}
74
+ >
75
+ {children}
76
+ </table>
77
+ </TableProvider>
78
+ );
79
+ });
80
+
81
+ Table.displayName = "@refraktor/core/Table";
82
+ Table.configure = createComponentConfig<TableProps>();
83
+ Table.classNames = createClassNamesConfig<TableClassNames>();
84
+ Table.Head = TableHead;
85
+ Table.Body = TableBody;
86
+ Table.Row = TableRow;
87
+ Table.HeaderCell = TableHeaderCell;
88
+ Table.Cell = TableCell;
89
+ Table.Caption = TableCaption;
90
+
91
+ export default Table;
@@ -0,0 +1,145 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ import { RefraktorRadius, RefraktorSize } from "../../theme";
3
+ import {
4
+ createClassNamesConfig,
5
+ createComponentConfig,
6
+ FactoryPayload
7
+ } from "../../utils";
8
+ import { TableBody } from "./table-body";
9
+ import { TableCaption } from "./table-caption";
10
+ import { TableCell } from "./table-cell";
11
+ import { TableHead } from "./table-head";
12
+ import { TableHeaderCell } from "./table-header-cell";
13
+ import { TableRow } from "./table-row";
14
+
15
+ export type TableClassNames = {
16
+ root?: string;
17
+ head?: string;
18
+ body?: string;
19
+ row?: string;
20
+ headerCell?: string;
21
+ cell?: string;
22
+ caption?: string;
23
+ };
24
+
25
+ export interface TableProps extends ComponentPropsWithoutRef<"table"> {
26
+ /** Children containing table subcomponents */
27
+ children: ReactNode;
28
+
29
+ /** Shared table size @default `md` */
30
+ size?: RefraktorSize;
31
+
32
+ /** Shared table radius @default `default` */
33
+ radius?: RefraktorRadius;
34
+
35
+ /** Whether odd body rows are striped @default `false` */
36
+ striped?: boolean;
37
+
38
+ /** Whether body rows highlight on hover @default `false` */
39
+ highlightOnHover?: boolean;
40
+
41
+ /** Whether body rows have bottom border @default `true` */
42
+ withRowBorders?: boolean;
43
+
44
+ /** Whether cells have vertical separators @default `false` */
45
+ withColumnBorders?: boolean;
46
+
47
+ /** Used for editing root class name */
48
+ className?: string;
49
+
50
+ /** Used for styling different parts of the component */
51
+ classNames?: TableClassNames;
52
+ }
53
+
54
+ export interface TableHeadProps extends ComponentPropsWithoutRef<"thead"> {
55
+ /** Header content */
56
+ children: ReactNode;
57
+
58
+ /** Used for editing root class name */
59
+ className?: string;
60
+ }
61
+
62
+ export interface TableBodyProps extends ComponentPropsWithoutRef<"tbody"> {
63
+ /** Body content */
64
+ children: ReactNode;
65
+
66
+ /** Used for editing root class name */
67
+ className?: string;
68
+ }
69
+
70
+ export interface TableRowProps extends ComponentPropsWithoutRef<"tr"> {
71
+ /** Row content */
72
+ children: ReactNode;
73
+
74
+ /** Used for editing root class name */
75
+ className?: string;
76
+ }
77
+
78
+ export interface TableHeaderCellProps extends ComponentPropsWithoutRef<"th"> {
79
+ /** Header cell content */
80
+ children: ReactNode;
81
+
82
+ /** Used for editing root class name */
83
+ className?: string;
84
+ }
85
+
86
+ export interface TableCellProps extends ComponentPropsWithoutRef<"td"> {
87
+ /** Cell content */
88
+ children: ReactNode;
89
+
90
+ /** Used for editing root class name */
91
+ className?: string;
92
+ }
93
+
94
+ export interface TableCaptionProps extends ComponentPropsWithoutRef<"caption"> {
95
+ /** Caption content */
96
+ children?: ReactNode;
97
+
98
+ /** Used for editing root class name */
99
+ className?: string;
100
+ }
101
+
102
+ export interface TableFactoryPayload extends FactoryPayload {
103
+ props: TableProps;
104
+ ref: HTMLTableElement;
105
+ compound: {
106
+ configure: ReturnType<typeof createComponentConfig<TableProps>>;
107
+ classNames: ReturnType<typeof createClassNamesConfig<TableClassNames>>;
108
+ Head: typeof TableHead;
109
+ Body: typeof TableBody;
110
+ Row: typeof TableRow;
111
+ HeaderCell: typeof TableHeaderCell;
112
+ Cell: typeof TableCell;
113
+ Caption: typeof TableCaption;
114
+ };
115
+ }
116
+
117
+ export interface TableHeadFactoryPayload extends FactoryPayload {
118
+ props: TableHeadProps;
119
+ ref: HTMLTableSectionElement;
120
+ }
121
+
122
+ export interface TableBodyFactoryPayload extends FactoryPayload {
123
+ props: TableBodyProps;
124
+ ref: HTMLTableSectionElement;
125
+ }
126
+
127
+ export interface TableRowFactoryPayload extends FactoryPayload {
128
+ props: TableRowProps;
129
+ ref: HTMLTableRowElement;
130
+ }
131
+
132
+ export interface TableHeaderCellFactoryPayload extends FactoryPayload {
133
+ props: TableHeaderCellProps;
134
+ ref: HTMLTableCellElement;
135
+ }
136
+
137
+ export interface TableCellFactoryPayload extends FactoryPayload {
138
+ props: TableCellProps;
139
+ ref: HTMLTableCellElement;
140
+ }
141
+
142
+ export interface TableCaptionFactoryPayload extends FactoryPayload {
143
+ props: TableCaptionProps;
144
+ ref: HTMLTableCaptionElement;
145
+ }
@@ -91,10 +91,6 @@ const TabsTab = factory<TabsTabFactoryPayload>(
91
91
 
92
92
  const nextTab = tabs[nextIndex];
93
93
  nextTab.ref.current?.focus();
94
-
95
- if (activationMode === "automatic") {
96
- onValueChange(nextTab.value);
97
- }
98
94
  };
99
95
 
100
96
  const handleBoundary = (type: "first" | "last") => {
@@ -107,10 +103,6 @@ const TabsTab = factory<TabsTabFactoryPayload>(
107
103
  const target = type === "first" ? tabs[0] : tabs[tabs.length - 1];
108
104
 
109
105
  target.ref.current?.focus();
110
-
111
- if (activationMode === "automatic") {
112
- onValueChange(target.value);
113
- }
114
106
  };
115
107
 
116
108
  return (
@@ -50,6 +50,7 @@ const Tooltip = factory<TooltipFactoryPayload>((_props, ref) => {
50
50
  transitionProps,
51
51
  radius,
52
52
  withinPortal,
53
+ style,
53
54
  className,
54
55
  classNames,
55
56
  ...props
@@ -94,6 +95,7 @@ const Tooltip = factory<TooltipFactoryPayload>((_props, ref) => {
94
95
  transition="fade"
95
96
  duration={200}
96
97
  mounted={isOpened}
98
+ style={{ position: "relative", zIndex: 1000 }}
97
99
  {...transitionProps}
98
100
  >
99
101
  <div
@@ -108,7 +110,11 @@ const Tooltip = factory<TooltipFactoryPayload>((_props, ref) => {
108
110
  }}
109
111
  id={_id}
110
112
  role="tooltip"
111
- style={floatingStyles}
113
+ style={{
114
+ ...floatingStyles,
115
+ zIndex: 1000,
116
+ ...style
117
+ }}
112
118
  className={cx(
113
119
  "z-50 px-1.5 py-0.5 text-sm bg-[var(--refraktor-bg)] text-[var(--refraktor-text)] shadow-md",
114
120
  getRadius(radius),
@@ -136,7 +136,8 @@ export function useTooltip(options: UseTooltipProps = {}): UseTooltipReturn {
136
136
  open: isOpen,
137
137
  onOpenChange: setIsOpen,
138
138
  middleware: middleware,
139
- whileElementsMounted: autoUpdate
139
+ whileElementsMounted: autoUpdate,
140
+ strategy: "fixed"
140
141
  });
141
142
 
142
143
  const hover = useHover(floating.context, {
@@ -239,26 +239,30 @@ const Transition = polymorphicFactory<TransitionFactoryPayload>(
239
239
  setTransitionState("entering");
240
240
 
241
241
  rafRef.current = window.requestAnimationFrame(() => {
242
- if (runIdRef.current !== runId) {
243
- return;
244
- }
245
-
246
- setTransitionState("entered");
242
+ // Second rAF ensures the browser has painted the enterFrom
243
+ // styles before we move to entered, so the CSS transition fires.
244
+ rafRef.current = window.requestAnimationFrame(() => {
245
+ if (runIdRef.current !== runId) {
246
+ return;
247
+ }
247
248
 
248
- const waitTime = enterDuration + enterDelay;
249
+ setTransitionState("entered");
249
250
 
250
- if (waitTime <= 0) {
251
- onEnterEnd?.();
252
- return;
253
- }
251
+ const waitTime = enterDuration + enterDelay;
254
252
 
255
- timeoutRef.current = window.setTimeout(() => {
256
- if (runIdRef.current !== runId) {
253
+ if (waitTime <= 0) {
254
+ onEnterEnd?.();
257
255
  return;
258
256
  }
259
257
 
260
- onEnterEnd?.();
261
- }, waitTime);
258
+ timeoutRef.current = window.setTimeout(() => {
259
+ if (runIdRef.current !== runId) {
260
+ return;
261
+ }
262
+
263
+ onEnterEnd?.();
264
+ }, waitTime);
265
+ });
262
266
  });
263
267
 
264
268
  return;
package/src/style.css CHANGED
@@ -253,7 +253,6 @@
253
253
  .refraktor-scrollbar {
254
254
  scrollbar-width: thin;
255
255
  scrollbar-color: var(--refraktor-scroll-thumb) transparent;
256
- scrollbar-gutter: stable both-edges;
257
256
  }
258
257
 
259
258
  .refraktor-scrollbar::-webkit-scrollbar {
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/components/index.ts","./src/components/accordion/accordion.context.ts","./src/components/accordion/accordion.styles.ts","./src/components/accordion/accordion.test.tsx","./src/components/accordion/accordion.tsx","./src/components/accordion/accordion.types.ts","./src/components/accordion/index.ts","./src/components/accordion/accordion-control/accordion-control.tsx","./src/components/accordion/accordion-control/index.ts","./src/components/accordion/accordion-item/accordion-item.tsx","./src/components/accordion/accordion-item/index.ts","./src/components/accordion/accordion-panel/accordion-panel.tsx","./src/components/accordion/accordion-panel/index.ts","./src/components/avatar/avatar.styles.ts","./src/components/avatar/avatar.tsx","./src/components/avatar/avatar.types.ts","./src/components/avatar/index.ts","./src/components/avatar/avatar-group/avatar-group.tsx","./src/components/avatar/avatar-group/index.ts","./src/components/badge/badge.styles.ts","./src/components/badge/badge.tsx","./src/components/badge/badge.types.ts","./src/components/badge/index.ts","./src/components/button/button.styles.ts","./src/components/button/button.test.tsx","./src/components/button/button.tsx","./src/components/button/button.types.ts","./src/components/button/index.ts","./src/components/checkbox/checkbox.context.ts","./src/components/checkbox/checkbox.styles.ts","./src/components/checkbox/checkbox.test.tsx","./src/components/checkbox/checkbox.tsx","./src/components/checkbox/checkbox.types.ts","./src/components/checkbox/index.ts","./src/components/checkbox/checkbox-group/checkbox-group.tsx","./src/components/checkbox/checkbox-group/index.ts","./src/components/color-swatch/color-swatch.styles.ts","./src/components/color-swatch/color-swatch.test.tsx","./src/components/color-swatch/color-swatch.tsx","./src/components/color-swatch/color-swatch.types.ts","./src/components/color-swatch/index.ts","./src/components/input/index.ts","./src/components/input/input.tsx","./src/components/input/input.types.ts","./src/components/input/input-description/index.ts","./src/components/input/input-description/input-description.tsx","./src/components/input/input-error/index.ts","./src/components/input/input-error/input-error.tsx","./src/components/input/input-field/index.ts","./src/components/input/input-field/input-field.styles.ts","./src/components/input/input-field/input-field.tsx","./src/components/input/input-label/index.ts","./src/components/input/input-label/input-label.tsx","./src/components/input/input-wrapper/index.ts","./src/components/input/input-wrapper/input-wrapper.tsx","./src/components/loader/index.ts","./src/components/loader/loader.tsx","./src/components/loader/loader.types.ts","./src/components/menu/index.ts","./src/components/menu/menu.context.ts","./src/components/menu/menu.test.tsx","./src/components/menu/menu.tsx","./src/components/menu/menu.types.ts","./src/components/menu/use-menu.ts","./src/components/menu/menu-dropdown/index.ts","./src/components/menu/menu-dropdown/menu-dropdown.tsx","./src/components/menu/menu-item/index.ts","./src/components/menu/menu-item/menu-item.tsx","./src/components/menu/menu-label/index.ts","./src/components/menu/menu-label/menu-label.tsx","./src/components/menu/menu-separator/index.ts","./src/components/menu/menu-separator/menu-separator.tsx","./src/components/menu/menu-sub/index.ts","./src/components/menu/menu-sub/menu-sub.tsx","./src/components/menu/menu-sub-dropdown/index.ts","./src/components/menu/menu-sub-dropdown/menu-sub-dropdown.tsx","./src/components/menu/menu-sub-trigger/index.ts","./src/components/menu/menu-sub-trigger/menu-sub-trigger.tsx","./src/components/menu/menu-trigger/index.ts","./src/components/menu/menu-trigger/menu-trigger.tsx","./src/components/modal/index.ts","./src/components/modal/modal.context.ts","./src/components/modal/modal.test.tsx","./src/components/modal/modal.tsx","./src/components/modal/modal.types.ts","./src/components/modal/use-modal.ts","./src/components/modal/modal-close/index.ts","./src/components/modal/modal-close/modal-close.tsx","./src/components/modal/modal-content/index.ts","./src/components/modal/modal-content/modal-content.tsx","./src/components/modal/modal-header/index.ts","./src/components/modal/modal-header/modal-header.tsx","./src/components/modal/modal-overlay/index.ts","./src/components/modal/modal-overlay/modal-overlay.tsx","./src/components/modal/modal-root/index.ts","./src/components/modal/modal-root/modal-root.tsx","./src/components/number-input/index.ts","./src/components/number-input/number-input.styles.ts","./src/components/number-input/number-input.tsx","./src/components/number-input/number-input.types.ts","./src/components/pagination/index.ts","./src/components/pagination/pagination.styles.ts","./src/components/pagination/pagination.test.tsx","./src/components/pagination/pagination.tsx","./src/components/pagination/pagination.types.ts","./src/components/pagination/pagination.utils.ts","./src/components/popover/index.ts","./src/components/popover/popover.context.ts","./src/components/popover/popover.tsx","./src/components/popover/popover.types.ts","./src/components/popover/use-popover.ts","./src/components/popover/popover-dropdown/index.ts","./src/components/popover/popover-dropdown/popover-dropdown.tsx","./src/components/popover/popover-trigger/index.ts","./src/components/popover/popover-trigger/popover-trigger.tsx","./src/components/portal/index.ts","./src/components/portal/portal.test.tsx","./src/components/portal/portal.tsx","./src/components/portal/portal.types.ts","./src/components/progress/index.ts","./src/components/progress/progress.styles.ts","./src/components/progress/progress.test.tsx","./src/components/progress/progress.tsx","./src/components/progress/progress.types.ts","./src/components/progress-circle/index.ts","./src/components/progress-circle/progress-circle.styles.ts","./src/components/progress-circle/progress-circle.test.tsx","./src/components/progress-circle/progress-circle.tsx","./src/components/progress-circle/progress-circle.types.ts","./src/components/radio/index.ts","./src/components/radio/radio.context.ts","./src/components/radio/radio.styles.ts","./src/components/radio/radio.test.tsx","./src/components/radio/radio.tsx","./src/components/radio/radio.types.ts","./src/components/radio/radio-group/index.ts","./src/components/radio/radio-group/radio-group.tsx","./src/components/select/index.ts","./src/components/select/select.context.ts","./src/components/select/select.test.tsx","./src/components/select/select.tsx","./src/components/select/select.types.ts","./src/components/select/use-select.ts","./src/components/select/select-dropdown/index.ts","./src/components/select/select-dropdown/select-dropdown.tsx","./src/components/select/select-group/index.ts","./src/components/select/select-group/select-group.tsx","./src/components/select/select-item/index.ts","./src/components/select/select-item/select-item.tsx","./src/components/select/select-root/index.ts","./src/components/select/select-root/select-root.tsx","./src/components/select/select-trigger/index.ts","./src/components/select/select-trigger/select-trigger.tsx","./src/components/slider/index.ts","./src/components/slider/slider.styles.ts","./src/components/slider/slider.tsx","./src/components/slider/slider.types.ts","./src/components/switch/index.ts","./src/components/switch/switch.styles.ts","./src/components/switch/switch.tsx","./src/components/switch/switch.types.ts","./src/components/tabs/index.ts","./src/components/tabs/tabs.context.ts","./src/components/tabs/tabs.styles.ts","./src/components/tabs/tabs.test.tsx","./src/components/tabs/tabs.tsx","./src/components/tabs/tabs.types.ts","./src/components/tabs/tabs-list/index.ts","./src/components/tabs/tabs-list/tabs-list.tsx","./src/components/tabs/tabs-panel/index.ts","./src/components/tabs/tabs-panel/tabs-panel.tsx","./src/components/tabs/tabs-tab/index.ts","./src/components/tabs/tabs-tab/tabs-tab.tsx","./src/components/textarea/index.ts","./src/components/textarea/textarea.tsx","./src/components/textarea/textarea.types.ts","./src/components/textarea/textarea-field/index.ts","./src/components/textarea/textarea-field/textarea-field.styles.ts","./src/components/textarea/textarea-field/textarea-field.tsx","./src/components/timeline/index.ts","./src/components/timeline/timeline.context.ts","./src/components/timeline/timeline.styles.ts","./src/components/timeline/timeline.test.tsx","./src/components/timeline/timeline.tsx","./src/components/timeline/timeline.types.ts","./src/components/timeline/timeline-item/index.ts","./src/components/timeline/timeline-item/timeline-item.tsx","./src/components/tooltip/index.ts","./src/components/tooltip/tooltip.tsx","./src/components/tooltip/tooltip.types.ts","./src/components/tooltip/use-tooltip.ts","./src/components/transition/index.ts","./src/components/transition/transition.test.tsx","./src/components/transition/transition.tsx","./src/components/transition/transition.types.ts","./src/components/transition/transitions.ts","./src/icons/check.tsx","./src/icons/chevron.tsx","./src/icons/index.ts","./src/icons/minus.tsx","./src/icons/types.ts","./src/icons/user.tsx","./src/icons/x.tsx","./src/theme/index.ts","./src/theme/types.ts","./src/theme/themeprovider/themeprovider.tsx","./src/theme/themeprovider/context.ts","./src/theme/themeprovider/generatevariables.test.ts","./src/theme/themeprovider/generatevariables.ts","./src/theme/themeprovider/index.ts","./src/theme/themeprovider/types.ts","./src/theme/createtheme/createtheme.ts","./src/theme/createtheme/index.ts","./src/theme/createtheme/types.ts","./src/theme/defaults/colors.ts","./src/theme/defaults/settings.ts","./src/theme/utils/get-radius.ts","./src/theme/utils/get-shade.ts","./src/theme/utils/index.ts","./src/theme/utils/use-theme.ts","./src/utils/index.ts","./src/utils/configs/create-config.ts","./src/utils/configs/index.ts","./src/utils/configs/use-class-names.ts","./src/utils/configs/use-props.ts","./src/utils/cx/index.ts","./src/utils/factory/factory.ts","./src/utils/factory/index.ts","./src/utils/factory/types.ts","./src/vitest/index.ts","./src/vitest/setup.tsx","./src/vitest/utils.tsx"],"version":"5.9.3"}
1
+ {"root":["./src/index.ts","./src/components/index.ts","./src/components/accordion/accordion.context.ts","./src/components/accordion/accordion.styles.ts","./src/components/accordion/accordion.test.tsx","./src/components/accordion/accordion.tsx","./src/components/accordion/accordion.types.ts","./src/components/accordion/index.ts","./src/components/accordion/accordion-control/accordion-control.tsx","./src/components/accordion/accordion-control/index.ts","./src/components/accordion/accordion-item/accordion-item.tsx","./src/components/accordion/accordion-item/index.ts","./src/components/accordion/accordion-panel/accordion-panel.tsx","./src/components/accordion/accordion-panel/index.ts","./src/components/avatar/avatar.styles.ts","./src/components/avatar/avatar.tsx","./src/components/avatar/avatar.types.ts","./src/components/avatar/index.ts","./src/components/avatar/avatar-group/avatar-group.tsx","./src/components/avatar/avatar-group/index.ts","./src/components/badge/badge.styles.ts","./src/components/badge/badge.tsx","./src/components/badge/badge.types.ts","./src/components/badge/index.ts","./src/components/breadcrumbs/breadcrumbs.styles.ts","./src/components/breadcrumbs/breadcrumbs.test.tsx","./src/components/breadcrumbs/breadcrumbs.tsx","./src/components/breadcrumbs/breadcrumbs.types.ts","./src/components/breadcrumbs/breadcrumbs.utils.ts","./src/components/breadcrumbs/index.ts","./src/components/button/button.styles.ts","./src/components/button/button.test.tsx","./src/components/button/button.tsx","./src/components/button/button.types.ts","./src/components/button/index.ts","./src/components/checkbox/checkbox.context.ts","./src/components/checkbox/checkbox.styles.ts","./src/components/checkbox/checkbox.test.tsx","./src/components/checkbox/checkbox.tsx","./src/components/checkbox/checkbox.types.ts","./src/components/checkbox/index.ts","./src/components/checkbox/checkbox-group/checkbox-group.tsx","./src/components/checkbox/checkbox-group/index.ts","./src/components/color-swatch/color-swatch.styles.ts","./src/components/color-swatch/color-swatch.test.tsx","./src/components/color-swatch/color-swatch.tsx","./src/components/color-swatch/color-swatch.types.ts","./src/components/color-swatch/index.ts","./src/components/drawer/drawer.context.ts","./src/components/drawer/drawer.styles.ts","./src/components/drawer/drawer.test.tsx","./src/components/drawer/drawer.tsx","./src/components/drawer/drawer.types.ts","./src/components/drawer/index.ts","./src/components/drawer/use-drawer.ts","./src/components/drawer/drawer-close/drawer-close.tsx","./src/components/drawer/drawer-close/index.ts","./src/components/drawer/drawer-content/drawer-content.tsx","./src/components/drawer/drawer-content/index.ts","./src/components/drawer/drawer-header/drawer-header.tsx","./src/components/drawer/drawer-header/index.ts","./src/components/drawer/drawer-overlay/drawer-overlay.tsx","./src/components/drawer/drawer-overlay/index.ts","./src/components/drawer/drawer-root/drawer-root.tsx","./src/components/drawer/drawer-root/index.ts","./src/components/input/index.ts","./src/components/input/input.tsx","./src/components/input/input.types.ts","./src/components/input/input-description/index.ts","./src/components/input/input-description/input-description.tsx","./src/components/input/input-error/index.ts","./src/components/input/input-error/input-error.tsx","./src/components/input/input-field/index.ts","./src/components/input/input-field/input-field.styles.ts","./src/components/input/input-field/input-field.tsx","./src/components/input/input-label/index.ts","./src/components/input/input-label/input-label.tsx","./src/components/input/input-wrapper/index.ts","./src/components/input/input-wrapper/input-wrapper.tsx","./src/components/loader/index.ts","./src/components/loader/loader.tsx","./src/components/loader/loader.types.ts","./src/components/menu/index.ts","./src/components/menu/menu.context.ts","./src/components/menu/menu.test.tsx","./src/components/menu/menu.tsx","./src/components/menu/menu.types.ts","./src/components/menu/use-menu.ts","./src/components/menu/menu-dropdown/index.ts","./src/components/menu/menu-dropdown/menu-dropdown.tsx","./src/components/menu/menu-item/index.ts","./src/components/menu/menu-item/menu-item.tsx","./src/components/menu/menu-label/index.ts","./src/components/menu/menu-label/menu-label.tsx","./src/components/menu/menu-separator/index.ts","./src/components/menu/menu-separator/menu-separator.tsx","./src/components/menu/menu-sub/index.ts","./src/components/menu/menu-sub/menu-sub.tsx","./src/components/menu/menu-sub-dropdown/index.ts","./src/components/menu/menu-sub-dropdown/menu-sub-dropdown.tsx","./src/components/menu/menu-sub-trigger/index.ts","./src/components/menu/menu-sub-trigger/menu-sub-trigger.tsx","./src/components/menu/menu-trigger/index.ts","./src/components/menu/menu-trigger/menu-trigger.tsx","./src/components/modal/index.ts","./src/components/modal/modal.context.ts","./src/components/modal/modal.test.tsx","./src/components/modal/modal.tsx","./src/components/modal/modal.types.ts","./src/components/modal/use-modal.ts","./src/components/modal/modal-close/index.ts","./src/components/modal/modal-close/modal-close.tsx","./src/components/modal/modal-content/index.ts","./src/components/modal/modal-content/modal-content.tsx","./src/components/modal/modal-header/index.ts","./src/components/modal/modal-header/modal-header.tsx","./src/components/modal/modal-overlay/index.ts","./src/components/modal/modal-overlay/modal-overlay.tsx","./src/components/modal/modal-root/index.ts","./src/components/modal/modal-root/modal-root.tsx","./src/components/number-input/index.ts","./src/components/number-input/number-input.styles.ts","./src/components/number-input/number-input.test.tsx","./src/components/number-input/number-input.tsx","./src/components/number-input/number-input.types.ts","./src/components/pagination/index.ts","./src/components/pagination/pagination.styles.ts","./src/components/pagination/pagination.test.tsx","./src/components/pagination/pagination.tsx","./src/components/pagination/pagination.types.ts","./src/components/pagination/pagination.utils.ts","./src/components/popover/index.ts","./src/components/popover/popover.context.ts","./src/components/popover/popover.tsx","./src/components/popover/popover.types.ts","./src/components/popover/use-popover.ts","./src/components/popover/popover-dropdown/index.ts","./src/components/popover/popover-dropdown/popover-dropdown.tsx","./src/components/popover/popover-trigger/index.ts","./src/components/popover/popover-trigger/popover-trigger.tsx","./src/components/portal/index.ts","./src/components/portal/portal.test.tsx","./src/components/portal/portal.tsx","./src/components/portal/portal.types.ts","./src/components/progress/index.ts","./src/components/progress/progress.styles.ts","./src/components/progress/progress.test.tsx","./src/components/progress/progress.tsx","./src/components/progress/progress.types.ts","./src/components/progress-circle/index.ts","./src/components/progress-circle/progress-circle.styles.ts","./src/components/progress-circle/progress-circle.test.tsx","./src/components/progress-circle/progress-circle.tsx","./src/components/progress-circle/progress-circle.types.ts","./src/components/radio/index.ts","./src/components/radio/radio.context.ts","./src/components/radio/radio.styles.ts","./src/components/radio/radio.test.tsx","./src/components/radio/radio.tsx","./src/components/radio/radio.types.ts","./src/components/radio/radio-group/index.ts","./src/components/radio/radio-group/radio-group.tsx","./src/components/segmented-control/index.ts","./src/components/segmented-control/segmented-control.styles.ts","./src/components/segmented-control/segmented-control.test.tsx","./src/components/segmented-control/segmented-control.tsx","./src/components/segmented-control/segmented-control.types.ts","./src/components/select/index.ts","./src/components/select/select.context.ts","./src/components/select/select.test.tsx","./src/components/select/select.tsx","./src/components/select/select.types.ts","./src/components/select/use-select.ts","./src/components/select/select-dropdown/index.ts","./src/components/select/select-dropdown/select-dropdown.tsx","./src/components/select/select-group/index.ts","./src/components/select/select-group/select-group.tsx","./src/components/select/select-item/index.ts","./src/components/select/select-item/select-item.tsx","./src/components/select/select-root/index.ts","./src/components/select/select-root/select-root.tsx","./src/components/select/select-trigger/index.ts","./src/components/select/select-trigger/select-trigger.tsx","./src/components/slider/index.ts","./src/components/slider/slider.styles.ts","./src/components/slider/slider.tsx","./src/components/slider/slider.types.ts","./src/components/switch/index.ts","./src/components/switch/switch.styles.ts","./src/components/switch/switch.tsx","./src/components/switch/switch.types.ts","./src/components/table/index.ts","./src/components/table/table.context.ts","./src/components/table/table.styles.ts","./src/components/table/table.test.tsx","./src/components/table/table.tsx","./src/components/table/table.types.ts","./src/components/table/table-body/index.ts","./src/components/table/table-body/table-body.tsx","./src/components/table/table-caption/index.ts","./src/components/table/table-caption/table-caption.tsx","./src/components/table/table-cell/index.ts","./src/components/table/table-cell/table-cell.tsx","./src/components/table/table-head/index.ts","./src/components/table/table-head/table-head.tsx","./src/components/table/table-header-cell/index.ts","./src/components/table/table-header-cell/table-header-cell.tsx","./src/components/table/table-row/index.ts","./src/components/table/table-row/table-row.tsx","./src/components/tabs/index.ts","./src/components/tabs/tabs.context.ts","./src/components/tabs/tabs.styles.ts","./src/components/tabs/tabs.test.tsx","./src/components/tabs/tabs.tsx","./src/components/tabs/tabs.types.ts","./src/components/tabs/tabs-list/index.ts","./src/components/tabs/tabs-list/tabs-list.tsx","./src/components/tabs/tabs-panel/index.ts","./src/components/tabs/tabs-panel/tabs-panel.tsx","./src/components/tabs/tabs-tab/index.ts","./src/components/tabs/tabs-tab/tabs-tab.tsx","./src/components/textarea/index.ts","./src/components/textarea/textarea.tsx","./src/components/textarea/textarea.types.ts","./src/components/textarea/textarea-field/index.ts","./src/components/textarea/textarea-field/textarea-field.styles.ts","./src/components/textarea/textarea-field/textarea-field.tsx","./src/components/timeline/index.ts","./src/components/timeline/timeline.context.ts","./src/components/timeline/timeline.styles.ts","./src/components/timeline/timeline.test.tsx","./src/components/timeline/timeline.tsx","./src/components/timeline/timeline.types.ts","./src/components/timeline/timeline-item/index.ts","./src/components/timeline/timeline-item/timeline-item.tsx","./src/components/tooltip/index.ts","./src/components/tooltip/tooltip.tsx","./src/components/tooltip/tooltip.types.ts","./src/components/tooltip/use-tooltip.ts","./src/components/transition/index.ts","./src/components/transition/transition.test.tsx","./src/components/transition/transition.tsx","./src/components/transition/transition.types.ts","./src/components/transition/transitions.ts","./src/icons/check.tsx","./src/icons/chevron.tsx","./src/icons/index.ts","./src/icons/minus.tsx","./src/icons/types.ts","./src/icons/user.tsx","./src/icons/x.tsx","./src/theme/index.ts","./src/theme/types.ts","./src/theme/themeprovider/themeprovider.tsx","./src/theme/themeprovider/context.ts","./src/theme/themeprovider/generatevariables.test.ts","./src/theme/themeprovider/generatevariables.ts","./src/theme/themeprovider/index.ts","./src/theme/themeprovider/types.ts","./src/theme/createtheme/createtheme.ts","./src/theme/createtheme/index.ts","./src/theme/createtheme/types.ts","./src/theme/defaults/colors.ts","./src/theme/defaults/settings.ts","./src/theme/utils/get-radius.ts","./src/theme/utils/get-shade.ts","./src/theme/utils/index.ts","./src/theme/utils/use-theme.ts","./src/utils/index.ts","./src/utils/configs/create-config.ts","./src/utils/configs/index.ts","./src/utils/configs/use-class-names.ts","./src/utils/configs/use-props.ts","./src/utils/cx/index.ts","./src/utils/factory/factory.ts","./src/utils/factory/index.ts","./src/utils/factory/types.ts","./src/vitest/index.ts","./src/vitest/setup.tsx","./src/vitest/utils.tsx"],"version":"5.9.3"}