@blenx-dev/components 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/.turbo/turbo-check-types.log +1 -0
  2. package/MIGRATION-PLAN.md +423 -0
  3. package/TASKS.md +192 -0
  4. package/blenx-dev-ui-0.0.0.tgz +0 -0
  5. package/dist/assets/components.css +8407 -0
  6. package/dist/components/Accordion/accordion.css.js +13 -0
  7. package/dist/components/Accordion/accordion.js +54 -0
  8. package/dist/components/Alert/alert.css.js +17 -0
  9. package/dist/components/Alert/alert.js +38 -0
  10. package/dist/components/AlertDialog/alert-dialog.css.js +18 -0
  11. package/dist/components/AlertDialog/alert-dialog.js +117 -0
  12. package/dist/components/Autocomplete/autocomplete.css.js +28 -0
  13. package/dist/components/Autocomplete/autocomplete.js +157 -0
  14. package/dist/components/Avatar/avatar.css.js +37 -0
  15. package/dist/components/Avatar/avatar.js +28 -0
  16. package/dist/components/Badge/badge.css.js +19 -0
  17. package/dist/components/Badge/badge.js +14 -0
  18. package/dist/components/Box/box.css.js +6 -0
  19. package/dist/components/Box/box.js +18 -0
  20. package/dist/components/Breadcrumbs/breadcrumbs.css.js +13 -0
  21. package/dist/components/Breadcrumbs/breadcrumbs.js +73 -0
  22. package/dist/components/Button/button.css.js +37 -0
  23. package/dist/components/Button/button.js +28 -0
  24. package/dist/components/Calendar/calendar.css.js +23 -0
  25. package/dist/components/Calendar/calendar.js +104 -0
  26. package/dist/components/Card/card.js +46 -0
  27. package/dist/components/Checkbox/checkbox.css.js +13 -0
  28. package/dist/components/Checkbox/checkbox.js +59 -0
  29. package/dist/components/CloseButton/close-button.css.js +5 -0
  30. package/dist/components/CloseButton/close-button.js +27 -0
  31. package/dist/components/CloseButton/index.js +1 -0
  32. package/dist/components/ColorPicker/color-picker.js +103 -0
  33. package/dist/components/ColorSwatch/color-swatch.js +16 -0
  34. package/dist/components/Combobox/combobox.css.js +36 -0
  35. package/dist/components/Combobox/combobox.js +236 -0
  36. package/dist/components/Command/command.css.js +18 -0
  37. package/dist/components/Command/command.js +264 -0
  38. package/dist/components/Container/container.css.js +28 -0
  39. package/dist/components/Container/container.js +18 -0
  40. package/dist/components/CopyButton/copy-button.css.js +5 -0
  41. package/dist/components/CopyButton/copy-button.js +41 -0
  42. package/dist/components/CopyButton/index.js +1 -0
  43. package/dist/components/Dialog/dialog.css.js +19 -0
  44. package/dist/components/Dialog/dialog.js +112 -0
  45. package/dist/components/Drawer/drawer.css.js +60 -0
  46. package/dist/components/Drawer/drawer.js +307 -0
  47. package/dist/components/Field/field.css.js +11 -0
  48. package/dist/components/Field/field.js +50 -0
  49. package/dist/components/Grid/grid.css.js +19 -0
  50. package/dist/components/Grid/grid.js +31 -0
  51. package/dist/components/Icon/icon.css.js +5 -0
  52. package/dist/components/Icon/icon.js +15 -0
  53. package/dist/components/IconButton/icon-button.css.js +5 -0
  54. package/dist/components/IconButton/icon-button.js +14 -0
  55. package/dist/components/IconButton/index.js +1 -0
  56. package/dist/components/Input/input.css.js +11 -0
  57. package/dist/components/Input/input.js +31 -0
  58. package/dist/components/InputGroup/input-group.css.js +16 -0
  59. package/dist/components/InputGroup/input-group.js +70 -0
  60. package/dist/components/Menu/menu.css.js +14 -0
  61. package/dist/components/Menu/menu.js +54 -0
  62. package/dist/components/OTPField/otp-field.css.js +18 -0
  63. package/dist/components/OTPField/otp-field.js +23 -0
  64. package/dist/components/Popover/popover.css.js +13 -0
  65. package/dist/components/Popover/popover.js +89 -0
  66. package/dist/components/Progress/progress.css.js +11 -0
  67. package/dist/components/Progress/progress.js +44 -0
  68. package/dist/components/Radio/radio.css.js +12 -0
  69. package/dist/components/Radio/radio.js +32 -0
  70. package/dist/components/ScrollArea/scroll-area.css.js +15 -0
  71. package/dist/components/ScrollArea/scroll-area.js +50 -0
  72. package/dist/components/SegmentedControl/segmented-control.js +21 -0
  73. package/dist/components/Select/select.css.js +17 -0
  74. package/dist/components/Select/select.js +129 -0
  75. package/dist/components/Separator/separator.css.js +27 -0
  76. package/dist/components/Separator/separator.js +27 -0
  77. package/dist/components/Sheet/sheet.css.js +27 -0
  78. package/dist/components/Sheet/sheet.js +112 -0
  79. package/dist/components/Slider/slider.css.js +17 -0
  80. package/dist/components/Slider/slider.js +55 -0
  81. package/dist/components/Spinner/spinner.css.js +5 -0
  82. package/dist/components/Spinner/spinner.js +15 -0
  83. package/dist/components/Splitter/splitter.css.js +15 -0
  84. package/dist/components/Splitter/splitter.js +313 -0
  85. package/dist/components/Stack/stack.css.js +44 -0
  86. package/dist/components/Stack/stack.js +32 -0
  87. package/dist/components/Surface/surface.css.js +20 -0
  88. package/dist/components/Surface/surface.js +17 -0
  89. package/dist/components/Switch/switch.css.js +11 -0
  90. package/dist/components/Switch/switch.js +18 -0
  91. package/dist/components/Table/table.css.js +16 -0
  92. package/dist/components/Table/table.js +44 -0
  93. package/dist/components/Tabs/tabs.css.js +23 -0
  94. package/dist/components/Tabs/tabs.js +47 -0
  95. package/dist/components/Text/index.js +1 -0
  96. package/dist/components/Text/text.css.js +61 -0
  97. package/dist/components/Text/text.js +51 -0
  98. package/dist/components/Textarea/textarea.css.js +9 -0
  99. package/dist/components/Textarea/textarea.js +31 -0
  100. package/dist/components/Toggle/toggle.css.js +46 -0
  101. package/dist/components/Toggle/toggle.js +22 -0
  102. package/dist/components/ToggleGroup/toggle-group.css.js +13 -0
  103. package/dist/components/ToggleGroup/toggle-group.js +63 -0
  104. package/dist/components/index.js +52 -0
  105. package/dist/index.js +52 -0
  106. package/dist/node_modules/.bun/@vanilla-extract_recipes@0.5.7_19e937df7e0b57ed/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +89 -0
  107. package/dist/node_modules/.bun/@vanilla-extract_sprinkles@1.6.5_19e937df7e0b57ed/node_modules/@vanilla-extract/sprinkles/createRuntimeSprinkles/dist/vanilla-extract-sprinkles-createRuntimeSprinkles.esm.js +8 -0
  108. package/dist/node_modules/.bun/@vanilla-extract_sprinkles@1.6.5_19e937df7e0b57ed/node_modules/@vanilla-extract/sprinkles/dist/createSprinkles-74286718.esm.js +141 -0
  109. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  110. package/dist/package.json +232 -0
  111. package/dist/src/DataTable/data-table-column-toggle.d.ts +6 -0
  112. package/dist/src/DataTable/data-table-empty.d.ts +7 -0
  113. package/dist/src/DataTable/data-table-error.d.ts +6 -0
  114. package/dist/src/DataTable/data-table-infinite-loader.d.ts +10 -0
  115. package/dist/src/DataTable/data-table-loading.d.ts +8 -0
  116. package/dist/src/DataTable/data-table-pagination.d.ts +6 -0
  117. package/dist/src/DataTable/data-table-toolbar.d.ts +13 -0
  118. package/dist/src/DataTable/data-table.css.d.ts +58 -0
  119. package/dist/src/DataTable/data-table.d.ts +2 -0
  120. package/dist/src/DataTable/index.d.ts +10 -0
  121. package/dist/src/DataTable/types.d.ts +106 -0
  122. package/dist/src/DataTable/use-infinite-scroll.d.ts +28 -0
  123. package/dist/src/components/Accordion/accordion.css.d.ts +7 -0
  124. package/dist/src/components/Accordion/accordion.d.ts +20 -0
  125. package/dist/src/components/Accordion/accordion.demo.d.ts +5 -0
  126. package/dist/src/components/Accordion/index.d.ts +1 -0
  127. package/dist/src/components/Alert/alert.css.d.ts +24 -0
  128. package/dist/src/components/Alert/alert.d.ts +13 -0
  129. package/dist/src/components/Alert/alert.demo.d.ts +6 -0
  130. package/dist/src/components/Alert/index.d.ts +1 -0
  131. package/dist/src/components/AlertDialog/alert-dialog.css.d.ts +13 -0
  132. package/dist/src/components/AlertDialog/alert-dialog.d.ts +30 -0
  133. package/dist/src/components/AlertDialog/alert-dialog.demo.d.ts +5 -0
  134. package/dist/src/components/AlertDialog/alert-dialog.doc.d.ts +1 -0
  135. package/dist/src/components/AlertDialog/index.d.ts +1 -0
  136. package/dist/src/components/Autocomplete/autocomplete.css.d.ts +23 -0
  137. package/dist/src/components/Autocomplete/autocomplete.d.ts +34 -0
  138. package/dist/src/components/Autocomplete/index.d.ts +1 -0
  139. package/dist/src/components/Avatar/avatar.css.d.ts +55 -0
  140. package/dist/src/components/Avatar/avatar.d.ts +20 -0
  141. package/dist/src/components/Avatar/avatar.doc.d.ts +2 -0
  142. package/dist/src/components/Avatar/index.d.ts +1 -0
  143. package/dist/src/components/Badge/badge.css.d.ts +24 -0
  144. package/dist/src/components/Badge/badge.d.ts +7 -0
  145. package/dist/src/components/Badge/badge.demo.d.ts +5 -0
  146. package/dist/src/components/Badge/badge.doc.d.ts +1 -0
  147. package/dist/src/components/Badge/index.d.ts +1 -0
  148. package/dist/src/components/Box/box.css.d.ts +1 -0
  149. package/dist/src/components/Box/box.d.ts +6 -0
  150. package/dist/src/components/Box/box.doc.d.ts +1 -0
  151. package/dist/src/components/Box/index.d.ts +1 -0
  152. package/dist/src/components/Breadcrumbs/breadcrumbs.css.d.ts +8 -0
  153. package/dist/src/components/Breadcrumbs/breadcrumbs.d.ts +30 -0
  154. package/dist/src/components/Breadcrumbs/breadcrumbs.doc.d.ts +2 -0
  155. package/dist/src/components/Breadcrumbs/index.d.ts +1 -0
  156. package/dist/src/components/Button/button.css.d.ts +179 -0
  157. package/dist/src/components/Button/button.d.ts +13 -0
  158. package/dist/src/components/Button/button.demo.d.ts +5 -0
  159. package/dist/src/components/Button/index.d.ts +1 -0
  160. package/dist/src/components/Calendar/calendar.css.d.ts +17 -0
  161. package/dist/src/components/Calendar/calendar.d.ts +3 -0
  162. package/dist/src/components/Calendar/calendar.doc.d.ts +1 -0
  163. package/dist/src/components/Calendar/index.d.ts +1 -0
  164. package/dist/src/components/Card/card.d.ts +12 -0
  165. package/dist/src/components/Card/card.demo.d.ts +8 -0
  166. package/dist/src/components/Card/card.doc.d.ts +2 -0
  167. package/dist/src/components/Card/index.d.ts +1 -0
  168. package/dist/src/components/Checkbox/checkbox.css.d.ts +7 -0
  169. package/dist/src/components/Checkbox/checkbox.d.ts +13 -0
  170. package/dist/src/components/Checkbox/index.d.ts +1 -0
  171. package/dist/src/components/CloseButton/close-button.css.d.ts +1 -0
  172. package/dist/src/components/CloseButton/close-button.d.ts +3 -0
  173. package/dist/src/components/CloseButton/index.d.ts +2 -0
  174. package/dist/src/components/ColorPicker/color-picker.d.ts +7 -0
  175. package/dist/src/components/ColorPicker/color-picker.doc.d.ts +1 -0
  176. package/dist/src/components/ColorPicker/index.d.ts +1 -0
  177. package/dist/src/components/ColorSwatch/color-swatch.d.ts +8 -0
  178. package/dist/src/components/ColorSwatch/color-swatch.doc.d.ts +2 -0
  179. package/dist/src/components/ColorSwatch/index.d.ts +1 -0
  180. package/dist/src/components/Combobox/combobox.css.d.ts +32 -0
  181. package/dist/src/components/Combobox/combobox.d.ts +52 -0
  182. package/dist/src/components/Combobox/index.d.ts +1 -0
  183. package/dist/src/components/Command/command.css.d.ts +12 -0
  184. package/dist/src/components/Command/command.d.ts +48 -0
  185. package/dist/src/components/Command/command.demo.d.ts +6 -0
  186. package/dist/src/components/Command/command.doc.d.ts +3 -0
  187. package/dist/src/components/Command/index.d.ts +7 -0
  188. package/dist/src/components/Container/container.css.d.ts +48 -0
  189. package/dist/src/components/Container/container.d.ts +8 -0
  190. package/dist/src/components/Container/container.doc.d.ts +1 -0
  191. package/dist/src/components/Container/index.d.ts +1 -0
  192. package/dist/src/components/CopyButton/copy-button.css.d.ts +1 -0
  193. package/dist/src/components/CopyButton/copy-button.d.ts +7 -0
  194. package/dist/src/components/CopyButton/index.d.ts +2 -0
  195. package/dist/src/components/DatePicker/date-picker.d.ts +11 -0
  196. package/dist/src/components/DatePicker/date-picker.doc.d.ts +1 -0
  197. package/dist/src/components/DatePicker/index.d.ts +1 -0
  198. package/dist/src/components/Dialog/dialog.css.d.ts +13 -0
  199. package/dist/src/components/Dialog/dialog.d.ts +32 -0
  200. package/dist/src/components/Dialog/dialog.demo.d.ts +5 -0
  201. package/dist/src/components/Dialog/dialog.doc.d.ts +1 -0
  202. package/dist/src/components/Dialog/index.d.ts +1 -0
  203. package/dist/src/components/Drawer/drawer.css.d.ts +54 -0
  204. package/dist/src/components/Drawer/drawer.d.ts +66 -0
  205. package/dist/src/components/Drawer/drawer.demo.d.ts +5 -0
  206. package/dist/src/components/Drawer/drawer.doc.d.ts +2 -0
  207. package/dist/src/components/Drawer/index.d.ts +1 -0
  208. package/dist/src/components/Field/field.css.d.ts +5 -0
  209. package/dist/src/components/Field/field.d.ts +25 -0
  210. package/dist/src/components/Field/field.doc.d.ts +1 -0
  211. package/dist/src/components/Field/index.d.ts +1 -0
  212. package/dist/src/components/Grid/grid.css.d.ts +4 -0
  213. package/dist/src/components/Grid/grid.d.ts +11 -0
  214. package/dist/src/components/Grid/grid.doc.d.ts +1 -0
  215. package/dist/src/components/Grid/index.d.ts +1 -0
  216. package/dist/src/components/Icon/icon.css.d.ts +1 -0
  217. package/dist/src/components/Icon/icon.d.ts +4 -0
  218. package/dist/src/components/Icon/icon.demo.d.ts +5 -0
  219. package/dist/src/components/Icon/index.d.ts +1 -0
  220. package/dist/src/components/IconButton/icon-button.css.d.ts +1 -0
  221. package/dist/src/components/IconButton/icon-button.d.ts +4 -0
  222. package/dist/src/components/IconButton/icon-button.demo.d.ts +5 -0
  223. package/dist/src/components/IconButton/index.d.ts +2 -0
  224. package/dist/src/components/Input/index.d.ts +1 -0
  225. package/dist/src/components/Input/input.css.d.ts +6 -0
  226. package/dist/src/components/Input/input.d.ts +19 -0
  227. package/dist/src/components/Input/input.demo.d.ts +5 -0
  228. package/dist/src/components/Input/input.doc.d.ts +2 -0
  229. package/dist/src/components/InputGroup/index.d.ts +1 -0
  230. package/dist/src/components/InputGroup/input-group.css.d.ts +10 -0
  231. package/dist/src/components/InputGroup/input-group.d.ts +25 -0
  232. package/dist/src/components/InputGroup/input-group.demo.d.ts +5 -0
  233. package/dist/src/components/Menu/index.d.ts +1 -0
  234. package/dist/src/components/Menu/menu.css.d.ts +8 -0
  235. package/dist/src/components/Menu/menu.d.ts +41 -0
  236. package/dist/src/components/Menu/menu.demo.d.ts +5 -0
  237. package/dist/src/components/OTPField/index.d.ts +1 -0
  238. package/dist/src/components/OTPField/otp-field.css.d.ts +16 -0
  239. package/dist/src/components/OTPField/otp-field.d.ts +18 -0
  240. package/dist/src/components/OTPField/otp-field.demo.d.ts +6 -0
  241. package/dist/src/components/Popover/index.d.ts +1 -0
  242. package/dist/src/components/Popover/popover.css.d.ts +7 -0
  243. package/dist/src/components/Popover/popover.d.ts +33 -0
  244. package/dist/src/components/Popover/popover.demo.d.ts +5 -0
  245. package/dist/src/components/Progress/index.d.ts +1 -0
  246. package/dist/src/components/Progress/progress.css.d.ts +5 -0
  247. package/dist/src/components/Progress/progress.d.ts +13 -0
  248. package/dist/src/components/Radio/index.d.ts +1 -0
  249. package/dist/src/components/Radio/radio.css.d.ts +6 -0
  250. package/dist/src/components/Radio/radio.d.ts +13 -0
  251. package/dist/src/components/ScrollArea/index.d.ts +1 -0
  252. package/dist/src/components/ScrollArea/scroll-area.css.d.ts +9 -0
  253. package/dist/src/components/ScrollArea/scroll-area.d.ts +19 -0
  254. package/dist/src/components/ScrollArea/scroll-area.doc.d.ts +2 -0
  255. package/dist/src/components/SegmentedControl/index.d.ts +1 -0
  256. package/dist/src/components/SegmentedControl/segmented-control.d.ts +14 -0
  257. package/dist/src/components/SegmentedControl/segmented-control.doc.d.ts +1 -0
  258. package/dist/src/components/Select/index.d.ts +1 -0
  259. package/dist/src/components/Select/select.css.d.ts +11 -0
  260. package/dist/src/components/Select/select.d.ts +54 -0
  261. package/dist/src/components/Select/select.demo.d.ts +5 -0
  262. package/dist/src/components/Select/select.doc.d.ts +2 -0
  263. package/dist/src/components/Separator/index.d.ts +1 -0
  264. package/dist/src/components/Separator/separator.css.d.ts +22 -0
  265. package/dist/src/components/Separator/separator.d.ts +13 -0
  266. package/dist/src/components/Separator/separator.doc.d.ts +4 -0
  267. package/dist/src/components/Sheet/index.d.ts +1 -0
  268. package/dist/src/components/Sheet/sheet.css.d.ts +21 -0
  269. package/dist/src/components/Sheet/sheet.d.ts +35 -0
  270. package/dist/src/components/Sheet/sheet.demo.d.ts +5 -0
  271. package/dist/src/components/Slider/index.d.ts +1 -0
  272. package/dist/src/components/Slider/slider.css.d.ts +11 -0
  273. package/dist/src/components/Slider/slider.d.ts +11 -0
  274. package/dist/src/components/Spinner/index.d.ts +1 -0
  275. package/dist/src/components/Spinner/spinner.css.d.ts +2 -0
  276. package/dist/src/components/Spinner/spinner.d.ts +8 -0
  277. package/dist/src/components/Spinner/spinner.demo.d.ts +1 -0
  278. package/dist/src/components/Splitter/index.d.ts +1 -0
  279. package/dist/src/components/Splitter/splitter.css.d.ts +11 -0
  280. package/dist/src/components/Splitter/splitter.d.ts +36 -0
  281. package/dist/src/components/Stack/index.d.ts +1 -0
  282. package/dist/src/components/Stack/stack.css.d.ts +82 -0
  283. package/dist/src/components/Stack/stack.d.ts +11 -0
  284. package/dist/src/components/Stack/stack.doc.d.ts +3 -0
  285. package/dist/src/components/Surface/index.d.ts +1 -0
  286. package/dist/src/components/Surface/surface.css.d.ts +34 -0
  287. package/dist/src/components/Surface/surface.d.ts +7 -0
  288. package/dist/src/components/Surface/surface.doc.d.ts +2 -0
  289. package/dist/src/components/Switch/index.d.ts +1 -0
  290. package/dist/src/components/Switch/switch.css.d.ts +5 -0
  291. package/dist/src/components/Switch/switch.d.ts +7 -0
  292. package/dist/src/components/Switch/switch.demo.d.ts +5 -0
  293. package/dist/src/components/Switch/switch.doc.d.ts +2 -0
  294. package/dist/src/components/Table/index.d.ts +2 -0
  295. package/dist/src/components/Table/table.css.d.ts +10 -0
  296. package/dist/src/components/Table/table.d.ts +24 -0
  297. package/dist/src/components/Table/table.demo.d.ts +5 -0
  298. package/dist/src/components/Tabs/index.d.ts +1 -0
  299. package/dist/src/components/Tabs/tabs.css.d.ts +27 -0
  300. package/dist/src/components/Tabs/tabs.d.ts +15 -0
  301. package/dist/src/components/Tabs/tabs.demo.d.ts +5 -0
  302. package/dist/src/components/Tabs/tabs.doc.d.ts +3 -0
  303. package/dist/src/components/Text/index.d.ts +2 -0
  304. package/dist/src/components/Text/text.css.d.ts +204 -0
  305. package/dist/src/components/Text/text.d.ts +9 -0
  306. package/dist/src/components/Text/text.doc.d.ts +4 -0
  307. package/dist/src/components/Textarea/index.d.ts +1 -0
  308. package/dist/src/components/Textarea/textarea.css.d.ts +4 -0
  309. package/dist/src/components/Textarea/textarea.d.ts +7 -0
  310. package/dist/src/components/Textarea/textarea.doc.d.ts +2 -0
  311. package/dist/src/components/Toggle/index.d.ts +1 -0
  312. package/dist/src/components/Toggle/toggle.css.d.ts +68 -0
  313. package/dist/src/components/Toggle/toggle.d.ts +12 -0
  314. package/dist/src/components/Toggle/toggle.doc.d.ts +1 -0
  315. package/dist/src/components/ToggleGroup/index.d.ts +1 -0
  316. package/dist/src/components/ToggleGroup/toggle-group.css.d.ts +7 -0
  317. package/dist/src/components/ToggleGroup/toggle-group.d.ts +31 -0
  318. package/dist/src/components/ToggleGroup/toggle-group.doc.d.ts +3 -0
  319. package/dist/src/components/index.d.ts +49 -0
  320. package/dist/src/demos/accordion.demo.d.ts +5 -0
  321. package/dist/src/index.d.ts +2 -0
  322. package/dist/src/utils/heights.d.ts +2 -0
  323. package/dist/src/utils/sprinkles.css.d.ts +515 -0
  324. package/dist/src/utils/types.d.ts +8 -0
  325. package/dist/src/utils/ve-style.utils.d.ts +1 -0
  326. package/dist/utils/sprinkles.css.js +5350 -0
  327. package/dist/utils/ve-style.utils.js +21 -0
  328. package/package.build.json +39 -0
  329. package/package.json +60 -0
  330. package/scripts/generate-api.ts +183 -0
  331. package/scripts/generate-package.ts +99 -0
  332. package/src/DataTable/data-table-column-toggle.tsx +73 -0
  333. package/src/DataTable/data-table-empty.tsx +27 -0
  334. package/src/DataTable/data-table-error.tsx +25 -0
  335. package/src/DataTable/data-table-infinite-loader.tsx +73 -0
  336. package/src/DataTable/data-table-loading.tsx +67 -0
  337. package/src/DataTable/data-table-pagination.tsx +80 -0
  338. package/src/DataTable/data-table-toolbar.tsx +62 -0
  339. package/src/DataTable/data-table.css.ts +421 -0
  340. package/src/DataTable/data-table.tsx +507 -0
  341. package/src/DataTable/index.ts +24 -0
  342. package/src/DataTable/registry-meta.json +66 -0
  343. package/src/DataTable/types.ts +169 -0
  344. package/src/DataTable/use-infinite-scroll.ts +67 -0
  345. package/src/components/Accordion/accordion.css.ts +93 -0
  346. package/src/components/Accordion/accordion.demo.tsx +42 -0
  347. package/src/components/Accordion/accordion.tsx +87 -0
  348. package/src/components/Accordion/docs-meta.json +13 -0
  349. package/src/components/Accordion/index.ts +8 -0
  350. package/src/components/Accordion/registry-meta.json +19 -0
  351. package/src/components/Alert/alert.css.ts +29 -0
  352. package/src/components/Alert/alert.demo.tsx +34 -0
  353. package/src/components/Alert/alert.tsx +40 -0
  354. package/src/components/Alert/docs-meta.json +12 -0
  355. package/src/components/Alert/index.ts +1 -0
  356. package/src/components/Alert/registry-meta.json +20 -0
  357. package/src/components/AlertDialog/alert-dialog.css.ts +146 -0
  358. package/src/components/AlertDialog/alert-dialog.demo.tsx +59 -0
  359. package/src/components/AlertDialog/alert-dialog.doc.tsx +31 -0
  360. package/src/components/AlertDialog/alert-dialog.tsx +197 -0
  361. package/src/components/AlertDialog/docs-meta.json +14 -0
  362. package/src/components/AlertDialog/index.ts +1 -0
  363. package/src/components/AlertDialog/registry-meta.json +20 -0
  364. package/src/components/Autocomplete/autocomplete.css.ts +168 -0
  365. package/src/components/Autocomplete/autocomplete.tsx +226 -0
  366. package/src/components/Autocomplete/docs-meta.json +9 -0
  367. package/src/components/Autocomplete/index.ts +1 -0
  368. package/src/components/Autocomplete/registry-meta.json +20 -0
  369. package/src/components/Avatar/avatar.css.ts +72 -0
  370. package/src/components/Avatar/avatar.doc.tsx +32 -0
  371. package/src/components/Avatar/avatar.tsx +49 -0
  372. package/src/components/Avatar/docs-meta.json +9 -0
  373. package/src/components/Avatar/index.ts +1 -0
  374. package/src/components/Avatar/registry-meta.json +19 -0
  375. package/src/components/Badge/badge.css.ts +40 -0
  376. package/src/components/Badge/badge.demo.tsx +18 -0
  377. package/src/components/Badge/badge.doc.tsx +12 -0
  378. package/src/components/Badge/badge.tsx +13 -0
  379. package/src/components/Badge/docs-meta.json +9 -0
  380. package/src/components/Badge/index.ts +1 -0
  381. package/src/components/Badge/registry-meta.json +19 -0
  382. package/src/components/Box/box.css.ts +7 -0
  383. package/src/components/Box/box.doc.tsx +19 -0
  384. package/src/components/Box/box.tsx +21 -0
  385. package/src/components/Box/docs-meta.json +9 -0
  386. package/src/components/Box/index.ts +1 -0
  387. package/src/components/Box/registry-meta.json +14 -0
  388. package/src/components/Breadcrumbs/breadcrumbs.css.ts +72 -0
  389. package/src/components/Breadcrumbs/breadcrumbs.doc.tsx +61 -0
  390. package/src/components/Breadcrumbs/breadcrumbs.tsx +79 -0
  391. package/src/components/Breadcrumbs/docs-meta.json +12 -0
  392. package/src/components/Breadcrumbs/index.ts +9 -0
  393. package/src/components/Breadcrumbs/registry-meta.json +19 -0
  394. package/src/components/Button/button.css.ts +209 -0
  395. package/src/components/Button/button.demo.tsx +119 -0
  396. package/src/components/Button/button.tsx +55 -0
  397. package/src/components/Button/docs-meta.json +13 -0
  398. package/src/components/Button/index.ts +1 -0
  399. package/src/components/Button/registry-meta.json +20 -0
  400. package/src/components/Calendar/calendar.css.ts +188 -0
  401. package/src/components/Calendar/calendar.doc.tsx +10 -0
  402. package/src/components/Calendar/calendar.tsx +143 -0
  403. package/src/components/Calendar/docs-meta.json +9 -0
  404. package/src/components/Calendar/index.ts +1 -0
  405. package/src/components/Calendar/registry-meta.json +20 -0
  406. package/src/components/Card/card.demo.tsx +177 -0
  407. package/src/components/Card/card.doc.tsx +47 -0
  408. package/src/components/Card/card.tsx +32 -0
  409. package/src/components/Card/docs-meta.json +9 -0
  410. package/src/components/Card/index.ts +1 -0
  411. package/src/components/Card/registry-meta.json +15 -0
  412. package/src/components/Checkbox/checkbox.css.ts +77 -0
  413. package/src/components/Checkbox/checkbox.tsx +94 -0
  414. package/src/components/Checkbox/docs-meta.json +13 -0
  415. package/src/components/Checkbox/index.ts +1 -0
  416. package/src/components/Checkbox/registry-meta.json +19 -0
  417. package/src/components/CloseButton/close-button.css.ts +11 -0
  418. package/src/components/CloseButton/close-button.tsx +15 -0
  419. package/src/components/CloseButton/index.ts +2 -0
  420. package/src/components/CloseButton/registry-meta.json +15 -0
  421. package/src/components/ColorPicker/color-picker.doc.tsx +12 -0
  422. package/src/components/ColorPicker/color-picker.tsx +123 -0
  423. package/src/components/ColorPicker/docs-meta.json +9 -0
  424. package/src/components/ColorPicker/index.ts +1 -0
  425. package/src/components/ColorPicker/registry-meta.json +15 -0
  426. package/src/components/ColorSwatch/color-swatch.doc.tsx +25 -0
  427. package/src/components/ColorSwatch/color-swatch.tsx +21 -0
  428. package/src/components/ColorSwatch/docs-meta.json +9 -0
  429. package/src/components/ColorSwatch/index.ts +1 -0
  430. package/src/components/ColorSwatch/registry-meta.json +20 -0
  431. package/src/components/Combobox/combobox.css.ts +334 -0
  432. package/src/components/Combobox/combobox.tsx +350 -0
  433. package/src/components/Combobox/docs-meta.json +9 -0
  434. package/src/components/Combobox/index.ts +1 -0
  435. package/src/components/Combobox/registry-meta.json +20 -0
  436. package/src/components/Command/command.css.ts +131 -0
  437. package/src/components/Command/command.demo.tsx +110 -0
  438. package/src/components/Command/command.doc.tsx +100 -0
  439. package/src/components/Command/command.tsx +413 -0
  440. package/src/components/Command/docs-meta.json +21 -0
  441. package/src/components/Command/index.ts +7 -0
  442. package/src/components/Command/registry-meta.json +20 -0
  443. package/src/components/Container/container.css.ts +40 -0
  444. package/src/components/Container/container.doc.tsx +28 -0
  445. package/src/components/Container/container.tsx +24 -0
  446. package/src/components/Container/docs-meta.json +9 -0
  447. package/src/components/Container/index.ts +1 -0
  448. package/src/components/Container/registry-meta.json +20 -0
  449. package/src/components/CopyButton/copy-button.css.ts +11 -0
  450. package/src/components/CopyButton/copy-button.tsx +45 -0
  451. package/src/components/CopyButton/index.ts +2 -0
  452. package/src/components/CopyButton/registry-meta.json +15 -0
  453. package/src/components/DatePicker/date-picker.doc.tsx +12 -0
  454. package/src/components/DatePicker/date-picker.tsx +75 -0
  455. package/src/components/DatePicker/docs-meta.json +9 -0
  456. package/src/components/DatePicker/index.ts +1 -0
  457. package/src/components/DatePicker/registry-meta.json +15 -0
  458. package/src/components/Dialog/dialog.css.ts +155 -0
  459. package/src/components/Dialog/dialog.demo.tsx +39 -0
  460. package/src/components/Dialog/dialog.doc.tsx +33 -0
  461. package/src/components/Dialog/dialog.tsx +186 -0
  462. package/src/components/Dialog/docs-meta.json +13 -0
  463. package/src/components/Dialog/index.ts +1 -0
  464. package/src/components/Dialog/registry-meta.json +20 -0
  465. package/src/components/Drawer/docs-meta.json +9 -0
  466. package/src/components/Drawer/drawer.css.ts +412 -0
  467. package/src/components/Drawer/drawer.demo.tsx +58 -0
  468. package/src/components/Drawer/drawer.doc.tsx +49 -0
  469. package/src/components/Drawer/drawer.tsx +574 -0
  470. package/src/components/Drawer/index.ts +1 -0
  471. package/src/components/Drawer/registry-meta.json +20 -0
  472. package/src/components/Field/docs-meta.json +9 -0
  473. package/src/components/Field/field.css.ts +35 -0
  474. package/src/components/Field/field.doc.tsx +19 -0
  475. package/src/components/Field/field.tsx +101 -0
  476. package/src/components/Field/index.ts +1 -0
  477. package/src/components/Field/registry-meta.json +20 -0
  478. package/src/components/Grid/docs-meta.json +9 -0
  479. package/src/components/Grid/grid.css.ts +12 -0
  480. package/src/components/Grid/grid.doc.tsx +148 -0
  481. package/src/components/Grid/grid.tsx +57 -0
  482. package/src/components/Grid/index.ts +1 -0
  483. package/src/components/Grid/registry-meta.json +20 -0
  484. package/src/components/Icon/docs-meta.json +13 -0
  485. package/src/components/Icon/icon.css.ts +10 -0
  486. package/src/components/Icon/icon.demo.tsx +97 -0
  487. package/src/components/Icon/icon.tsx +15 -0
  488. package/src/components/Icon/index.ts +1 -0
  489. package/src/components/Icon/registry-meta.json +20 -0
  490. package/src/components/IconButton/docs-meta.json +13 -0
  491. package/src/components/IconButton/icon-button.css.ts +6 -0
  492. package/src/components/IconButton/icon-button.demo.tsx +102 -0
  493. package/src/components/IconButton/icon-button.tsx +11 -0
  494. package/src/components/IconButton/index.ts +2 -0
  495. package/src/components/IconButton/registry-meta.json +15 -0
  496. package/src/components/Input/docs-meta.json +9 -0
  497. package/src/components/Input/index.ts +1 -0
  498. package/src/components/Input/input.css.ts +73 -0
  499. package/src/components/Input/input.demo.tsx +24 -0
  500. package/src/components/Input/input.doc.tsx +25 -0
  501. package/src/components/Input/input.tsx +50 -0
  502. package/src/components/Input/registry-meta.json +19 -0
  503. package/src/components/InputGroup/docs-meta.json +9 -0
  504. package/src/components/InputGroup/index.ts +1 -0
  505. package/src/components/InputGroup/input-group.css.ts +157 -0
  506. package/src/components/InputGroup/input-group.demo.tsx +53 -0
  507. package/src/components/InputGroup/input-group.tsx +133 -0
  508. package/src/components/InputGroup/registry-meta.json +19 -0
  509. package/src/components/Menu/docs-meta.json +13 -0
  510. package/src/components/Menu/index.ts +1 -0
  511. package/src/components/Menu/menu.css.ts +128 -0
  512. package/src/components/Menu/menu.demo.tsx +40 -0
  513. package/src/components/Menu/menu.tsx +115 -0
  514. package/src/components/Menu/registry-meta.json +19 -0
  515. package/src/components/OTPField/docs-meta.json +9 -0
  516. package/src/components/OTPField/index.ts +1 -0
  517. package/src/components/OTPField/otp-field.css.ts +55 -0
  518. package/src/components/OTPField/otp-field.demo.tsx +57 -0
  519. package/src/components/OTPField/otp-field.tsx +46 -0
  520. package/src/components/OTPField/registry-meta.json +19 -0
  521. package/src/components/Popover/docs-meta.json +13 -0
  522. package/src/components/Popover/index.ts +1 -0
  523. package/src/components/Popover/popover.css.ts +82 -0
  524. package/src/components/Popover/popover.demo.tsx +34 -0
  525. package/src/components/Popover/popover.tsx +113 -0
  526. package/src/components/Popover/registry-meta.json +19 -0
  527. package/src/components/Progress/docs-meta.json +12 -0
  528. package/src/components/Progress/index.ts +7 -0
  529. package/src/components/Progress/progress.css.ts +38 -0
  530. package/src/components/Progress/progress.tsx +62 -0
  531. package/src/components/Progress/registry-meta.json +19 -0
  532. package/src/components/Radio/docs-meta.json +13 -0
  533. package/src/components/Radio/index.ts +1 -0
  534. package/src/components/Radio/radio.css.ts +73 -0
  535. package/src/components/Radio/radio.tsx +49 -0
  536. package/src/components/Radio/registry-meta.json +19 -0
  537. package/src/components/ScrollArea/docs-meta.json +9 -0
  538. package/src/components/ScrollArea/index.ts +1 -0
  539. package/src/components/ScrollArea/registry-meta.json +19 -0
  540. package/src/components/ScrollArea/scroll-area.css.ts +80 -0
  541. package/src/components/ScrollArea/scroll-area.doc.tsx +44 -0
  542. package/src/components/ScrollArea/scroll-area.tsx +96 -0
  543. package/src/components/SegmentedControl/docs-meta.json +9 -0
  544. package/src/components/SegmentedControl/index.ts +1 -0
  545. package/src/components/SegmentedControl/registry-meta.json +15 -0
  546. package/src/components/SegmentedControl/segmented-control.doc.tsx +28 -0
  547. package/src/components/SegmentedControl/segmented-control.tsx +42 -0
  548. package/src/components/Select/docs-meta.json +13 -0
  549. package/src/components/Select/index.ts +1 -0
  550. package/src/components/Select/registry-meta.json +20 -0
  551. package/src/components/Select/select.css.ts +183 -0
  552. package/src/components/Select/select.demo.tsx +35 -0
  553. package/src/components/Select/select.doc.tsx +65 -0
  554. package/src/components/Select/select.tsx +165 -0
  555. package/src/components/Separator/docs-meta.json +12 -0
  556. package/src/components/Separator/index.ts +1 -0
  557. package/src/components/Separator/registry-meta.json +20 -0
  558. package/src/components/Separator/separator.css.ts +60 -0
  559. package/src/components/Separator/separator.doc.tsx +44 -0
  560. package/src/components/Separator/separator.tsx +34 -0
  561. package/src/components/Sheet/docs-meta.json +13 -0
  562. package/src/components/Sheet/index.ts +1 -0
  563. package/src/components/Sheet/registry-meta.json +20 -0
  564. package/src/components/Sheet/sheet.css.ts +192 -0
  565. package/src/components/Sheet/sheet.demo.tsx +53 -0
  566. package/src/components/Sheet/sheet.tsx +213 -0
  567. package/src/components/Slider/docs-meta.json +13 -0
  568. package/src/components/Slider/index.ts +1 -0
  569. package/src/components/Slider/registry-meta.json +19 -0
  570. package/src/components/Slider/slider.css.ts +82 -0
  571. package/src/components/Slider/slider.tsx +100 -0
  572. package/src/components/Spinner/docs-meta.json +12 -0
  573. package/src/components/Spinner/index.ts +1 -0
  574. package/src/components/Spinner/registry-meta.json +19 -0
  575. package/src/components/Spinner/spinner.css.ts +17 -0
  576. package/src/components/Spinner/spinner.demo.tsx +13 -0
  577. package/src/components/Spinner/spinner.tsx +15 -0
  578. package/src/components/Splitter/docs-meta.json +9 -0
  579. package/src/components/Splitter/index.ts +1 -0
  580. package/src/components/Splitter/registry-meta.json +19 -0
  581. package/src/components/Splitter/splitter.css.ts +70 -0
  582. package/src/components/Splitter/splitter.tsx +521 -0
  583. package/src/components/Stack/docs-meta.json +9 -0
  584. package/src/components/Stack/index.ts +1 -0
  585. package/src/components/Stack/registry-meta.json +20 -0
  586. package/src/components/Stack/stack.css.ts +42 -0
  587. package/src/components/Stack/stack.doc.tsx +57 -0
  588. package/src/components/Stack/stack.tsx +32 -0
  589. package/src/components/Surface/docs-meta.json +9 -0
  590. package/src/components/Surface/index.ts +1 -0
  591. package/src/components/Surface/registry-meta.json +20 -0
  592. package/src/components/Surface/surface.css.ts +40 -0
  593. package/src/components/Surface/surface.doc.tsx +32 -0
  594. package/src/components/Surface/surface.tsx +19 -0
  595. package/src/components/Switch/docs-meta.json +13 -0
  596. package/src/components/Switch/index.ts +1 -0
  597. package/src/components/Switch/registry-meta.json +20 -0
  598. package/src/components/Switch/switch.css.ts +47 -0
  599. package/src/components/Switch/switch.demo.tsx +26 -0
  600. package/src/components/Switch/switch.doc.tsx +25 -0
  601. package/src/components/Switch/switch.tsx +25 -0
  602. package/src/components/Table/docs-meta.json +12 -0
  603. package/src/components/Table/index.ts +2 -0
  604. package/src/components/Table/registry-meta.json +19 -0
  605. package/src/components/Table/table.css.ts +72 -0
  606. package/src/components/Table/table.demo.tsx +58 -0
  607. package/src/components/Table/table.tsx +116 -0
  608. package/src/components/Tabs/docs-meta.json +13 -0
  609. package/src/components/Tabs/index.ts +1 -0
  610. package/src/components/Tabs/registry-meta.json +19 -0
  611. package/src/components/Tabs/tabs.css.ts +259 -0
  612. package/src/components/Tabs/tabs.demo.tsx +33 -0
  613. package/src/components/Tabs/tabs.doc.tsx +62 -0
  614. package/src/components/Tabs/tabs.tsx +119 -0
  615. package/src/components/Text/docs-meta.json +9 -0
  616. package/src/components/Text/index.ts +2 -0
  617. package/src/components/Text/registry-meta.json +19 -0
  618. package/src/components/Text/text.css.ts +167 -0
  619. package/src/components/Text/text.doc.tsx +53 -0
  620. package/src/components/Text/text.tsx +64 -0
  621. package/src/components/Textarea/docs-meta.json +9 -0
  622. package/src/components/Textarea/index.ts +1 -0
  623. package/src/components/Textarea/registry-meta.json +19 -0
  624. package/src/components/Textarea/textarea.css.ts +66 -0
  625. package/src/components/Textarea/textarea.doc.tsx +23 -0
  626. package/src/components/Textarea/textarea.tsx +48 -0
  627. package/src/components/Toggle/docs-meta.json +12 -0
  628. package/src/components/Toggle/index.ts +1 -0
  629. package/src/components/Toggle/registry-meta.json +19 -0
  630. package/src/components/Toggle/toggle.css.ts +101 -0
  631. package/src/components/Toggle/toggle.doc.tsx +24 -0
  632. package/src/components/Toggle/toggle.tsx +60 -0
  633. package/src/components/ToggleGroup/docs-meta.json +9 -0
  634. package/src/components/ToggleGroup/index.ts +1 -0
  635. package/src/components/ToggleGroup/registry-meta.json +20 -0
  636. package/src/components/ToggleGroup/toggle-group.css.ts +77 -0
  637. package/src/components/ToggleGroup/toggle-group.doc.tsx +38 -0
  638. package/src/components/ToggleGroup/toggle-group.tsx +131 -0
  639. package/src/components/index.ts +53 -0
  640. package/src/demos/accordion.demo.tsx +41 -0
  641. package/src/index.ts +3 -0
  642. package/src/utils/heights.ts +16 -0
  643. package/src/utils/sprinkles.css.ts +251 -0
  644. package/src/utils/types.ts +20 -0
  645. package/src/utils/ve-style.utils.ts +24 -0
  646. package/tsconfig.build.json +14 -0
  647. package/tsconfig.json +10 -0
  648. package/vite.config.ts +47 -0
@@ -0,0 +1,188 @@
1
+ import { style } from "@vanilla-extract/css";
2
+ import { themeContract } from "@blenx-dev/theme/contract";
3
+ import { fontSize, fontWeight, spacing } from "@blenx-dev/theme/tokens";
4
+
5
+ export const root = style({
6
+ display: "inline-block",
7
+ width: "100%",
8
+ });
9
+
10
+ export const months = style({
11
+ display: "flex",
12
+ flexDirection: "column",
13
+ });
14
+
15
+ export const monthCaption = style({
16
+ display: "flex",
17
+ alignItems: "center",
18
+ justifyContent: "center",
19
+ position: "relative",
20
+ paddingBottom: spacing.small,
21
+ minHeight: 40,
22
+ });
23
+
24
+ export const captionLabel = style({
25
+ fontSize: fontSize.medium,
26
+ fontWeight: fontWeight.semibold,
27
+ color: themeContract.contentPrimary,
28
+ margin: 0,
29
+ padding: 0,
30
+ });
31
+
32
+ export const nav = style({
33
+ height: "fit-content",
34
+ display: "flex",
35
+ justifyContent: "space-between",
36
+ alignItems: "center",
37
+ position: "absolute",
38
+ inset: 0,
39
+ padding: spacing.xsmall,
40
+ pointerEvents: "none",
41
+ zIndex: 10,
42
+ });
43
+
44
+ export const buttonNav = style({
45
+ pointerEvents: "auto",
46
+ appearance: "none",
47
+ backgroundColor: "transparent",
48
+ border: "none",
49
+ padding: 0,
50
+ font: "inherit",
51
+ WebkitTapHighlightColor: "transparent",
52
+ width: 28,
53
+ height: 28,
54
+ borderRadius: themeContract.borderRadius,
55
+ display: "flex",
56
+ alignItems: "center",
57
+ justifyContent: "center",
58
+ color: themeContract.contentSecondary,
59
+ cursor: "pointer",
60
+ flexShrink: 0,
61
+ selectors: {
62
+ "&:hover": {
63
+ backgroundColor: themeContract.backgroundSubtle,
64
+ },
65
+ "&:focus-visible": {
66
+ boxShadow: `0 0 0 2px ${themeContract.focusRing}`,
67
+ },
68
+ },
69
+ });
70
+
71
+ export const monthGrid = style({
72
+ width: "100%",
73
+ borderCollapse: "collapse",
74
+ });
75
+
76
+ export const weekday = style({
77
+ fontSize: fontSize.xsmall,
78
+ fontWeight: fontWeight.medium,
79
+ color: themeContract.contentSecondary,
80
+ textAlign: "center",
81
+ verticalAlign: "middle",
82
+ padding: spacing.xxsmall,
83
+ width: 40,
84
+ height: 32,
85
+ boxSizing: "border-box",
86
+ });
87
+
88
+ export const day = style({
89
+ textAlign: "center",
90
+ verticalAlign: "middle",
91
+ padding: 1,
92
+ width: 40,
93
+ height: 40,
94
+ boxSizing: "border-box",
95
+ });
96
+
97
+ export const dayButton = style({
98
+ display: "flex",
99
+ alignItems: "center",
100
+ justifyContent: "center",
101
+ width: "100%",
102
+ height: "100%",
103
+ minWidth: 32,
104
+ minHeight: 32,
105
+ maxWidth: 36,
106
+ maxHeight: 36,
107
+ borderRadius: themeContract.borderRadius,
108
+ border: "none",
109
+ backgroundColor: "transparent",
110
+ cursor: "pointer",
111
+ fontSize: fontSize.small,
112
+ color: themeContract.contentPrimary,
113
+ outline: "none",
114
+ margin: "0 auto",
115
+ padding: 0,
116
+ fontFamily: "inherit",
117
+ lineHeight: 1,
118
+ transitionProperty: "background-color, color",
119
+ transitionDuration: "100ms",
120
+ transitionTimingFunction: "ease",
121
+ selectors: {
122
+ "&:hover": {
123
+ backgroundColor: themeContract.backgroundSubtle,
124
+ },
125
+ "&:focus-visible": {
126
+ boxShadow: `0 0 0 2px ${themeContract.focusRing}`,
127
+ },
128
+ },
129
+ });
130
+
131
+ export const dayButtonSelected = style({
132
+ backgroundColor: themeContract.primary,
133
+ color: themeContract.contentOnPrimary,
134
+ fontWeight: fontWeight.semibold,
135
+ selectors: {
136
+ "&:hover": {
137
+ backgroundColor: themeContract.primary,
138
+ },
139
+ },
140
+ });
141
+
142
+ export const dayButtonToday = style({
143
+ fontWeight: fontWeight.semibold,
144
+ });
145
+
146
+ export const dayButtonDisabled = style({
147
+ color: themeContract.contentDisabled,
148
+ cursor: "not-allowed",
149
+ opacity: 0.5,
150
+ selectors: {
151
+ "&:hover": {
152
+ backgroundColor: "transparent",
153
+ },
154
+ },
155
+ });
156
+
157
+ export const dayButtonOutside = style({
158
+ color: themeContract.contentDisabled,
159
+ opacity: 0.5,
160
+ });
161
+
162
+ export const footer = style({
163
+ paddingTop: spacing.small,
164
+ });
165
+
166
+ export const dropdowns = style({
167
+ display: "flex",
168
+ gap: spacing.xsmall,
169
+ alignItems: "center",
170
+ });
171
+
172
+ export const dropdown = style({
173
+ appearance: "none",
174
+ backgroundColor: themeContract.backgroundSubtle,
175
+ border: `1px solid ${themeContract.border}`,
176
+ borderRadius: themeContract.borderRadius,
177
+ color: themeContract.contentPrimary,
178
+ fontSize: fontSize.small,
179
+ padding: `${spacing.xxsmall} ${spacing.small}`,
180
+ cursor: "pointer",
181
+ outline: "none",
182
+ selectors: {
183
+ "&:focus-visible": {
184
+ borderColor: themeContract.borderStrong,
185
+ boxShadow: `0 0 0 2px ${themeContract.borderStrong}`,
186
+ },
187
+ },
188
+ });
@@ -0,0 +1,10 @@
1
+ import { Stack } from "../Stack/stack";
2
+ import { Calendar } from "./calendar";
3
+
4
+ export function DefaultStory() {
5
+ return (
6
+ <Stack gap="small">
7
+ <Calendar mode="single" selected={new Date()} onSelect={() => {}} />
8
+ </Stack>
9
+ );
10
+ }
@@ -0,0 +1,143 @@
1
+ "use client";
2
+
3
+ import { CaretLeftIcon, CaretRightIcon, CaretUpDownIcon } from "@phosphor-icons/react";
4
+ import clsx from "clsx";
5
+ import { useEffect, useRef } from "react";
6
+ import { DayPicker, type DayPickerProps } from "react-day-picker";
7
+ import { Button } from "../Button/button";
8
+ import {
9
+ root,
10
+ months,
11
+ monthCaption,
12
+ captionLabel,
13
+ nav,
14
+ buttonNav,
15
+ monthGrid,
16
+ weekday,
17
+ day,
18
+ dayButton,
19
+ dayButtonSelected,
20
+ dayButtonToday,
21
+ dayButtonDisabled,
22
+ dayButtonOutside,
23
+ footer,
24
+ dropdowns,
25
+ dropdown,
26
+ } from "./calendar.css";
27
+
28
+ function StyledDayButton({
29
+ day: _day,
30
+ modifiers,
31
+ className,
32
+ ...props
33
+ }: {
34
+ day: object;
35
+ modifiers: Record<string, boolean>;
36
+ } & React.ComponentPropsWithoutRef<"button">) {
37
+ const ref = useRef<HTMLButtonElement>(null);
38
+
39
+ useEffect(() => {
40
+ if (modifiers.focused) {
41
+ ref.current?.focus();
42
+ }
43
+ }, [modifiers.focused]);
44
+
45
+ const isSelected = modifiers.selected;
46
+ const isToday = modifiers.today;
47
+ const isDisabled = modifiers.disabled;
48
+ const isOutside = modifiers.outside;
49
+
50
+ const composed = clsx(
51
+ dayButton,
52
+ isSelected && dayButtonSelected,
53
+ isToday && dayButtonToday,
54
+ isDisabled && dayButtonDisabled,
55
+ isOutside && dayButtonOutside,
56
+ className,
57
+ );
58
+
59
+ return <button ref={ref} className={composed} {...props} />;
60
+ }
61
+
62
+ function Calendar({ className, components: userComponents, ...props }: DayPickerProps) {
63
+ const classNames = {
64
+ root: clsx(root, className),
65
+ months: months,
66
+ month: "",
67
+ month_caption: monthCaption,
68
+ caption_label: captionLabel,
69
+ nav: nav,
70
+ button_previous: buttonNav,
71
+ button_next: buttonNav,
72
+ chevron: "",
73
+ month_grid: monthGrid,
74
+ weekdays: "",
75
+ weekday: weekday,
76
+ weeks: "",
77
+ week: "",
78
+ day: day,
79
+ day_button: "",
80
+ footer: footer,
81
+ dropdowns: dropdowns,
82
+ dropdown: dropdown,
83
+ dropdown_root: "",
84
+ months_dropdown: "",
85
+ years_dropdown: "",
86
+ week_number: "",
87
+ week_number_header: "",
88
+ selected: "",
89
+ today: "",
90
+ disabled: "",
91
+ hidden: "",
92
+ outside: "",
93
+ focused: "",
94
+ range_start: "",
95
+ range_end: "",
96
+ range_middle: "",
97
+ weeks_before_enter: "",
98
+ weeks_before_exit: "",
99
+ weeks_after_enter: "",
100
+ weeks_after_exit: "",
101
+ caption_after_enter: "",
102
+ caption_after_exit: "",
103
+ caption_before_enter: "",
104
+ caption_before_exit: "",
105
+ };
106
+ const defaultComponents = {
107
+ Chevron: ({
108
+ orientation,
109
+ ...chevronProps
110
+ }: {
111
+ orientation?: "left" | "right" | "up" | "down";
112
+ }): React.ReactElement => {
113
+ if (orientation === "left") {
114
+ return (
115
+ <Button size="icon" variant="ghost">
116
+ <CaretLeftIcon {...chevronProps} aria-hidden="true" />
117
+ </Button>
118
+ );
119
+ }
120
+ if (orientation === "right") {
121
+ return (
122
+ <Button size="icon" variant="ghost">
123
+ <CaretRightIcon {...chevronProps} aria-hidden="true" />
124
+ </Button>
125
+ );
126
+ }
127
+ return (
128
+ <Button size="icon" variant="ghost">
129
+ <CaretUpDownIcon {...chevronProps} aria-hidden="true" />
130
+ </Button>
131
+ );
132
+ },
133
+ };
134
+ const mergedComponents = {
135
+ ...defaultComponents,
136
+ ...userComponents,
137
+ DayButton: StyledDayButton,
138
+ };
139
+
140
+ return <DayPicker classNames={classNames} components={mergedComponents} {...props} />;
141
+ }
142
+
143
+ export { Calendar };
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "https://blenx-ui.vercel.app/docs/docs-meta.schema.json",
3
+ "title": "Calendar",
4
+ "description": "A date calendar component built on react-day-picker. Supports single, range, and multiple date selection modes.",
5
+ "category": "Forms",
6
+ "status": "stable",
7
+ "keywords": ["calendar", "date", "datepicker", "day", "month"],
8
+ "related": ["DatePicker", "Button"]
9
+ }
@@ -0,0 +1 @@
1
+ export * from "./calendar";
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "calendar",
4
+ "type": "registry:ui",
5
+ "title": "Calendar",
6
+ "description": "A StyleX button component.",
7
+ "registryDependencies": ["button"],
8
+ "files": [
9
+ {
10
+ "file": "calendar.tsx",
11
+ "type": "registry:ui",
12
+ "target": "@ui/Calendar/calendar.tsx"
13
+ },
14
+ {
15
+ "file": "calendar.css.ts",
16
+ "type": "registry:file",
17
+ "target": "@ui/Calendar/calendar.css.ts"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,177 @@
1
+ import { MapPinIcon, ShoppingCartIcon, StarIcon, ChartBarIcon } from "@phosphor-icons/react";
2
+ import { Button } from "../Button/button";
3
+ import { Text } from "../Text/text";
4
+ import { Badge } from "../Badge/badge";
5
+ import { Avatar, AvatarFallback, AvatarImage } from "../Avatar/avatar";
6
+ import { HStack, VStack } from "../Stack/stack";
7
+ import { Box } from "../Box/box";
8
+ import { Card, CardBody, CardDescription, CardFooter, CardHeader, CardTitle } from "./card";
9
+
10
+ export function CardDemo() {
11
+ return (
12
+ <Card>
13
+ <CardHeader>
14
+ <CardTitle>Getting Started</CardTitle>
15
+ <CardDescription>
16
+ Learn how to install and use Blenx UI components in your project.
17
+ </CardDescription>
18
+ </CardHeader>
19
+ <CardBody>
20
+ <Text variant="body2">
21
+ Blenx UI provides a set of accessible, styleable React components built on Base UI
22
+ primitives and styled with StyleX.
23
+ </Text>
24
+ </CardBody>
25
+ <CardFooter>
26
+ <Button variant="outline" size="small">
27
+ Read docs
28
+ </Button>
29
+ <Button size="small">Install</Button>
30
+ </CardFooter>
31
+ </Card>
32
+ );
33
+ }
34
+
35
+ export function ProfileCardDemo() {
36
+ return (
37
+ <Card>
38
+ <CardHeader>
39
+ <HStack gap="medium" align="center">
40
+ <Avatar size="large">
41
+ <AvatarImage src="https://i.pravatar.cc/150?u=alex" alt="Alex Rivera" />
42
+ <AvatarFallback>AR</AvatarFallback>
43
+ </Avatar>
44
+ <VStack gap="xxsmall">
45
+ <HStack gap="xsmall" align="center">
46
+ <CardTitle>Alex Rivera</CardTitle>
47
+ <Badge variant="primary">Pro</Badge>
48
+ </HStack>
49
+ <HStack gap="xxsmall" align="center">
50
+ <MapPinIcon size={12} />
51
+ <Text variant="caption" color="secondary">
52
+ San Francisco, CA
53
+ </Text>
54
+ </HStack>
55
+ </VStack>
56
+ </HStack>
57
+ </CardHeader>
58
+ <CardBody>
59
+ <Text variant="body2">
60
+ Full-stack developer with 8+ years of experience building accessible, performant web
61
+ applications. Passionate about design systems and open source.
62
+ </Text>
63
+ </CardBody>
64
+ <CardFooter>
65
+ <HStack gap="small" justify="end" wrap>
66
+ <Button variant="ghost" size="small">
67
+ Message
68
+ </Button>
69
+ <Button size="small">Follow</Button>
70
+ </HStack>
71
+ </CardFooter>
72
+ </Card>
73
+ );
74
+ }
75
+
76
+ export function ProductCardDemo() {
77
+ return (
78
+ <Card>
79
+ <Box
80
+ height="auto"
81
+ width="full"
82
+ backgroundColor="info"
83
+ style={{
84
+ display: "flex",
85
+ alignItems: "center",
86
+ justifyContent: "center",
87
+ position: "relative",
88
+ borderTopLeftRadius: "inherit",
89
+ borderTopRightRadius: "inherit",
90
+ overflow: "hidden",
91
+ }}
92
+ >
93
+ <Badge variant="danger" style={{ position: "absolute", top: 8, left: 8 }}>
94
+ 20% OFF
95
+ </Badge>
96
+ <ShoppingCartIcon size={40} />
97
+ </Box>
98
+ <CardHeader>
99
+ <HStack gap="medium" justify="between" align="center">
100
+ <VStack gap="xxsmall">
101
+ <CardTitle>Pro Subscription</CardTitle>
102
+ <CardDescription>Annual billing - save 20%</CardDescription>
103
+ </VStack>
104
+ <HStack gap="xsmall" align="center">
105
+ <StarIcon size={14} />
106
+ <Text variant="caption" weight="semibold">
107
+ 4.9
108
+ </Text>
109
+ </HStack>
110
+ </HStack>
111
+ </CardHeader>
112
+ <CardBody>
113
+ <Text variant="body2">
114
+ Unlimited projects, advanced analytics, priority support, and team collaboration features.
115
+ Everything you need to scale your workflow.
116
+ </Text>
117
+ <HStack gap="xsmall" align="baseline" style={{ marginTop: 8 }}>
118
+ <Text variant="h3" weight="bold">
119
+ $29
120
+ </Text>
121
+ <Text variant="body3" color="secondary">
122
+ /month
123
+ </Text>
124
+ </HStack>
125
+ </CardBody>
126
+ <CardFooter>
127
+ <Button fullWidth>Subscribe Now</Button>
128
+ </CardFooter>
129
+ </Card>
130
+ );
131
+ }
132
+
133
+ export function StatCardDemo() {
134
+ return (
135
+ <Card>
136
+ <CardBody>
137
+ <HStack gap="medium" align="center" justify="between">
138
+ <VStack gap="xxsmall">
139
+ <Text variant="caption" color="secondary">
140
+ Total Revenue
141
+ </Text>
142
+ <Text variant="h3" weight="bold">
143
+ $48,250
144
+ </Text>
145
+ <HStack gap="xxsmall" align="center">
146
+ <Badge variant="sucess">+12.5%</Badge>
147
+ <Text variant="caption" color="secondary">
148
+ vs last month
149
+ </Text>
150
+ </HStack>
151
+ </VStack>
152
+ <Box
153
+ style={{
154
+ width: 48,
155
+ height: 48,
156
+ borderRadius: 12,
157
+ backgroundColor: "var(--color-primary-subtle)",
158
+ display: "flex",
159
+ alignItems: "center",
160
+ justifyContent: "center",
161
+ flexShrink: 0,
162
+ }}
163
+ >
164
+ <ChartBarIcon size={24} />
165
+ </Box>
166
+ </HStack>
167
+ </CardBody>
168
+ </Card>
169
+ );
170
+ }
171
+
172
+ export const demos = [
173
+ { name: "Default", component: CardDemo },
174
+ { name: "Profile Card", component: ProfileCardDemo },
175
+ { name: "Product Card", component: ProductCardDemo },
176
+ { name: "Stat Card", component: StatCardDemo },
177
+ ];
@@ -0,0 +1,47 @@
1
+ import { Stack } from "../Stack/stack";
2
+ import { Text } from "../Text/text";
3
+ import { Card, CardBody, CardDescription, CardFooter, CardHeader, CardTitle } from "./card";
4
+
5
+ export function DefaultStory() {
6
+ return (
7
+ <Stack gap="medium">
8
+ <Card padding="medium">
9
+ <CardHeader>
10
+ <CardTitle>Card Title</CardTitle>
11
+ <CardDescription>Card description text</CardDescription>
12
+ </CardHeader>
13
+ <CardBody>
14
+ <Text variant="body2">Main card content goes here.</Text>
15
+ </CardBody>
16
+ <CardFooter>
17
+ <Text variant="body3" color="secondary">
18
+ Card footer
19
+ </Text>
20
+ </CardFooter>
21
+ </Card>
22
+ </Stack>
23
+ );
24
+ }
25
+
26
+ export function PaddingVariantsStory() {
27
+ return (
28
+ <Stack gap="medium">
29
+ <Card padding="small">
30
+ <CardHeader padding="small">
31
+ <CardTitle>Small</CardTitle>
32
+ </CardHeader>
33
+ <CardBody padding="small">
34
+ <Text variant="body2">Small padding variant</Text>
35
+ </CardBody>
36
+ </Card>
37
+ <Card padding="large">
38
+ <CardHeader padding="large">
39
+ <CardTitle>Large</CardTitle>
40
+ </CardHeader>
41
+ <CardBody padding="large">
42
+ <Text variant="body2">Large padding variant</Text>
43
+ </CardBody>
44
+ </Card>
45
+ </Stack>
46
+ );
47
+ }
@@ -0,0 +1,32 @@
1
+ import { Surface, type SurfaceProps } from "../Surface/surface";
2
+
3
+ import { HStack, type HStackProps } from "../Stack/stack";
4
+ import { Box, type BoxProps } from "../Box/box";
5
+ import { Text, type TextProps } from "../Text";
6
+
7
+ function Card(props: SurfaceProps) {
8
+ return <Surface p="medium" withBorder variant="sunken" {...props} />;
9
+ }
10
+
11
+ function CardHeader(props: BoxProps) {
12
+ return <Box marginBottom={"md"} {...props} />;
13
+ }
14
+
15
+ function CardBody(props: BoxProps) {
16
+ return <Box {...props} />;
17
+ }
18
+
19
+ function CardFooter(props: HStackProps) {
20
+ return <HStack justify="end" gap="small" {...props} />;
21
+ }
22
+
23
+ function CardTitle(props: TextProps) {
24
+ return <Text variant="h2" {...props} />;
25
+ }
26
+
27
+ function CardDescription(props: TextProps) {
28
+ return <Text variant="body2" color="secondary" {...props} />;
29
+ }
30
+
31
+ export type { SurfaceProps as CardProps, TextProps as CardTitleProps };
32
+ export { Card, CardDescription, CardTitle, CardFooter, CardBody, CardHeader };
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "https://blenx-ui.vercel.app/docs/docs-meta.schema.json",
3
+ "title": "Card",
4
+ "description": "A content card container with header, body, footer, title, and description sub-components.",
5
+ "category": "Data Display",
6
+ "status": "stable",
7
+ "keywords": ["card", "container", "panel", "content", "surface"],
8
+ "related": ["Surface", "Box"]
9
+ }
@@ -0,0 +1 @@
1
+ export * from "./card";
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "card",
4
+ "type": "registry:ui",
5
+ "title": "Card",
6
+ "description": "A StyleX button component.",
7
+ "registryDependencies": ["box"],
8
+ "files": [
9
+ {
10
+ "file": "card.tsx",
11
+ "type": "registry:ui",
12
+ "target": "@ui/Card/card.tsx"
13
+ }
14
+ ]
15
+ }