@wheelhouse/ui 0.1.6 → 0.2.1

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 (535) hide show
  1. package/dist/blocks/index.d.ts +2 -0
  2. package/dist/blocks/index.d.ts.map +1 -0
  3. package/dist/blocks/index.js +1 -0
  4. package/dist/blocks/navigation/index.d.ts +2 -0
  5. package/dist/blocks/navigation/index.d.ts.map +1 -0
  6. package/dist/blocks/navigation/index.js +1 -0
  7. package/dist/blocks/navigation/pattern-1/index.d.ts +3 -0
  8. package/dist/blocks/navigation/pattern-1/index.d.ts.map +1 -0
  9. package/dist/blocks/navigation/pattern-1/index.js +1 -0
  10. package/dist/blocks/navigation/pattern-1/pattern-1.config.d.ts +47 -0
  11. package/dist/blocks/navigation/pattern-1/pattern-1.config.d.ts.map +1 -0
  12. package/dist/blocks/navigation/pattern-1/pattern-1.config.js +55 -0
  13. package/dist/blocks/navigation/pattern-1/pattern-1.d.ts +7 -0
  14. package/dist/blocks/navigation/pattern-1/pattern-1.d.ts.map +1 -0
  15. package/dist/blocks/navigation/pattern-1/pattern-1.js +50 -0
  16. package/dist/blocks/navigation/pattern-1/pattern-1.stories.d.ts +16 -0
  17. package/dist/blocks/navigation/pattern-1/pattern-1.stories.d.ts.map +1 -0
  18. package/dist/blocks/navigation/pattern-1/pattern-1.stories.js +20 -0
  19. package/dist/components/accordion/accordion.d.ts +15 -0
  20. package/dist/components/accordion/accordion.d.ts.map +1 -0
  21. package/dist/components/accordion/accordion.js +18 -0
  22. package/dist/components/accordion/accordion.stories.d.ts +7 -0
  23. package/dist/components/accordion/accordion.stories.d.ts.map +1 -0
  24. package/dist/components/accordion/accordion.stories.js +17 -0
  25. package/dist/components/accordion/index.d.ts +3 -0
  26. package/dist/components/accordion/index.d.ts.map +1 -0
  27. package/dist/components/accordion/index.js +1 -0
  28. package/dist/components/alert/alert.d.ts +11 -0
  29. package/dist/components/alert/alert.d.ts.map +1 -0
  30. package/dist/components/alert/alert.js +28 -0
  31. package/dist/components/alert/alert.stories.d.ts +11 -0
  32. package/dist/components/alert/alert.stories.d.ts.map +1 -0
  33. package/dist/components/alert/alert.stories.js +35 -0
  34. package/dist/components/alert/index.d.ts +2 -0
  35. package/dist/components/alert/index.d.ts.map +1 -0
  36. package/dist/components/alert/index.js +1 -0
  37. package/dist/components/alert-dialog/alert-dialog.d.ts +44 -0
  38. package/dist/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  39. package/dist/components/alert-dialog/alert-dialog.js +43 -0
  40. package/dist/components/alert-dialog/alert-dialog.stories.d.ts +9 -0
  41. package/dist/components/alert-dialog/alert-dialog.stories.d.ts.map +1 -0
  42. package/dist/components/alert-dialog/alert-dialog.stories.js +22 -0
  43. package/dist/components/alert-dialog/index.d.ts +3 -0
  44. package/dist/components/alert-dialog/index.d.ts.map +1 -0
  45. package/dist/components/alert-dialog/index.js +1 -0
  46. package/dist/components/aspect-ratio/aspect-ratio.d.ts +11 -0
  47. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  48. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  49. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts +8 -0
  50. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts.map +1 -0
  51. package/dist/components/aspect-ratio/aspect-ratio.stories.js +26 -0
  52. package/dist/components/aspect-ratio/index.d.ts +3 -0
  53. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  54. package/dist/components/aspect-ratio/index.js +1 -0
  55. package/dist/components/avatar/avatar.d.ts +29 -0
  56. package/dist/components/avatar/avatar.d.ts.map +1 -0
  57. package/dist/components/avatar/avatar.js +24 -0
  58. package/dist/components/avatar/avatar.stories.d.ts +20 -0
  59. package/dist/components/avatar/avatar.stories.d.ts.map +1 -0
  60. package/dist/components/avatar/avatar.stories.js +40 -0
  61. package/dist/components/avatar/index.d.ts +2 -0
  62. package/dist/components/avatar/index.d.ts.map +1 -0
  63. package/dist/components/avatar/index.js +1 -0
  64. package/dist/components/badge/badge.d.ts +5 -4
  65. package/dist/components/badge/badge.d.ts.map +1 -1
  66. package/dist/components/badge/badge.js +3 -3
  67. package/dist/components/breadcrumb/breadcrumb.d.ts +25 -0
  68. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  69. package/dist/components/breadcrumb/breadcrumb.js +38 -0
  70. package/dist/components/breadcrumb/breadcrumb.stories.d.ts +16 -0
  71. package/dist/components/breadcrumb/breadcrumb.stories.d.ts.map +1 -0
  72. package/dist/components/breadcrumb/breadcrumb.stories.js +21 -0
  73. package/dist/components/breadcrumb/index.d.ts +2 -0
  74. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  75. package/dist/components/breadcrumb/index.js +1 -0
  76. package/dist/components/button/button.d.ts +9 -6
  77. package/dist/components/button/button.d.ts.map +1 -1
  78. package/dist/components/button/button.js +3 -3
  79. package/dist/components/button-group/button-group.d.ts +3 -1
  80. package/dist/components/button-group/button-group.d.ts.map +1 -1
  81. package/dist/components/button-group/button-group.js +1 -1
  82. package/dist/components/button-group/button-group.stories.d.ts +1 -0
  83. package/dist/components/button-group/button-group.stories.d.ts.map +1 -1
  84. package/dist/components/button-group/button-group.stories.js +4 -0
  85. package/dist/components/button-group/index.d.ts +1 -0
  86. package/dist/components/button-group/index.d.ts.map +1 -1
  87. package/dist/components/calendar/calendar.d.ts +34 -0
  88. package/dist/components/calendar/calendar.d.ts.map +1 -0
  89. package/dist/components/calendar/calendar.js +82 -0
  90. package/dist/components/calendar/calendar.stories.d.ts +16 -0
  91. package/dist/components/calendar/calendar.stories.d.ts.map +1 -0
  92. package/dist/components/calendar/calendar.stories.js +33 -0
  93. package/dist/components/calendar/index.d.ts +3 -0
  94. package/dist/components/calendar/index.d.ts.map +1 -0
  95. package/dist/components/calendar/index.js +1 -0
  96. package/dist/components/card/card.d.ts +28 -0
  97. package/dist/components/card/card.d.ts.map +1 -0
  98. package/dist/components/card/card.js +25 -0
  99. package/dist/components/card/card.stories.d.ts +10 -0
  100. package/dist/components/card/card.stories.d.ts.map +1 -0
  101. package/dist/components/card/card.stories.js +30 -0
  102. package/dist/components/card/index.d.ts +2 -0
  103. package/dist/components/card/index.d.ts.map +1 -0
  104. package/dist/components/card/index.js +1 -0
  105. package/dist/components/checkbox/checkbox.d.ts +9 -0
  106. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  107. package/dist/components/checkbox/checkbox.js +9 -0
  108. package/dist/components/checkbox/checkbox.stories.d.ts +19 -0
  109. package/dist/components/checkbox/checkbox.stories.d.ts.map +1 -0
  110. package/dist/components/checkbox/checkbox.stories.js +31 -0
  111. package/dist/components/checkbox/index.d.ts +2 -0
  112. package/dist/components/checkbox/index.d.ts.map +1 -0
  113. package/dist/components/checkbox/index.js +1 -0
  114. package/dist/components/collapsible/collapsible.d.ts +17 -0
  115. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  116. package/dist/components/collapsible/collapsible.js +17 -0
  117. package/dist/components/collapsible/collapsible.stories.d.ts +16 -0
  118. package/dist/components/collapsible/collapsible.stories.d.ts.map +1 -0
  119. package/dist/components/collapsible/collapsible.stories.js +24 -0
  120. package/dist/components/collapsible/index.d.ts +3 -0
  121. package/dist/components/collapsible/index.d.ts.map +1 -0
  122. package/dist/components/collapsible/index.js +1 -0
  123. package/dist/components/combobox/combobox.d.ts +38 -0
  124. package/dist/components/combobox/combobox.d.ts.map +1 -0
  125. package/dist/components/combobox/combobox.js +63 -0
  126. package/dist/components/combobox/combobox.stories.d.ts +18 -0
  127. package/dist/components/combobox/combobox.stories.d.ts.map +1 -0
  128. package/dist/components/combobox/combobox.stories.js +46 -0
  129. package/dist/components/combobox/index.d.ts +3 -0
  130. package/dist/components/combobox/index.d.ts.map +1 -0
  131. package/dist/components/combobox/index.js +1 -0
  132. package/dist/components/command/command.d.ts +31 -0
  133. package/dist/components/command/command.d.ts.map +1 -0
  134. package/dist/components/command/command.js +36 -0
  135. package/dist/components/command/command.stories.d.ts +16 -0
  136. package/dist/components/command/command.stories.d.ts.map +1 -0
  137. package/dist/components/command/command.stories.js +26 -0
  138. package/dist/components/command/index.d.ts +2 -0
  139. package/dist/components/command/index.d.ts.map +1 -0
  140. package/dist/components/command/index.js +1 -0
  141. package/dist/components/context-menu/context-menu.d.ts +62 -0
  142. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  143. package/dist/components/context-menu/context-menu.js +52 -0
  144. package/dist/components/context-menu/context-menu.stories.d.ts +17 -0
  145. package/dist/components/context-menu/context-menu.stories.d.ts.map +1 -0
  146. package/dist/components/context-menu/context-menu.stories.js +27 -0
  147. package/dist/components/context-menu/index.d.ts +2 -0
  148. package/dist/components/context-menu/index.d.ts.map +1 -0
  149. package/dist/components/context-menu/index.js +1 -0
  150. package/dist/components/date-selector/date-selector-context.d.ts +6 -0
  151. package/dist/components/date-selector/date-selector-context.d.ts.map +1 -0
  152. package/dist/components/date-selector/date-selector-context.js +11 -0
  153. package/dist/components/date-selector/date-selector-parts.d.ts +68 -0
  154. package/dist/components/date-selector/date-selector-parts.d.ts.map +1 -0
  155. package/dist/components/date-selector/date-selector-parts.js +131 -0
  156. package/dist/components/date-selector/date-selector-types.d.ts +118 -0
  157. package/dist/components/date-selector/date-selector-types.d.ts.map +1 -0
  158. package/dist/components/date-selector/date-selector-types.js +32 -0
  159. package/dist/components/date-selector/date-selector-value.d.ts +47 -0
  160. package/dist/components/date-selector/date-selector-value.d.ts.map +1 -0
  161. package/dist/components/date-selector/date-selector-value.js +183 -0
  162. package/dist/components/date-selector/date-selector.d.ts +6 -0
  163. package/dist/components/date-selector/date-selector.d.ts.map +1 -0
  164. package/dist/components/date-selector/date-selector.js +144 -0
  165. package/dist/components/date-selector/date-selector.stories.d.ts +135 -0
  166. package/dist/components/date-selector/date-selector.stories.d.ts.map +1 -0
  167. package/dist/components/date-selector/date-selector.stories.js +144 -0
  168. package/dist/components/date-selector/index.d.ts +7 -0
  169. package/dist/components/date-selector/index.d.ts.map +1 -0
  170. package/dist/components/date-selector/index.js +5 -0
  171. package/dist/components/date-selector/use-date-selector.d.ts +50 -0
  172. package/dist/components/date-selector/use-date-selector.d.ts.map +1 -0
  173. package/dist/components/date-selector/use-date-selector.js +305 -0
  174. package/dist/components/dialog/dialog.d.ts +40 -0
  175. package/dist/components/dialog/dialog.d.ts.map +1 -0
  176. package/dist/components/dialog/dialog.js +38 -0
  177. package/dist/components/dialog/dialog.stories.d.ts +9 -0
  178. package/dist/components/dialog/dialog.stories.d.ts.map +1 -0
  179. package/dist/components/dialog/dialog.stories.js +22 -0
  180. package/dist/components/dialog/index.d.ts +3 -0
  181. package/dist/components/dialog/index.d.ts.map +1 -0
  182. package/dist/components/dialog/index.js +1 -0
  183. package/dist/components/direction/direction.d.ts +7 -0
  184. package/dist/components/direction/direction.d.ts.map +1 -0
  185. package/dist/components/direction/direction.js +5 -0
  186. package/dist/components/direction/direction.stories.d.ts +8 -0
  187. package/dist/components/direction/direction.stories.d.ts.map +1 -0
  188. package/dist/components/direction/direction.stories.js +23 -0
  189. package/dist/components/direction/index.d.ts +2 -0
  190. package/dist/components/direction/index.d.ts.map +1 -0
  191. package/dist/components/direction/index.js +1 -0
  192. package/dist/components/drawer/drawer.d.ts +25 -0
  193. package/dist/components/drawer/drawer.d.ts.map +1 -0
  194. package/dist/components/drawer/drawer.js +36 -0
  195. package/dist/components/drawer/drawer.stories.d.ts +7 -0
  196. package/dist/components/drawer/drawer.stories.d.ts.map +1 -0
  197. package/dist/components/drawer/drawer.stories.js +17 -0
  198. package/dist/components/drawer/index.d.ts +2 -0
  199. package/dist/components/drawer/index.d.ts.map +1 -0
  200. package/dist/components/drawer/index.js +1 -0
  201. package/dist/components/dropdown-menu/dropdown-menu.d.ts +65 -0
  202. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  203. package/dist/components/dropdown-menu/dropdown-menu.js +52 -0
  204. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts +18 -0
  205. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  206. package/dist/components/dropdown-menu/dropdown-menu.stories.js +31 -0
  207. package/dist/components/dropdown-menu/index.d.ts +3 -0
  208. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  209. package/dist/components/dropdown-menu/index.js +1 -0
  210. package/dist/components/empty/empty.d.ts +25 -0
  211. package/dist/components/empty/empty.d.ts.map +1 -0
  212. package/dist/components/empty/empty.js +34 -0
  213. package/dist/components/empty/empty.stories.d.ts +7 -0
  214. package/dist/components/empty/empty.stories.d.ts.map +1 -0
  215. package/dist/components/empty/empty.stories.js +19 -0
  216. package/dist/components/empty/index.d.ts +3 -0
  217. package/dist/components/empty/index.d.ts.map +1 -0
  218. package/dist/components/empty/index.js +1 -0
  219. package/dist/components/field/field.d.ts +22 -0
  220. package/dist/components/field/field.d.ts.map +1 -0
  221. package/dist/components/field/field.js +34 -0
  222. package/dist/components/field/field.stories.d.ts +16 -0
  223. package/dist/components/field/field.stories.d.ts.map +1 -0
  224. package/dist/components/field/field.stories.js +26 -0
  225. package/dist/components/field/index.d.ts +2 -0
  226. package/dist/components/field/index.d.ts.map +1 -0
  227. package/dist/components/field/index.js +1 -0
  228. package/dist/components/filters/filters-defaults.d.ts +5 -0
  229. package/dist/components/filters/filters-defaults.d.ts.map +1 -0
  230. package/dist/components/filters/filters-defaults.js +97 -0
  231. package/dist/components/filters/filters-types.d.ts +135 -0
  232. package/dist/components/filters/filters-types.d.ts.map +1 -0
  233. package/dist/components/filters/filters-types.js +1 -0
  234. package/dist/components/filters/filters-utils.d.ts +4 -0
  235. package/dist/components/filters/filters-utils.d.ts.map +1 -0
  236. package/dist/components/filters/filters-utils.js +12 -0
  237. package/dist/components/filters/filters.d.ts +29 -0
  238. package/dist/components/filters/filters.d.ts.map +1 -0
  239. package/dist/components/filters/filters.js +733 -0
  240. package/dist/components/filters/filters.stories.d.ts +8 -0
  241. package/dist/components/filters/filters.stories.d.ts.map +1 -0
  242. package/dist/components/filters/filters.stories.js +48 -0
  243. package/dist/components/filters/index.d.ts +5 -0
  244. package/dist/components/filters/index.d.ts.map +1 -0
  245. package/dist/components/filters/index.js +4 -0
  246. package/dist/components/frame/frame.d.ts +65 -0
  247. package/dist/components/frame/frame.d.ts.map +1 -0
  248. package/dist/components/frame/frame.js +108 -0
  249. package/dist/components/frame/frame.stories.d.ts +14 -0
  250. package/dist/components/frame/frame.stories.d.ts.map +1 -0
  251. package/dist/components/frame/frame.stories.js +50 -0
  252. package/dist/components/frame/index.d.ts +3 -0
  253. package/dist/components/frame/index.d.ts.map +1 -0
  254. package/dist/components/frame/index.js +1 -0
  255. package/dist/components/hover-card/hover-card.d.ts +16 -0
  256. package/dist/components/hover-card/hover-card.d.ts.map +1 -0
  257. package/dist/components/hover-card/hover-card.js +14 -0
  258. package/dist/components/hover-card/hover-card.stories.d.ts +7 -0
  259. package/dist/components/hover-card/hover-card.stories.d.ts.map +1 -0
  260. package/dist/components/hover-card/hover-card.stories.js +15 -0
  261. package/dist/components/hover-card/index.d.ts +3 -0
  262. package/dist/components/hover-card/index.d.ts.map +1 -0
  263. package/dist/components/hover-card/index.js +1 -0
  264. package/dist/components/index.d.ts +51 -0
  265. package/dist/components/index.d.ts.map +1 -1
  266. package/dist/components/index.js +51 -0
  267. package/dist/components/input/index.d.ts +2 -0
  268. package/dist/components/input/index.d.ts.map +1 -0
  269. package/dist/components/input/index.js +1 -0
  270. package/dist/components/input/input.d.ts +16 -0
  271. package/dist/components/input/input.d.ts.map +1 -0
  272. package/dist/components/input/input.js +22 -0
  273. package/dist/components/input/input.stories.d.ts +28 -0
  274. package/dist/components/input/input.stories.d.ts.map +1 -0
  275. package/dist/components/input/input.stories.js +33 -0
  276. package/dist/components/input-group/index.d.ts +3 -0
  277. package/dist/components/input-group/index.d.ts.map +1 -0
  278. package/dist/components/input-group/index.js +1 -0
  279. package/dist/components/input-group/input-group.d.ts +44 -0
  280. package/dist/components/input-group/input-group.d.ts.map +1 -0
  281. package/dist/components/input-group/input-group.js +72 -0
  282. package/dist/components/input-group/input-group.stories.d.ts +18 -0
  283. package/dist/components/input-group/input-group.stories.d.ts.map +1 -0
  284. package/dist/components/input-group/input-group.stories.js +29 -0
  285. package/dist/components/item/index.d.ts +3 -0
  286. package/dist/components/item/index.d.ts.map +1 -0
  287. package/dist/components/item/index.js +1 -0
  288. package/dist/components/item/item.d.ts +60 -0
  289. package/dist/components/item/item.d.ts.map +1 -0
  290. package/dist/components/item/item.js +95 -0
  291. package/dist/components/item/item.stories.d.ts +34 -0
  292. package/dist/components/item/item.stories.d.ts.map +1 -0
  293. package/dist/components/item/item.stories.js +40 -0
  294. package/dist/components/kbd/index.d.ts +3 -0
  295. package/dist/components/kbd/index.d.ts.map +1 -0
  296. package/dist/components/kbd/index.js +1 -0
  297. package/dist/components/kbd/kbd.d.ts +15 -0
  298. package/dist/components/kbd/kbd.d.ts.map +1 -0
  299. package/dist/components/kbd/kbd.js +16 -0
  300. package/dist/components/kbd/kbd.stories.d.ts +17 -0
  301. package/dist/components/kbd/kbd.stories.d.ts.map +1 -0
  302. package/dist/components/kbd/kbd.stories.js +25 -0
  303. package/dist/components/label/index.d.ts +2 -0
  304. package/dist/components/label/index.d.ts.map +1 -0
  305. package/dist/components/label/index.js +1 -0
  306. package/dist/components/label/label.d.ts +6 -0
  307. package/dist/components/label/label.d.ts.map +1 -0
  308. package/dist/components/label/label.js +10 -0
  309. package/dist/components/label/label.stories.d.ts +18 -0
  310. package/dist/components/label/label.stories.d.ts.map +1 -0
  311. package/dist/components/label/label.stories.js +29 -0
  312. package/dist/components/menubar/index.d.ts +3 -0
  313. package/dist/components/menubar/index.d.ts.map +1 -0
  314. package/dist/components/menubar/index.js +1 -0
  315. package/dist/components/menubar/menubar.d.ts +64 -0
  316. package/dist/components/menubar/menubar.d.ts.map +1 -0
  317. package/dist/components/menubar/menubar.js +56 -0
  318. package/dist/components/menubar/menubar.stories.d.ts +15 -0
  319. package/dist/components/menubar/menubar.stories.d.ts.map +1 -0
  320. package/dist/components/menubar/menubar.stories.js +18 -0
  321. package/dist/components/native-select/index.d.ts +2 -0
  322. package/dist/components/native-select/index.d.ts.map +1 -0
  323. package/dist/components/native-select/index.js +1 -0
  324. package/dist/components/native-select/native-select.d.ts +12 -0
  325. package/dist/components/native-select/native-select.d.ts.map +1 -0
  326. package/dist/components/native-select/native-select.js +14 -0
  327. package/dist/components/native-select/native-select.stories.d.ts +8 -0
  328. package/dist/components/native-select/native-select.stories.d.ts.map +1 -0
  329. package/dist/components/native-select/native-select.stories.js +19 -0
  330. package/dist/components/navigation-menu/index.d.ts +3 -0
  331. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  332. package/dist/components/navigation-menu/index.js +1 -0
  333. package/dist/components/navigation-menu/navigation-menu.d.ts +33 -0
  334. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  335. package/dist/components/navigation-menu/navigation-menu.js +33 -0
  336. package/dist/components/navigation-menu/navigation-menu.stories.d.ts +14 -0
  337. package/dist/components/navigation-menu/navigation-menu.stories.d.ts.map +1 -0
  338. package/dist/components/navigation-menu/navigation-menu.stories.js +14 -0
  339. package/dist/components/pagination/index.d.ts +3 -0
  340. package/dist/components/pagination/index.d.ts.map +1 -0
  341. package/dist/components/pagination/index.js +1 -0
  342. package/dist/components/pagination/pagination.d.ts +31 -0
  343. package/dist/components/pagination/pagination.d.ts.map +1 -0
  344. package/dist/components/pagination/pagination.js +29 -0
  345. package/dist/components/pagination/pagination.stories.d.ts +14 -0
  346. package/dist/components/pagination/pagination.stories.d.ts.map +1 -0
  347. package/dist/components/pagination/pagination.stories.js +14 -0
  348. package/dist/components/popover/index.d.ts +2 -0
  349. package/dist/components/popover/index.d.ts.map +1 -0
  350. package/dist/components/popover/index.js +1 -0
  351. package/dist/components/popover/popover.d.ts +20 -0
  352. package/dist/components/popover/popover.d.ts.map +1 -0
  353. package/dist/components/popover/popover.js +24 -0
  354. package/dist/components/popover/popover.stories.d.ts +7 -0
  355. package/dist/components/popover/popover.stories.d.ts.map +1 -0
  356. package/dist/components/popover/popover.stories.js +17 -0
  357. package/dist/components/progress/index.d.ts +3 -0
  358. package/dist/components/progress/index.d.ts.map +1 -0
  359. package/dist/components/progress/index.js +1 -0
  360. package/dist/components/progress/progress.d.ts +18 -0
  361. package/dist/components/progress/progress.d.ts.map +1 -0
  362. package/dist/components/progress/progress.js +20 -0
  363. package/dist/components/progress/progress.stories.d.ts +9 -0
  364. package/dist/components/progress/progress.stories.d.ts.map +1 -0
  365. package/dist/components/progress/progress.stories.js +29 -0
  366. package/dist/components/radio-group/index.d.ts +3 -0
  367. package/dist/components/radio-group/index.d.ts.map +1 -0
  368. package/dist/components/radio-group/index.js +1 -0
  369. package/dist/components/radio-group/radio-group.d.ts +13 -0
  370. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  371. package/dist/components/radio-group/radio-group.js +12 -0
  372. package/dist/components/radio-group/radio-group.stories.d.ts +7 -0
  373. package/dist/components/radio-group/radio-group.stories.d.ts.map +1 -0
  374. package/dist/components/radio-group/radio-group.stories.js +18 -0
  375. package/dist/components/resizable/index.d.ts +2 -0
  376. package/dist/components/resizable/index.d.ts.map +1 -0
  377. package/dist/components/resizable/index.js +1 -0
  378. package/dist/components/resizable/resizable.d.ts +12 -0
  379. package/dist/components/resizable/resizable.d.ts.map +1 -0
  380. package/dist/components/resizable/resizable.js +14 -0
  381. package/dist/components/resizable/resizable.stories.d.ts +7 -0
  382. package/dist/components/resizable/resizable.stories.d.ts.map +1 -0
  383. package/dist/components/resizable/resizable.stories.js +16 -0
  384. package/dist/components/scroll-area/index.d.ts +2 -0
  385. package/dist/components/scroll-area/index.d.ts.map +1 -0
  386. package/dist/components/scroll-area/index.js +1 -0
  387. package/dist/components/scroll-area/scroll-area.d.ts +7 -0
  388. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  389. package/dist/components/scroll-area/scroll-area.js +11 -0
  390. package/dist/components/scroll-area/scroll-area.stories.d.ts +6 -0
  391. package/dist/components/scroll-area/scroll-area.stories.d.ts.map +1 -0
  392. package/dist/components/scroll-area/scroll-area.stories.js +13 -0
  393. package/dist/components/select/index.d.ts +3 -0
  394. package/dist/components/select/index.d.ts.map +1 -0
  395. package/dist/components/select/index.js +1 -0
  396. package/dist/components/select/select.d.ts +49 -0
  397. package/dist/components/select/select.d.ts.map +1 -0
  398. package/dist/components/select/select.js +50 -0
  399. package/dist/components/select/select.stories.d.ts +9 -0
  400. package/dist/components/select/select.stories.d.ts.map +1 -0
  401. package/dist/components/select/select.stories.js +20 -0
  402. package/dist/components/separator/index.d.ts +1 -0
  403. package/dist/components/separator/index.d.ts.map +1 -1
  404. package/dist/components/separator/separator.d.ts +3 -1
  405. package/dist/components/separator/separator.d.ts.map +1 -1
  406. package/dist/components/sheet/index.d.ts +2 -0
  407. package/dist/components/sheet/index.d.ts.map +1 -0
  408. package/dist/components/sheet/index.js +1 -0
  409. package/dist/components/sheet/sheet.d.ts +34 -0
  410. package/dist/components/sheet/sheet.d.ts.map +1 -0
  411. package/dist/components/sheet/sheet.js +38 -0
  412. package/dist/components/sheet/sheet.stories.d.ts +9 -0
  413. package/dist/components/sheet/sheet.stories.d.ts.map +1 -0
  414. package/dist/components/sheet/sheet.stories.js +21 -0
  415. package/dist/components/slider/index.d.ts +3 -0
  416. package/dist/components/slider/index.d.ts.map +1 -0
  417. package/dist/components/slider/index.js +1 -0
  418. package/dist/components/slider/slider.d.ts +15 -0
  419. package/dist/components/slider/slider.d.ts.map +1 -0
  420. package/dist/components/slider/slider.js +20 -0
  421. package/dist/components/slider/slider.stories.d.ts +11 -0
  422. package/dist/components/slider/slider.stories.d.ts.map +1 -0
  423. package/dist/components/slider/slider.stories.js +36 -0
  424. package/dist/components/sonner/index.d.ts +4 -0
  425. package/dist/components/sonner/index.d.ts.map +1 -0
  426. package/dist/components/sonner/index.js +2 -0
  427. package/dist/components/sonner/sonner.d.ts +12 -0
  428. package/dist/components/sonner/sonner.d.ts.map +1 -0
  429. package/dist/components/sonner/sonner.js +32 -0
  430. package/dist/components/sonner/sonner.stories.d.ts +8 -0
  431. package/dist/components/sonner/sonner.stories.d.ts.map +1 -0
  432. package/dist/components/sonner/sonner.stories.js +25 -0
  433. package/dist/components/sonner/toast.d.ts +2 -0
  434. package/dist/components/sonner/toast.d.ts.map +1 -0
  435. package/dist/components/sonner/toast.js +1 -0
  436. package/dist/components/sortable/index.d.ts +3 -0
  437. package/dist/components/sortable/index.d.ts.map +1 -0
  438. package/dist/components/sortable/index.js +1 -0
  439. package/dist/components/sortable/sortable.d.ts +94 -0
  440. package/dist/components/sortable/sortable.d.ts.map +1 -0
  441. package/dist/components/sortable/sortable.js +210 -0
  442. package/dist/components/sortable/sortable.stories.d.ts +14 -0
  443. package/dist/components/sortable/sortable.stories.d.ts.map +1 -0
  444. package/dist/components/sortable/sortable.stories.js +38 -0
  445. package/dist/components/spinner/index.d.ts +3 -0
  446. package/dist/components/spinner/index.d.ts.map +1 -0
  447. package/dist/components/spinner/index.js +1 -0
  448. package/dist/components/spinner/spinner.d.ts +13 -0
  449. package/dist/components/spinner/spinner.d.ts.map +1 -0
  450. package/dist/components/spinner/spinner.js +12 -0
  451. package/dist/components/spinner/spinner.stories.d.ts +9 -0
  452. package/dist/components/spinner/spinner.stories.d.ts.map +1 -0
  453. package/dist/components/spinner/spinner.stories.js +20 -0
  454. package/dist/components/status-indicator/index.d.ts +3 -0
  455. package/dist/components/status-indicator/index.d.ts.map +1 -0
  456. package/dist/components/status-indicator/index.js +1 -0
  457. package/dist/components/status-indicator/status-indicator.d.ts +51 -0
  458. package/dist/components/status-indicator/status-indicator.d.ts.map +1 -0
  459. package/dist/components/status-indicator/status-indicator.js +48 -0
  460. package/dist/components/status-indicator/status-indicator.stories.d.ts +20 -0
  461. package/dist/components/status-indicator/status-indicator.stories.d.ts.map +1 -0
  462. package/dist/components/status-indicator/status-indicator.stories.js +97 -0
  463. package/dist/components/switch/index.d.ts +2 -0
  464. package/dist/components/switch/index.d.ts.map +1 -0
  465. package/dist/components/switch/index.js +1 -0
  466. package/dist/components/switch/switch.d.ts +13 -0
  467. package/dist/components/switch/switch.d.ts.map +1 -0
  468. package/dist/components/switch/switch.js +8 -0
  469. package/dist/components/switch/switch.stories.d.ts +20 -0
  470. package/dist/components/switch/switch.stories.d.ts.map +1 -0
  471. package/dist/components/switch/switch.stories.js +46 -0
  472. package/dist/components/tabs/index.d.ts +3 -0
  473. package/dist/components/tabs/index.d.ts.map +1 -0
  474. package/dist/components/tabs/index.js +1 -0
  475. package/dist/components/tabs/tabs.d.ts +35 -0
  476. package/dist/components/tabs/tabs.d.ts.map +1 -0
  477. package/dist/components/tabs/tabs.js +34 -0
  478. package/dist/components/tabs/tabs.stories.d.ts +10 -0
  479. package/dist/components/tabs/tabs.stories.d.ts.map +1 -0
  480. package/dist/components/tabs/tabs.stories.js +29 -0
  481. package/dist/components/text/index.d.ts +3 -0
  482. package/dist/components/text/index.d.ts.map +1 -0
  483. package/dist/components/text/index.js +1 -0
  484. package/dist/components/text/text.d.ts +47 -0
  485. package/dist/components/text/text.d.ts.map +1 -0
  486. package/dist/components/text/text.js +53 -0
  487. package/dist/components/text/text.stories.d.ts +11 -0
  488. package/dist/components/text/text.stories.d.ts.map +1 -0
  489. package/dist/components/text/text.stories.js +84 -0
  490. package/dist/components/textarea/index.d.ts +2 -0
  491. package/dist/components/textarea/index.d.ts.map +1 -0
  492. package/dist/components/textarea/index.js +1 -0
  493. package/dist/components/textarea/textarea.d.ts +11 -0
  494. package/dist/components/textarea/textarea.d.ts.map +1 -0
  495. package/dist/components/textarea/textarea.js +10 -0
  496. package/dist/components/textarea/textarea.stories.d.ts +24 -0
  497. package/dist/components/textarea/textarea.stories.d.ts.map +1 -0
  498. package/dist/components/textarea/textarea.stories.js +32 -0
  499. package/dist/components/toggle/index.d.ts +3 -0
  500. package/dist/components/toggle/index.d.ts.map +1 -0
  501. package/dist/components/toggle/index.js +1 -0
  502. package/dist/components/toggle/toggle.d.ts +31 -0
  503. package/dist/components/toggle/toggle.d.ts.map +1 -0
  504. package/dist/components/toggle/toggle.js +33 -0
  505. package/dist/components/toggle/toggle.stories.d.ts +11 -0
  506. package/dist/components/toggle/toggle.stories.d.ts.map +1 -0
  507. package/dist/components/toggle/toggle.stories.js +60 -0
  508. package/dist/components/toggle-group/index.d.ts +3 -0
  509. package/dist/components/toggle-group/index.d.ts.map +1 -0
  510. package/dist/components/toggle-group/index.js +1 -0
  511. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  512. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  513. package/dist/components/toggle-group/toggle-group.js +33 -0
  514. package/dist/components/toggle-group/toggle-group.stories.d.ts +10 -0
  515. package/dist/components/toggle-group/toggle-group.stories.d.ts.map +1 -0
  516. package/dist/components/toggle-group/toggle-group.stories.js +28 -0
  517. package/dist/components/tooltip/index.d.ts +3 -0
  518. package/dist/components/tooltip/index.d.ts.map +1 -0
  519. package/dist/components/tooltip/index.js +1 -0
  520. package/dist/components/tooltip/tooltip.d.ts +22 -0
  521. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  522. package/dist/components/tooltip/tooltip.js +21 -0
  523. package/dist/components/tooltip/tooltip.stories.d.ts +11 -0
  524. package/dist/components/tooltip/tooltip.stories.d.ts.map +1 -0
  525. package/dist/components/tooltip/tooltip.stories.js +33 -0
  526. package/dist/hooks/use-mobile.d.ts +2 -0
  527. package/dist/hooks/use-mobile.d.ts.map +1 -0
  528. package/dist/hooks/use-mobile.js +15 -0
  529. package/dist/index.d.ts +1 -0
  530. package/dist/index.d.ts.map +1 -1
  531. package/dist/index.js +1 -0
  532. package/dist/tsconfig.tsbuildinfo +1 -1
  533. package/llms.txt +21 -19
  534. package/package.json +17 -9
  535. package/src/styles/globals.css +6 -11
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Filters } from '.';
3
+ declare const meta: Meta<typeof Filters>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithOneFilter: Story;
8
+ //# sourceMappingURL=filters.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.stories.d.ts","sourceRoot":"","sources":["../../../src/components/filters/filters.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAqD,OAAO,EAAE,MAAM,GAAG,CAAC;AA0C/E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAOC,CAAC;AAEjC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC"}
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { Filter as FilterIcon, Tag } from 'lucide-react';
5
+ import { Button } from '../button';
6
+ import { createFilter, Filters } from '.';
7
+ const demoFields = [
8
+ {
9
+ key: 'status',
10
+ label: 'Status',
11
+ type: 'select',
12
+ icon: _jsx(FilterIcon, { className: "size-4" }),
13
+ options: [
14
+ { value: 'active', label: 'Active' },
15
+ { value: 'draft', label: 'Draft' },
16
+ ],
17
+ },
18
+ {
19
+ key: 'name',
20
+ label: 'Name',
21
+ type: 'text',
22
+ placeholder: 'Contains…',
23
+ icon: _jsx(Tag, { className: "size-4" }),
24
+ },
25
+ ];
26
+ function FiltersStoryHost() {
27
+ const [filters, setFilters] = useState([]);
28
+ return (_jsx("div", { className: "flex min-h-32 min-w-[min(100%,28rem)] flex-wrap items-start gap-2 p-4", children: _jsx(Filters, { filters: filters, fields: demoFields, onChange: setFilters, trigger: _jsx(Button, { variant: "outline", children: "Add filter" }), allowMultiple: true }) }));
29
+ }
30
+ function FiltersWithInitialState() {
31
+ const [filters, setFilters] = useState(() => [createFilter('status', 'is', ['active'])]);
32
+ return (_jsx("div", { className: "flex min-h-32 min-w-[min(100%,28rem)] flex-wrap items-start gap-2 p-4", children: _jsx(Filters, { filters: filters, fields: demoFields, onChange: setFilters, trigger: _jsx(Button, { variant: "outline", children: "Add filter" }), allowMultiple: true }) }));
33
+ }
34
+ const meta = {
35
+ title: 'UI/Filters',
36
+ component: Filters,
37
+ tags: ['autodocs'],
38
+ parameters: {
39
+ layout: 'centered',
40
+ },
41
+ };
42
+ export default meta;
43
+ export const Default = {
44
+ render: () => _jsx(FiltersStoryHost, {}),
45
+ };
46
+ export const WithOneFilter = {
47
+ render: () => _jsx(FiltersWithInitialState, {}),
48
+ };
@@ -0,0 +1,5 @@
1
+ export * from './filters-defaults';
2
+ export * from './filters-types';
3
+ export * from './filters-utils';
4
+ export { Filters, FiltersContent } from './filters';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './filters-defaults';
2
+ export * from './filters-types';
3
+ export * from './filters-utils';
4
+ export { Filters, FiltersContent } from './filters';
@@ -0,0 +1,65 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ /**
4
+ * Frame layout primitives: an outer shell (`Frame`) with stacked panels
5
+ * (`FramePanel`), optional chrome (`FrameHeader`, `FrameFooter`), and typography
6
+ * slots (`FrameTitle`, `FrameDescription`).
7
+ *
8
+ * Panel surfaces inherit colors from CSS variables defined on `Frame`; see
9
+ * {@link frameVariants} for how theming composes.
10
+ */
11
+ /**
12
+ * Class variance for {@link Frame}. Defines layout, spacing tokens, and
13
+ * `--frame-*` custom properties consumed by child panels.
14
+ *
15
+ * **CSS variable architecture**
16
+ *
17
+ * The `Frame` parent sets `--frame-panel-bg` and `--frame-panel-border-color`.
18
+ * `FramePanel` consumes them via `bg-(--frame-panel-bg)` and
19
+ * `border-(--frame-panel-border-color)`. This means:
20
+ *
21
+ * - `variant="inverse"` overrides those vars on `Frame` — all panels pick it up
22
+ * - `<FramePanel className="bg-blue-50">` adds a direct utility on the element
23
+ * which wins over `bg-(--frame-panel-bg)` by Tailwind source order — no
24
+ * `:not()` or `!important` needed
25
+ */
26
+ declare const frameVariants: (props?: ({
27
+ variant?: "default" | "ghost" | "inverse" | null | undefined;
28
+ spacing?: "default" | "sm" | "lg" | "xs" | null | undefined;
29
+ stacked?: boolean | null | undefined;
30
+ dense?: boolean | null | undefined;
31
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
32
+ /** Variant keys and props contributed by {@link frameVariants}. */
33
+ export type FrameVariantProps = VariantProps<typeof frameVariants>;
34
+ /** Props for {@link Frame}. */
35
+ export type FrameProps = React.ComponentProps<'div'> & FrameVariantProps;
36
+ /** Props for {@link FramePanel}. */
37
+ export type FramePanelProps = React.ComponentProps<'div'>;
38
+ /** Props for {@link FrameHeader}. */
39
+ export type FrameHeaderProps = React.ComponentProps<'header'>;
40
+ /** Props for {@link FrameTitle}. */
41
+ export type FrameTitleProps = React.ComponentProps<'div'>;
42
+ /** Props for {@link FrameDescription}. */
43
+ export type FrameDescriptionProps = React.ComponentProps<'div'>;
44
+ /** Props for {@link FrameFooter}. */
45
+ export type FrameFooterProps = React.ComponentProps<'footer'>;
46
+ /**
47
+ * Root container for a framed layout. Sets spacing tokens and `--frame-*`
48
+ * variables for nested {@link FramePanel} children.
49
+ */
50
+ declare function Frame({ className, variant, spacing, stacked, dense, ...props }: FrameProps): import("react/jsx-runtime").JSX.Element;
51
+ /**
52
+ * A bordered panel region inside {@link Frame}. Background and border colors
53
+ * come from the parent frame’s CSS variables unless overridden with `className`.
54
+ */
55
+ declare function FramePanel({ className, ...props }: FramePanelProps): import("react/jsx-runtime").JSX.Element;
56
+ /** Top chrome for a panel: padding follows the frame’s header spacing tokens. */
57
+ declare function FrameHeader({ className, ...props }: FrameHeaderProps): import("react/jsx-runtime").JSX.Element;
58
+ /** Primary heading slot for a panel (semantics live on the surrounding structure). */
59
+ declare function FrameTitle({ className, ...props }: FrameTitleProps): import("react/jsx-runtime").JSX.Element;
60
+ /** Secondary description text below the title. */
61
+ declare function FrameDescription({ className, ...props }: FrameDescriptionProps): import("react/jsx-runtime").JSX.Element;
62
+ /** Bottom chrome for a panel: padding follows the frame’s footer spacing tokens. */
63
+ declare function FrameFooter({ className, ...props }: FrameFooterProps): import("react/jsx-runtime").JSX.Element;
64
+ export { Frame, FramePanel, FrameHeader, FrameTitle, FrameDescription, FrameFooter, frameVariants };
65
+ //# sourceMappingURL=frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/components/frame/frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,aAAa;;;;;8EAkDlB,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnE,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC;AAEzE,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE1D,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE9D,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE1D,0CAA0C;AAC1C,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhE,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE9D;;;GAGG;AACH,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEnF;AAED;;;GAGG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAiB3D;AAED,iFAAiF;AACjF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;AAED,sFAAsF;AACtF,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAE3D;AAED,kDAAkD;AAClD,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAEvE;AAED,oFAAoF;AACpF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../../lib/utils';
5
+ /**
6
+ * Frame layout primitives: an outer shell (`Frame`) with stacked panels
7
+ * (`FramePanel`), optional chrome (`FrameHeader`, `FrameFooter`), and typography
8
+ * slots (`FrameTitle`, `FrameDescription`).
9
+ *
10
+ * Panel surfaces inherit colors from CSS variables defined on `Frame`; see
11
+ * {@link frameVariants} for how theming composes.
12
+ */
13
+ /**
14
+ * Class variance for {@link Frame}. Defines layout, spacing tokens, and
15
+ * `--frame-*` custom properties consumed by child panels.
16
+ *
17
+ * **CSS variable architecture**
18
+ *
19
+ * The `Frame` parent sets `--frame-panel-bg` and `--frame-panel-border-color`.
20
+ * `FramePanel` consumes them via `bg-(--frame-panel-bg)` and
21
+ * `border-(--frame-panel-border-color)`. This means:
22
+ *
23
+ * - `variant="inverse"` overrides those vars on `Frame` — all panels pick it up
24
+ * - `<FramePanel className="bg-blue-50">` adds a direct utility on the element
25
+ * which wins over `bg-(--frame-panel-bg)` by Tailwind source order — no
26
+ * `:not()` or `!important` needed
27
+ */
28
+ const frameVariants = cva([
29
+ 'relative flex flex-col gap-0.75 rounded-(--frame-radius) bg-muted/50 p-0.75',
30
+ '[--frame-radius:var(--radius-xl)]',
31
+ // Default panel token values — overridden per-variant below
32
+ '[--frame-border-color:var(--color-border)] [--frame-panel-bg:var(--color-card)] [--frame-panel-border-color:var(--color-border)]',
33
+ ], {
34
+ variants: {
35
+ variant: {
36
+ default: 'border border-[var(--frame-border-color)] bg-clip-padding',
37
+ inverse: 'border border-[var(--frame-border-color)] bg-background bg-clip-padding [--frame-panel-bg:color-mix(in_oklch,var(--color-muted)_40%,transparent)]',
38
+ ghost: '',
39
+ },
40
+ spacing: {
41
+ xs: '[--frame-panel-footer-px:--spacing(2)] [--frame-panel-footer-py:--spacing(1)] [--frame-panel-header-px:--spacing(2)] [--frame-panel-header-py:--spacing(1)] [--frame-panel-p:--spacing(2)]',
42
+ sm: '[--frame-panel-footer-px:--spacing(3)] [--frame-panel-footer-py:--spacing(2)] [--frame-panel-header-px:--spacing(3)] [--frame-panel-header-py:--spacing(2)] [--frame-panel-p:--spacing(3)]',
43
+ default: '[--frame-panel-footer-px:--spacing(4)] [--frame-panel-footer-py:--spacing(3)] [--frame-panel-header-px:--spacing(4)] [--frame-panel-header-py:--spacing(3)] [--frame-panel-p:--spacing(4)]',
44
+ lg: '[--frame-panel-footer-px:--spacing(5)] [--frame-panel-footer-py:--spacing(4)] [--frame-panel-header-px:--spacing(5)] [--frame-panel-header-py:--spacing(4)] [--frame-panel-p:--spacing(5)]',
45
+ },
46
+ stacked: {
47
+ true: [
48
+ 'gap-0 *:has-[+[data-slot=frame-panel]]:rounded-b-none',
49
+ '*:has-[+[data-slot=frame-panel]]:before:hidden',
50
+ '*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:rounded-t-none',
51
+ '*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:border-t-0',
52
+ // No FrameHeader present: first panel sits flush against the outer frame border
53
+ '[&:not(:has([data-slot=frame-panel-header]))_[data-slot=frame-panel]:is(:first-child)]:border-t-0',
54
+ ],
55
+ false: [
56
+ 'data-[spacing=sm]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-0.5',
57
+ 'data-[spacing=default]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-1',
58
+ 'data-[spacing=lg]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-2',
59
+ ],
60
+ },
61
+ dense: {
62
+ // Positional rules must stay as parent selectors — cannot be expressed via CSS vars
63
+ true: 'gap-0 border-[var(--frame-border-color)] p-0 [&_[data-slot=frame-panel]]:-mx-px [&_[data-slot=frame-panel]]:before:hidden [&_[data-slot=frame-panel]:last-child]:-mb-px',
64
+ false: '',
65
+ },
66
+ },
67
+ defaultVariants: {
68
+ variant: 'default',
69
+ spacing: 'default',
70
+ stacked: false,
71
+ dense: false,
72
+ },
73
+ });
74
+ /**
75
+ * Root container for a framed layout. Sets spacing tokens and `--frame-*`
76
+ * variables for nested {@link FramePanel} children.
77
+ */
78
+ function Frame({ className, variant, spacing, stacked, dense, ...props }) {
79
+ return _jsx("div", { className: cn(frameVariants({ variant, spacing, stacked, dense }), className), "data-slot": "frame", "data-spacing": spacing, ...props });
80
+ }
81
+ /**
82
+ * A bordered panel region inside {@link Frame}. Background and border colors
83
+ * come from the parent frame’s CSS variables unless overridden with `className`.
84
+ */
85
+ function FramePanel({ className, ...props }) {
86
+ return (_jsx("div", { className: cn(
87
+ // bg-(--frame-panel-bg) and border-(--frame-panel-border-color) consume the
88
+ // CSS vars set by the Frame parent. Any explicit bg-* or border-* class passed
89
+ // via className overrides these by Tailwind source order — no ! needed.
90
+ 'relative grow overflow-hidden rounded-(--frame-radius) border border-(--frame-panel-border-color) bg-(--frame-panel-bg) bg-clip-padding shadow-xs', 'before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--frame-radius)-1px)] before:shadow-black/5', 'dark:bg-clip-border dark:before:shadow-white/5', 'p-(--frame-panel-p)', className), "data-slot": "frame-panel", ...props }));
91
+ }
92
+ /** Top chrome for a panel: padding follows the frame’s header spacing tokens. */
93
+ function FrameHeader({ className, ...props }) {
94
+ return (_jsx("header", { className: cn('flex flex-col px-(--frame-panel-header-px) py-(--frame-panel-header-py)', className), "data-slot": "frame-panel-header", ...props }));
95
+ }
96
+ /** Primary heading slot for a panel (semantics live on the surrounding structure). */
97
+ function FrameTitle({ className, ...props }) {
98
+ return _jsx("div", { className: cn('text-sm font-semibold', className), "data-slot": "frame-panel-title", ...props });
99
+ }
100
+ /** Secondary description text below the title. */
101
+ function FrameDescription({ className, ...props }) {
102
+ return _jsx("div", { className: cn('text-sm text-muted-foreground', className), "data-slot": "frame-panel-description", ...props });
103
+ }
104
+ /** Bottom chrome for a panel: padding follows the frame’s footer spacing tokens. */
105
+ function FrameFooter({ className, ...props }) {
106
+ return (_jsx("footer", { className: cn('flex flex-col gap-1 px-(--frame-panel-footer-px) py-(--frame-panel-footer-py)', className), "data-slot": "frame-panel-footer", ...props }));
107
+ }
108
+ export { Frame, FramePanel, FrameHeader, FrameTitle, FrameDescription, FrameFooter, frameVariants };
@@ -0,0 +1,14 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Frame } from '.';
3
+ declare const meta: Meta<typeof Frame>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const SeparatedPanels: Story;
8
+ export declare const StackedPanels: Story;
9
+ export declare const DensePanels: Story;
10
+ export declare const GhostVariant: Story;
11
+ export declare const CustomSpacing: Story;
12
+ export declare const CustomRadius: Story;
13
+ export declare const InverseVariant: Story;
14
+ //# sourceMappingURL=frame.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame.stories.d.ts","sourceRoot":"","sources":["../../../src/components/frame/frame.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAsE,MAAM,GAAG,CAAC;AAE9F,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAcC,CAAC;AAE/B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAqB7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAqBzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAkB1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA6B3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle } from '.';
3
+ const meta = {
4
+ title: 'UI/Frame',
5
+ component: Frame,
6
+ tags: ['autodocs'],
7
+ parameters: {
8
+ layout: 'centered',
9
+ },
10
+ decorators: [
11
+ (Story) => (_jsx("div", { className: "!w-full w-[min(100%,36rem)]", children: _jsx(Story, {}) })),
12
+ ],
13
+ };
14
+ export default meta;
15
+ export const Default = {
16
+ render: (args) => (_jsxs(Frame, { ...args, children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Section header" }), _jsx(FrameDescription, { children: "Description for the section" })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Section title 2" }), _jsx("div", { className: "text-sm text-muted-foreground", children: "Section description" })] }), _jsx(FrameFooter, { children: _jsx("span", { className: "text-xs text-muted-foreground", children: "Footer" }) })] })),
17
+ };
18
+ export const SeparatedPanels = {
19
+ parameters: { layout: 'padded' },
20
+ decorators: [],
21
+ render: () => (_jsx("div", { className: "w-[min(100%,36rem)]", children: _jsxs(Frame, { children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Section title" }), _jsx(FrameDescription, { children: "Description for the section" })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Separated panel" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Content for the first section." })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Separated panel" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Content for the second section." })] })] }) })),
22
+ };
23
+ export const StackedPanels = {
24
+ parameters: { layout: 'padded' },
25
+ decorators: [],
26
+ render: () => (_jsx("div", { className: "w-[min(100%,36rem)]", children: _jsxs(Frame, { stacked: true, children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Stacked panel" }), _jsx(FrameDescription, { children: "Panels share borders with no gap between them." })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Upper content" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Section description." })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Lower content" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Section description." })] })] }) })),
27
+ };
28
+ export const DensePanels = {
29
+ parameters: { layout: 'padded' },
30
+ decorators: [],
31
+ render: () => (_jsx("div", { className: "w-[min(100%,36rem)]", children: _jsxs(Frame, { dense: true, stacked: true, children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Dense layout" }), _jsx(FrameDescription, { children: "Outer padding collapses; panels align to the frame edge." })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Upper content" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Section description." })] }), _jsxs(FramePanel, { children: [_jsx("h2", { className: "text-sm font-semibold", children: "Lower content" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Section description." })] })] }) })),
32
+ };
33
+ export const GhostVariant = {
34
+ parameters: { layout: 'padded' },
35
+ decorators: [],
36
+ render: () => (_jsx("div", { className: "w-[min(100%,36rem)]", children: _jsxs(Frame, { variant: "ghost", children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "No outer border" }), _jsx(FrameDescription, { children: "The shell has no border; panels carry the visible chrome." })] }), _jsx(FramePanel, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "The outer container of this frame has no border, only the background and panels are visible." }) })] }) })),
37
+ };
38
+ export const CustomSpacing = {
39
+ parameters: { layout: 'padded' },
40
+ decorators: [],
41
+ render: () => (_jsxs("div", { className: "flex flex-wrap items-start gap-6", children: [_jsx("div", { className: "w-72", children: _jsxs(Frame, { spacing: "sm", children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Small spacing" }), _jsx(FrameDescription, { children: "Tighter padding tokens." })] }), _jsx(FramePanel, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Content." }) })] }) }), _jsx("div", { className: "w-72", children: _jsxs(Frame, { spacing: "lg", children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Large spacing" }), _jsx(FrameDescription, { children: "More generous padding." })] }), _jsx(FramePanel, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Content." }) })] }) })] })),
42
+ };
43
+ export const CustomRadius = {
44
+ render: () => (_jsxs(Frame, { className: "[--frame-radius:var(--radius-lg)]", children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Custom radius" }), _jsxs(FrameDescription, { children: ["Override ", _jsx("code", { className: "font-mono text-xs", children: "--frame-radius" }), " on the root frame."] })] }), _jsx(FramePanel, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Panels inherit the same corner radius." }) })] })),
45
+ };
46
+ export const InverseVariant = {
47
+ parameters: { layout: 'padded' },
48
+ decorators: [],
49
+ render: () => (_jsx("div", { className: "w-[min(100%,36rem)]", children: _jsxs(Frame, { variant: "inverse", children: [_jsxs(FrameHeader, { children: [_jsx(FrameTitle, { children: "Inverse" }), _jsx(FrameDescription, { children: "Muted panel surfaces via frame-level CSS variables." })] }), _jsx(FramePanel, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Panels pick up the adjusted background token." }) })] }) })),
50
+ };
@@ -0,0 +1,3 @@
1
+ export { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, frameVariants } from './frame';
2
+ export type { FrameDescriptionProps, FrameFooterProps, FrameHeaderProps, FramePanelProps, FrameProps, FrameTitleProps, FrameVariantProps } from './frame';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/frame/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnH,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, frameVariants } from './frame';
@@ -0,0 +1,16 @@
1
+ import { PreviewCard as PreviewCardPrimitive } from '@base-ui/react/preview-card';
2
+ type HoverCardContentPositionProps = Pick<PreviewCardPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>;
3
+ /**
4
+ * Props for `HoverCard`. Built on
5
+ * [Base UI Preview Card](https://base-ui.com/react/components/preview-card) (hover-to-open surface).
6
+ */
7
+ export type HoverCardProps = PreviewCardPrimitive.Root.Props;
8
+ /** Props for `HoverCardTrigger`. */
9
+ export type HoverCardTriggerProps = PreviewCardPrimitive.Trigger.Props;
10
+ /** Props for `HoverCardContent` (popup + positioner options). */
11
+ export type HoverCardContentProps = PreviewCardPrimitive.Popup.Props & HoverCardContentPositionProps;
12
+ declare function HoverCard({ ...props }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
13
+ declare function HoverCardTrigger({ ...props }: HoverCardTriggerProps): import("react/jsx-runtime").JSX.Element;
14
+ declare function HoverCardContent({ className, side, sideOffset, align, alignOffset, ...props }: HoverCardContentProps): import("react/jsx-runtime").JSX.Element;
15
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
16
+ //# sourceMappingURL=hover-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../src/components/hover-card/hover-card.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAIlF,KAAK,6BAA6B,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC;AAElI;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AAE7D,oCAAoC;AACpC,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;AAEvE,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,GAAG,6BAA6B,CAAC;AAErG,iBAAS,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAE9C;AAED,iBAAS,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAE5D;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAe,EAAE,UAAc,EAAE,KAAgB,EAAE,WAAe,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAe3I;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { PreviewCard as PreviewCardPrimitive } from '@base-ui/react/preview-card';
4
+ import { cn } from '../../lib/utils';
5
+ function HoverCard({ ...props }) {
6
+ return _jsx(PreviewCardPrimitive.Root, { "data-slot": "hover-card", ...props });
7
+ }
8
+ function HoverCardTrigger({ ...props }) {
9
+ return _jsx(PreviewCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
10
+ }
11
+ function HoverCardContent({ className, side = 'bottom', sideOffset = 4, align = 'center', alignOffset = 4, ...props }) {
12
+ return (_jsx(PreviewCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: _jsx(PreviewCardPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: _jsx(PreviewCardPrimitive.Popup, { "data-slot": "hover-card-content", className: cn('z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95', className), ...props }) }) }));
13
+ }
14
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { HoverCard } from './hover-card';
3
+ declare const meta: Meta<typeof HoverCard>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ //# sourceMappingURL=hover-card.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.stories.d.ts","sourceRoot":"","sources":["../../../src/components/hover-card/hover-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAsC,MAAM,cAAc,CAAC;AAE7E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAOC,CAAC;AAEnC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { HoverCard, HoverCardContent, HoverCardTrigger } from './hover-card';
4
+ const meta = {
5
+ title: 'UI/HoverCard',
6
+ component: HoverCard,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Default = {
14
+ render: () => (_jsxs(HoverCard, { children: [_jsx(HoverCardTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "@wheelhouse" }), _jsx(HoverCardContent, { children: _jsxs("div", { className: "space-y-1", children: [_jsx("p", { className: "text-sm font-medium", children: "Wheelhouse UI" }), _jsx("p", { className: "text-xs text-muted-foreground", children: "Components for product interfaces." })] }) })] })),
15
+ };
@@ -0,0 +1,3 @@
1
+ export { HoverCard, HoverCardTrigger, HoverCardContent } from './hover-card';
2
+ export type { HoverCardProps, HoverCardTriggerProps, HoverCardContentProps } from './hover-card';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hover-card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE7E,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export { HoverCard, HoverCardTrigger, HoverCardContent } from './hover-card';
@@ -1,5 +1,56 @@
1
+ export * from './accordion';
2
+ export * from './alert';
3
+ export * from './alert-dialog';
4
+ export * from './avatar';
5
+ export * from './aspect-ratio';
1
6
  export * from './badge';
7
+ export * from './breadcrumb';
2
8
  export * from './button';
3
9
  export * from './button-group';
10
+ export * from './calendar';
11
+ export * from './card';
12
+ export * from './checkbox';
13
+ export * from './collapsible';
14
+ export * from './command';
15
+ export * from './combobox';
16
+ export * from './context-menu';
17
+ export * from './date-selector';
18
+ export * from './dialog';
19
+ export * from './direction';
20
+ export * from './drawer';
21
+ export * from './dropdown-menu';
22
+ export * from './empty';
23
+ export * from './field';
24
+ export * from './filters';
25
+ export * from './frame';
26
+ export * from './hover-card';
27
+ export * from './input';
28
+ export * from './input-group';
29
+ export * from './item';
30
+ export * from './kbd';
31
+ export * from './label';
32
+ export * from './menubar';
33
+ export * from './native-select';
34
+ export * from './navigation-menu';
35
+ export * from './pagination';
36
+ export * from './popover';
37
+ export * from './progress';
38
+ export * from './radio-group';
39
+ export * from './resizable';
40
+ export * from './scroll-area';
4
41
  export * from './separator';
42
+ export * from './select';
43
+ export * from './sheet';
44
+ export * from './slider';
45
+ export * from './sonner';
46
+ export * from './sortable';
47
+ export * from './spinner';
48
+ export * from './status-indicator';
49
+ export * from './switch';
50
+ export * from './tabs';
51
+ export * from './text';
52
+ export * from './textarea';
53
+ export * from './tooltip';
54
+ export * from './toggle';
55
+ export * from './toggle-group';
5
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,55 @@
1
+ export * from './accordion';
2
+ export * from './alert';
3
+ export * from './alert-dialog';
4
+ export * from './avatar';
5
+ export * from './aspect-ratio';
1
6
  export * from './badge';
7
+ export * from './breadcrumb';
2
8
  export * from './button';
3
9
  export * from './button-group';
10
+ export * from './calendar';
11
+ export * from './card';
12
+ export * from './checkbox';
13
+ export * from './collapsible';
14
+ export * from './command';
15
+ export * from './combobox';
16
+ export * from './context-menu';
17
+ export * from './date-selector';
18
+ export * from './dialog';
19
+ export * from './direction';
20
+ export * from './drawer';
21
+ export * from './dropdown-menu';
22
+ export * from './empty';
23
+ export * from './field';
24
+ export * from './filters';
25
+ export * from './frame';
26
+ export * from './hover-card';
27
+ export * from './input';
28
+ export * from './input-group';
29
+ export * from './item';
30
+ export * from './kbd';
31
+ export * from './label';
32
+ export * from './menubar';
33
+ export * from './native-select';
34
+ export * from './navigation-menu';
35
+ export * from './pagination';
36
+ export * from './popover';
37
+ export * from './progress';
38
+ export * from './radio-group';
39
+ export * from './resizable';
40
+ export * from './scroll-area';
4
41
  export * from './separator';
42
+ export * from './select';
43
+ export * from './sheet';
44
+ export * from './slider';
45
+ export * from './sonner';
46
+ export * from './sortable';
47
+ export * from './spinner';
48
+ export * from './status-indicator';
49
+ export * from './switch';
50
+ export * from './tabs';
51
+ export * from './text';
52
+ export * from './textarea';
53
+ export * from './tooltip';
54
+ export * from './toggle';
55
+ export * from './toggle-group';
@@ -0,0 +1,2 @@
1
+ export { Input, inputVariants, inputSizeKeys, type InputProps } from './input';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export { Input, inputVariants, inputSizeKeys } from './input';
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { Input as InputPrimitive } from '@base-ui/react/input';
3
+ import { type VariantProps } from 'class-variance-authority';
4
+ declare const inputVariants: (props?: ({
5
+ size?: "default" | "sm" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export declare const inputSizeKeys: readonly ["sm", "default"];
8
+ /**
9
+ * Props for `Input`. Inherits additional behavior from
10
+ * [Base UI Input](https://base-ui.com/react/components/input).
11
+ * `size` sets the design-system height; the native HTML `size` attribute is omitted — use CSS width classes instead.
12
+ */
13
+ export type InputProps = Omit<InputPrimitive.Props, 'size'> & VariantProps<typeof inputVariants>;
14
+ declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
15
+ export { Input, inputVariants };
16
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;8EAalB,CAAC;AAEF,eAAO,MAAM,aAAa,4BAA6B,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAEjG,QAAA,MAAM,KAAK,kGAET,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Input as InputPrimitive } from '@base-ui/react/input';
5
+ import { cva } from 'class-variance-authority';
6
+ import { cn } from '../../lib/utils';
7
+ const inputVariants = cva('flex w-full min-w-0 rounded-md border border-input bg-background shadow-xs transition-[color,box-shadow] outline-none group-has-disabled/field:opacity-50 file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-invalid:border-destructive data-invalid:ring-3 data-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 dark:data-invalid:border-destructive/50 dark:data-invalid:ring-destructive/40', {
8
+ variants: {
9
+ size: {
10
+ sm: 'h-8 px-2.5 text-xs',
11
+ default: 'h-9 px-3 py-1 text-sm',
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ size: 'default',
16
+ },
17
+ });
18
+ export const inputSizeKeys = ['sm', 'default'];
19
+ const Input = React.forwardRef(function Input({ className, size = 'default', ...props }, ref) {
20
+ return _jsx(InputPrimitive, { ref: ref, "data-slot": "input", className: cn(inputVariants({ size }), className), ...props });
21
+ });
22
+ export { Input, inputVariants };