@archytechtor/ui 0.0.0-stage → 0.1.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 (449) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -2
  3. package/dist/components/accordion/accordion.d.ts +25 -0
  4. package/dist/components/accordion/accordion.js +88 -0
  5. package/dist/components/accordion/index.d.ts +3 -0
  6. package/dist/components/accordion/index.js +1 -0
  7. package/dist/components/accordion/types.d.ts +39 -0
  8. package/dist/components/alert/alert.d.ts +25 -0
  9. package/dist/components/alert/alert.js +59 -0
  10. package/dist/components/alert/index.d.ts +3 -0
  11. package/dist/components/alert/index.js +3 -0
  12. package/dist/components/alert/types.d.ts +32 -0
  13. package/dist/components/alert/types.js +19 -0
  14. package/dist/components/alert-dialog/alert-dialog.d.ts +73 -0
  15. package/dist/components/alert-dialog/alert-dialog.js +170 -0
  16. package/dist/components/alert-dialog/index.d.ts +3 -0
  17. package/dist/components/alert-dialog/index.js +1 -0
  18. package/dist/components/alert-dialog/types.d.ts +80 -0
  19. package/dist/components/aspect-ratio/aspect-ratio.d.ts +8 -0
  20. package/dist/components/aspect-ratio/aspect-ratio.js +20 -0
  21. package/dist/components/aspect-ratio/index.d.ts +3 -0
  22. package/dist/components/aspect-ratio/index.js +1 -0
  23. package/dist/components/aspect-ratio/types.d.ts +8 -0
  24. package/dist/components/attachment/attachment.d.ts +57 -0
  25. package/dist/components/attachment/attachment.js +139 -0
  26. package/dist/components/attachment/index.d.ts +3 -0
  27. package/dist/components/attachment/index.js +3 -0
  28. package/dist/components/attachment/types.d.ts +79 -0
  29. package/dist/components/attachment/types.js +43 -0
  30. package/dist/components/avatar/avatar.d.ts +39 -0
  31. package/dist/components/avatar/avatar.js +88 -0
  32. package/dist/components/avatar/index.d.ts +3 -0
  33. package/dist/components/avatar/index.js +3 -0
  34. package/dist/components/avatar/types.d.ts +54 -0
  35. package/dist/components/avatar/types.js +21 -0
  36. package/dist/components/badge/badge.d.ts +7 -0
  37. package/dist/components/badge/badge.js +23 -0
  38. package/dist/components/badge/index.d.ts +3 -0
  39. package/dist/components/badge/index.js +3 -0
  40. package/dist/components/badge/types.d.ts +21 -0
  41. package/dist/components/badge/types.js +26 -0
  42. package/dist/components/breadcrumb/breadcrumb.d.ts +43 -0
  43. package/dist/components/breadcrumb/breadcrumb.js +115 -0
  44. package/dist/components/breadcrumb/index.d.ts +3 -0
  45. package/dist/components/breadcrumb/index.js +1 -0
  46. package/dist/components/breadcrumb/types.d.ts +36 -0
  47. package/dist/components/bubble/bubble.d.ts +25 -0
  48. package/dist/components/bubble/bubble.js +69 -0
  49. package/dist/components/bubble/index.d.ts +3 -0
  50. package/dist/components/bubble/index.js +3 -0
  51. package/dist/components/bubble/types.d.ts +51 -0
  52. package/dist/components/bubble/types.js +60 -0
  53. package/dist/components/button/button.d.ts +7 -0
  54. package/dist/components/button/button.js +155 -0
  55. package/dist/components/button/index.d.ts +4 -0
  56. package/dist/components/button/index.js +4 -0
  57. package/dist/components/button/types.d.ts +80 -0
  58. package/dist/components/button/types.js +99 -0
  59. package/dist/components/button/use-hold-to-confirm.d.ts +25 -0
  60. package/dist/components/button/use-hold-to-confirm.js +161 -0
  61. package/dist/components/button-group/button-group.d.ts +20 -0
  62. package/dist/components/button-group/button-group.js +62 -0
  63. package/dist/components/button-group/index.d.ts +3 -0
  64. package/dist/components/button-group/index.js +3 -0
  65. package/dist/components/button-group/types.d.ts +30 -0
  66. package/dist/components/button-group/types.js +19 -0
  67. package/dist/components/calendar/calendar.d.ts +15 -0
  68. package/dist/components/calendar/calendar.js +157 -0
  69. package/dist/components/calendar/index.d.ts +3 -0
  70. package/dist/components/calendar/index.js +1 -0
  71. package/dist/components/calendar/types.d.ts +21 -0
  72. package/dist/components/card/card.d.ts +43 -0
  73. package/dist/components/card/card.js +97 -0
  74. package/dist/components/card/index.d.ts +3 -0
  75. package/dist/components/card/index.js +3 -0
  76. package/dist/components/card/types.d.ts +44 -0
  77. package/dist/components/card/types.js +19 -0
  78. package/dist/components/carousel/carousel.d.ts +36 -0
  79. package/dist/components/carousel/carousel.js +190 -0
  80. package/dist/components/carousel/index.d.ts +3 -0
  81. package/dist/components/carousel/index.js +1 -0
  82. package/dist/components/carousel/types.d.ts +79 -0
  83. package/dist/components/chart/chart.d.ts +35 -0
  84. package/dist/components/chart/chart.js +212 -0
  85. package/dist/components/chart/index.d.ts +3 -0
  86. package/dist/components/chart/index.js +1 -0
  87. package/dist/components/chart/types.d.ts +89 -0
  88. package/dist/components/chart/types.js +7 -0
  89. package/dist/components/checkbox/checkbox.d.ts +7 -0
  90. package/dist/components/checkbox/checkbox.js +31 -0
  91. package/dist/components/checkbox/index.d.ts +3 -0
  92. package/dist/components/checkbox/index.js +1 -0
  93. package/dist/components/checkbox/types.d.ts +25 -0
  94. package/dist/components/code-block/code-block.d.ts +49 -0
  95. package/dist/components/code-block/code-block.js +188 -0
  96. package/dist/components/code-block/highlighter.d.ts +15 -0
  97. package/dist/components/code-block/highlighter.js +123 -0
  98. package/dist/components/code-block/index.d.ts +5 -0
  99. package/dist/components/code-block/index.js +5 -0
  100. package/dist/components/code-block/types.d.ts +94 -0
  101. package/dist/components/code-block/types.js +38 -0
  102. package/dist/components/code-block/use-highlighted-code.d.ts +9 -0
  103. package/dist/components/code-block/use-highlighted-code.js +67 -0
  104. package/dist/components/collapsible/collapsible.d.ts +19 -0
  105. package/dist/components/collapsible/collapsible.js +44 -0
  106. package/dist/components/collapsible/index.d.ts +3 -0
  107. package/dist/components/collapsible/index.js +1 -0
  108. package/dist/components/collapsible/types.d.ts +26 -0
  109. package/dist/components/combobox/combobox.d.ts +104 -0
  110. package/dist/components/combobox/combobox.js +365 -0
  111. package/dist/components/combobox/index.d.ts +3 -0
  112. package/dist/components/combobox/index.js +1 -0
  113. package/dist/components/combobox/types.d.ts +229 -0
  114. package/dist/components/command/command.d.ts +55 -0
  115. package/dist/components/command/command.js +179 -0
  116. package/dist/components/command/index.d.ts +3 -0
  117. package/dist/components/command/index.js +1 -0
  118. package/dist/components/command/types.d.ts +69 -0
  119. package/dist/components/context-menu/context-menu.d.ts +92 -0
  120. package/dist/components/context-menu/context-menu.js +270 -0
  121. package/dist/components/context-menu/index.d.ts +3 -0
  122. package/dist/components/context-menu/index.js +1 -0
  123. package/dist/components/context-menu/types.d.ts +138 -0
  124. package/dist/components/data-table/data-table-features.d.ts +21 -0
  125. package/dist/components/data-table/data-table-features.js +22 -0
  126. package/dist/components/data-table/data-table.d.ts +69 -0
  127. package/dist/components/data-table/data-table.js +283 -0
  128. package/dist/components/data-table/index.d.ts +4 -0
  129. package/dist/components/data-table/index.js +3 -0
  130. package/dist/components/data-table/types.d.ts +63 -0
  131. package/dist/components/date-input/date-input.d.ts +7 -0
  132. package/dist/components/date-input/date-input.js +147 -0
  133. package/dist/components/date-input/index.d.ts +3 -0
  134. package/dist/components/date-input/index.js +1 -0
  135. package/dist/components/date-input/types.d.ts +27 -0
  136. package/dist/components/date-picker/date-picker.d.ts +7 -0
  137. package/dist/components/date-picker/date-picker.js +74 -0
  138. package/dist/components/date-picker/index.d.ts +3 -0
  139. package/dist/components/date-picker/index.js +1 -0
  140. package/dist/components/date-picker/types.d.ts +38 -0
  141. package/dist/components/date-range-picker/date-range-picker.d.ts +7 -0
  142. package/dist/components/date-range-picker/date-range-picker.js +89 -0
  143. package/dist/components/date-range-picker/index.d.ts +3 -0
  144. package/dist/components/date-range-picker/index.js +1 -0
  145. package/dist/components/date-range-picker/types.d.ts +43 -0
  146. package/dist/components/dialog/dialog.d.ts +61 -0
  147. package/dist/components/dialog/dialog.js +160 -0
  148. package/dist/components/dialog/index.d.ts +3 -0
  149. package/dist/components/dialog/index.js +1 -0
  150. package/dist/components/dialog/types.d.ts +68 -0
  151. package/dist/components/drawer/drawer.d.ts +69 -0
  152. package/dist/components/drawer/drawer.js +245 -0
  153. package/dist/components/drawer/index.d.ts +3 -0
  154. package/dist/components/drawer/index.js +1 -0
  155. package/dist/components/drawer/types.d.ts +93 -0
  156. package/dist/components/dropdown-menu/dropdown-menu.d.ts +92 -0
  157. package/dist/components/dropdown-menu/dropdown-menu.js +268 -0
  158. package/dist/components/dropdown-menu/index.d.ts +3 -0
  159. package/dist/components/dropdown-menu/index.js +1 -0
  160. package/dist/components/dropdown-menu/types.d.ts +143 -0
  161. package/dist/components/empty/empty.d.ts +37 -0
  162. package/dist/components/empty/empty.js +84 -0
  163. package/dist/components/empty/index.d.ts +3 -0
  164. package/dist/components/empty/index.js +3 -0
  165. package/dist/components/empty/types.d.ts +39 -0
  166. package/dist/components/empty/types.js +13 -0
  167. package/dist/components/expanded-card/expanded-card.d.ts +43 -0
  168. package/dist/components/expanded-card/expanded-card.js +352 -0
  169. package/dist/components/expanded-card/index.d.ts +3 -0
  170. package/dist/components/expanded-card/index.js +1 -0
  171. package/dist/components/expanded-card/types.d.ts +52 -0
  172. package/dist/components/field/field.d.ts +62 -0
  173. package/dist/components/field/field.js +173 -0
  174. package/dist/components/field/index.d.ts +3 -0
  175. package/dist/components/field/index.js +3 -0
  176. package/dist/components/field/types.d.ts +81 -0
  177. package/dist/components/field/types.js +21 -0
  178. package/dist/components/form/form.d.ts +49 -0
  179. package/dist/components/form/form.js +136 -0
  180. package/dist/components/form/index.d.ts +3 -0
  181. package/dist/components/form/index.js +1 -0
  182. package/dist/components/form/types.d.ts +59 -0
  183. package/dist/components/hover-card/hover-card.d.ts +19 -0
  184. package/dist/components/hover-card/hover-card.js +63 -0
  185. package/dist/components/hover-card/index.d.ts +3 -0
  186. package/dist/components/hover-card/index.js +1 -0
  187. package/dist/components/hover-card/types.d.ts +27 -0
  188. package/dist/components/image-gallery/image-gallery.d.ts +8 -0
  189. package/dist/components/image-gallery/image-gallery.js +294 -0
  190. package/dist/components/image-gallery/index.d.ts +4 -0
  191. package/dist/components/image-gallery/index.js +3 -0
  192. package/dist/components/image-gallery/masonry.d.ts +11 -0
  193. package/dist/components/image-gallery/masonry.js +62 -0
  194. package/dist/components/image-gallery/types.d.ts +80 -0
  195. package/dist/components/input/index.d.ts +3 -0
  196. package/dist/components/input/index.js +1 -0
  197. package/dist/components/input/input.d.ts +7 -0
  198. package/dist/components/input/input.js +18 -0
  199. package/dist/components/input/types.d.ts +28 -0
  200. package/dist/components/input-group/index.d.ts +3 -0
  201. package/dist/components/input-group/index.js +3 -0
  202. package/dist/components/input-group/input-group.d.ts +37 -0
  203. package/dist/components/input-group/input-group.js +103 -0
  204. package/dist/components/input-group/types.d.ts +64 -0
  205. package/dist/components/input-group/types.js +31 -0
  206. package/dist/components/input-otp/index.d.ts +3 -0
  207. package/dist/components/input-otp/index.js +1 -0
  208. package/dist/components/input-otp/input-otp.d.ts +25 -0
  209. package/dist/components/input-otp/input-otp.js +76 -0
  210. package/dist/components/input-otp/types.d.ts +43 -0
  211. package/dist/components/item/index.d.ts +3 -0
  212. package/dist/components/item/index.js +3 -0
  213. package/dist/components/item/item.d.ts +61 -0
  214. package/dist/components/item/item.js +149 -0
  215. package/dist/components/item/types.d.ts +75 -0
  216. package/dist/components/item/types.js +48 -0
  217. package/dist/components/kbd/index.d.ts +3 -0
  218. package/dist/components/kbd/index.js +1 -0
  219. package/dist/components/kbd/kbd.d.ts +13 -0
  220. package/dist/components/kbd/kbd.js +30 -0
  221. package/dist/components/kbd/types.d.ts +9 -0
  222. package/dist/components/label/index.d.ts +3 -0
  223. package/dist/components/label/index.js +1 -0
  224. package/dist/components/label/label.d.ts +7 -0
  225. package/dist/components/label/label.js +17 -0
  226. package/dist/components/label/types.d.ts +8 -0
  227. package/dist/components/loader/index.d.ts +3 -0
  228. package/dist/components/loader/index.js +3 -0
  229. package/dist/components/loader/loader.d.ts +8 -0
  230. package/dist/components/loader/loader.js +386 -0
  231. package/dist/components/loader/types.d.ts +27 -0
  232. package/dist/components/loader/types.js +58 -0
  233. package/dist/components/marker/index.d.ts +3 -0
  234. package/dist/components/marker/index.js +3 -0
  235. package/dist/components/marker/marker.d.ts +19 -0
  236. package/dist/components/marker/marker.js +51 -0
  237. package/dist/components/marker/types.d.ts +30 -0
  238. package/dist/components/marker/types.js +16 -0
  239. package/dist/components/menubar/index.d.ts +3 -0
  240. package/dist/components/menubar/index.js +1 -0
  241. package/dist/components/menubar/menubar.d.ts +98 -0
  242. package/dist/components/menubar/menubar.js +284 -0
  243. package/dist/components/menubar/types.d.ts +146 -0
  244. package/dist/components/message/index.d.ts +3 -0
  245. package/dist/components/message/index.js +1 -0
  246. package/dist/components/message/message.d.ts +37 -0
  247. package/dist/components/message/message.js +83 -0
  248. package/dist/components/message/types.d.ts +32 -0
  249. package/dist/components/message-scroller/index.d.ts +4 -0
  250. package/dist/components/message-scroller/index.js +3 -0
  251. package/dist/components/message-scroller/message-scroller-primitive.d.ts +21 -0
  252. package/dist/components/message-scroller/message-scroller-primitive.js +1349 -0
  253. package/dist/components/message-scroller/message-scroller.d.ts +39 -0
  254. package/dist/components/message-scroller/message-scroller.js +103 -0
  255. package/dist/components/message-scroller/types.d.ts +107 -0
  256. package/dist/components/money-input/index.d.ts +3 -0
  257. package/dist/components/money-input/index.js +1 -0
  258. package/dist/components/money-input/money-input.d.ts +7 -0
  259. package/dist/components/money-input/money-input.js +143 -0
  260. package/dist/components/money-input/types.d.ts +20 -0
  261. package/dist/components/morph-image/index.d.ts +3 -0
  262. package/dist/components/morph-image/index.js +3 -0
  263. package/dist/components/morph-image/morph-image.d.ts +8 -0
  264. package/dist/components/morph-image/morph-image.js +155 -0
  265. package/dist/components/morph-image/types.d.ts +38 -0
  266. package/dist/components/morph-image/types.js +18 -0
  267. package/dist/components/native-select/index.d.ts +3 -0
  268. package/dist/components/native-select/index.js +3 -0
  269. package/dist/components/native-select/native-select.d.ts +20 -0
  270. package/dist/components/native-select/native-select.js +57 -0
  271. package/dist/components/native-select/types.d.ts +52 -0
  272. package/dist/components/native-select/types.js +23 -0
  273. package/dist/components/navigation-menu/index.d.ts +3 -0
  274. package/dist/components/navigation-menu/index.js +3 -0
  275. package/dist/components/navigation-menu/navigation-menu.d.ts +50 -0
  276. package/dist/components/navigation-menu/navigation-menu.js +145 -0
  277. package/dist/components/navigation-menu/types.d.ts +79 -0
  278. package/dist/components/navigation-menu/types.js +15 -0
  279. package/dist/components/number-stepper/index.d.ts +3 -0
  280. package/dist/components/number-stepper/index.js +3 -0
  281. package/dist/components/number-stepper/number-stepper.d.ts +9 -0
  282. package/dist/components/number-stepper/number-stepper.js +223 -0
  283. package/dist/components/number-stepper/types.d.ts +47 -0
  284. package/dist/components/number-stepper/types.js +174 -0
  285. package/dist/components/pagination/index.d.ts +3 -0
  286. package/dist/components/pagination/index.js +1 -0
  287. package/dist/components/pagination/pagination.d.ts +43 -0
  288. package/dist/components/pagination/pagination.js +121 -0
  289. package/dist/components/pagination/types.d.ts +37 -0
  290. package/dist/components/phone-input/index.d.ts +3 -0
  291. package/dist/components/phone-input/index.js +1 -0
  292. package/dist/components/phone-input/phone-input.d.ts +7 -0
  293. package/dist/components/phone-input/phone-input.js +54 -0
  294. package/dist/components/phone-input/types.d.ts +12 -0
  295. package/dist/components/popover/index.d.ts +3 -0
  296. package/dist/components/popover/index.js +1 -0
  297. package/dist/components/popover/popover.d.ts +37 -0
  298. package/dist/components/popover/popover.js +100 -0
  299. package/dist/components/popover/types.d.ts +51 -0
  300. package/dist/components/progress/index.d.ts +3 -0
  301. package/dist/components/progress/index.js +1 -0
  302. package/dist/components/progress/progress.d.ts +32 -0
  303. package/dist/components/progress/progress.js +100 -0
  304. package/dist/components/progress/types.d.ts +31 -0
  305. package/dist/components/questionnaire/index.d.ts +3 -0
  306. package/dist/components/questionnaire/index.js +1 -0
  307. package/dist/components/questionnaire/questionnaire-primitive.js +1563 -0
  308. package/dist/components/questionnaire/questionnaire.d.ts +91 -0
  309. package/dist/components/questionnaire/questionnaire.js +315 -0
  310. package/dist/components/questionnaire/types.d.ts +203 -0
  311. package/dist/components/radio-group/index.d.ts +3 -0
  312. package/dist/components/radio-group/index.js +1 -0
  313. package/dist/components/radio-group/radio-group.d.ts +13 -0
  314. package/dist/components/radio-group/radio-group.js +44 -0
  315. package/dist/components/radio-group/types.d.ts +33 -0
  316. package/dist/components/reorder-list/index.d.ts +3 -0
  317. package/dist/components/reorder-list/index.js +1 -0
  318. package/dist/components/reorder-list/reorder-list.d.ts +19 -0
  319. package/dist/components/reorder-list/reorder-list.js +279 -0
  320. package/dist/components/reorder-list/types.d.ts +65 -0
  321. package/dist/components/resizable/index.d.ts +3 -0
  322. package/dist/components/resizable/index.js +1 -0
  323. package/dist/components/resizable/resizable.d.ts +19 -0
  324. package/dist/components/resizable/resizable.js +44 -0
  325. package/dist/components/resizable/types.d.ts +89 -0
  326. package/dist/components/scroll-area/index.d.ts +3 -0
  327. package/dist/components/scroll-area/index.js +1 -0
  328. package/dist/components/scroll-area/scroll-area.d.ts +13 -0
  329. package/dist/components/scroll-area/scroll-area.js +47 -0
  330. package/dist/components/scroll-area/types.d.ts +19 -0
  331. package/dist/components/select/index.d.ts +3 -0
  332. package/dist/components/select/index.js +1 -0
  333. package/dist/components/select/select.d.ts +61 -0
  334. package/dist/components/select/select.js +183 -0
  335. package/dist/components/select/types.d.ts +100 -0
  336. package/dist/components/separator/index.d.ts +3 -0
  337. package/dist/components/separator/index.js +1 -0
  338. package/dist/components/separator/separator.d.ts +7 -0
  339. package/dist/components/separator/separator.js +20 -0
  340. package/dist/components/separator/types.d.ts +9 -0
  341. package/dist/components/sheet/index.d.ts +3 -0
  342. package/dist/components/sheet/index.js +1 -0
  343. package/dist/components/sheet/sheet.d.ts +61 -0
  344. package/dist/components/sheet/sheet.js +155 -0
  345. package/dist/components/sheet/types.d.ts +69 -0
  346. package/dist/components/sidebar/index.d.ts +3 -0
  347. package/dist/components/sidebar/index.js +3 -0
  348. package/dist/components/sidebar/sidebar.d.ts +145 -0
  349. package/dist/components/sidebar/sidebar.js +550 -0
  350. package/dist/components/sidebar/types.d.ts +186 -0
  351. package/dist/components/sidebar/types.js +42 -0
  352. package/dist/components/sidebar/use-mobile.js +21 -0
  353. package/dist/components/skeleton/index.d.ts +3 -0
  354. package/dist/components/skeleton/index.js +1 -0
  355. package/dist/components/skeleton/skeleton.d.ts +8 -0
  356. package/dist/components/skeleton/skeleton.js +18 -0
  357. package/dist/components/skeleton/types.d.ts +5 -0
  358. package/dist/components/slider/index.d.ts +3 -0
  359. package/dist/components/slider/index.js +1 -0
  360. package/dist/components/slider/slider.d.ts +7 -0
  361. package/dist/components/slider/slider.js +106 -0
  362. package/dist/components/slider/types.d.ts +39 -0
  363. package/dist/components/spinner/index.d.ts +3 -0
  364. package/dist/components/spinner/index.js +1 -0
  365. package/dist/components/spinner/spinner.d.ts +7 -0
  366. package/dist/components/spinner/spinner.js +21 -0
  367. package/dist/components/spinner/types.d.ts +8 -0
  368. package/dist/components/switch/index.d.ts +3 -0
  369. package/dist/components/switch/index.js +3 -0
  370. package/dist/components/switch/switch.d.ts +7 -0
  371. package/dist/components/switch/switch.js +32 -0
  372. package/dist/components/switch/types.d.ts +37 -0
  373. package/dist/components/switch/types.js +23 -0
  374. package/dist/components/table/index.d.ts +3 -0
  375. package/dist/components/table/index.js +1 -0
  376. package/dist/components/table/table.d.ts +49 -0
  377. package/dist/components/table/table.js +112 -0
  378. package/dist/components/table/types.d.ts +33 -0
  379. package/dist/components/tabs/index.d.ts +3 -0
  380. package/dist/components/tabs/index.js +3 -0
  381. package/dist/components/tabs/tabs.d.ts +25 -0
  382. package/dist/components/tabs/tabs.js +81 -0
  383. package/dist/components/tabs/types.d.ts +61 -0
  384. package/dist/components/tabs/types.js +18 -0
  385. package/dist/components/textarea/index.d.ts +3 -0
  386. package/dist/components/textarea/index.js +1 -0
  387. package/dist/components/textarea/textarea.d.ts +7 -0
  388. package/dist/components/textarea/textarea.js +17 -0
  389. package/dist/components/textarea/types.d.ts +26 -0
  390. package/dist/components/toast/index.d.ts +3 -0
  391. package/dist/components/toast/index.js +1 -0
  392. package/dist/components/toast/toast.d.ts +63 -0
  393. package/dist/components/toast/toast.js +321 -0
  394. package/dist/components/toast/types.d.ts +120 -0
  395. package/dist/components/toggle/index.d.ts +3 -0
  396. package/dist/components/toggle/index.js +3 -0
  397. package/dist/components/toggle/toggle.d.ts +7 -0
  398. package/dist/components/toggle/toggle.js +32 -0
  399. package/dist/components/toggle/types.d.ts +35 -0
  400. package/dist/components/toggle/types.js +37 -0
  401. package/dist/components/toggle-group/index.d.ts +3 -0
  402. package/dist/components/toggle-group/index.js +1 -0
  403. package/dist/components/toggle-group/toggle-group.d.ts +13 -0
  404. package/dist/components/toggle-group/toggle-group.js +88 -0
  405. package/dist/components/toggle-group/types.d.ts +52 -0
  406. package/dist/components/tooltip/index.d.ts +3 -0
  407. package/dist/components/tooltip/index.js +1 -0
  408. package/dist/components/tooltip/tooltip.d.ts +25 -0
  409. package/dist/components/tooltip/tooltip.js +79 -0
  410. package/dist/components/tooltip/types.d.ts +48 -0
  411. package/dist/components/trace/index.d.ts +3 -0
  412. package/dist/components/trace/index.js +1 -0
  413. package/dist/components/trace/trace.d.ts +52 -0
  414. package/dist/components/trace/trace.js +132 -0
  415. package/dist/components/trace/types.d.ts +54 -0
  416. package/dist/components/typography/index.d.ts +3 -0
  417. package/dist/components/typography/index.js +3 -0
  418. package/dist/components/typography/types.d.ts +29 -0
  419. package/dist/components/typography/types.js +25 -0
  420. package/dist/components/typography/typography.d.ts +7 -0
  421. package/dist/components/typography/typography.js +40 -0
  422. package/dist/components/video-player/index.d.ts +6 -0
  423. package/dist/components/video-player/index.js +5 -0
  424. package/dist/components/video-player/types.d.ts +143 -0
  425. package/dist/components/video-player/use-video-player.js +319 -0
  426. package/dist/components/video-player/video-player-context.d.ts +45 -0
  427. package/dist/components/video-player/video-player-context.js +15 -0
  428. package/dist/components/video-player/video-player-controls.d.ts +38 -0
  429. package/dist/components/video-player/video-player-controls.js +226 -0
  430. package/dist/components/video-player/video-player-overlay.d.ts +13 -0
  431. package/dist/components/video-player/video-player-overlay.js +113 -0
  432. package/dist/components/video-player/video-player.d.ts +8 -0
  433. package/dist/components/video-player/video-player.js +139 -0
  434. package/dist/index.d.ts +244 -0
  435. package/dist/index.js +114 -0
  436. package/dist/lib/floating.d.ts +44 -0
  437. package/dist/lib/focus-source.js +51 -0
  438. package/dist/lib/format.d.ts +67 -0
  439. package/dist/lib/format.js +130 -0
  440. package/dist/lib/locale.d.ts +104 -0
  441. package/dist/lib/locale.js +103 -0
  442. package/dist/lib/part-props.d.ts +15 -0
  443. package/dist/lib/use-controllable-state.js +22 -0
  444. package/dist/lib/utils.d.ts +9 -0
  445. package/dist/lib/utils.js +16 -0
  446. package/dist/styles/index.css +126 -0
  447. package/dist/styles/theme.css +80 -0
  448. package/dist/styles/utilities.css +553 -0
  449. package/package.json +89 -3
@@ -0,0 +1,51 @@
1
+ import { cn } from "../../lib/utils.js";
2
+ import { markerVariants } from "./types.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { mergeProps } from "@base-ui/react/merge-props";
5
+ import { useRender } from "@base-ui/react/use-render";
6
+ // src/components/marker/marker.tsx
7
+ /**
8
+ * Отметка: короткая служебная строка в ленте — событие, статус, разделитель по дате
9
+ * @param props - пропсы отметки
10
+ * @returns отметка или дочерний элемент в её стилях (render)
11
+ */
12
+ function Marker({ className, variant = "default", render, ...props }) {
13
+ const classes = cn(markerVariants({ variant }), className);
14
+ return useRender({
15
+ defaultTagName: "div",
16
+ render,
17
+ props: mergeProps({
18
+ "data-slot": "marker",
19
+ "data-variant": variant,
20
+ className: classes
21
+ }, props)
22
+ });
23
+ }
24
+ /**
25
+ * Иконка отметки: декоративная, скрыта от скринридера
26
+ * @param props - пропсы иконки
27
+ * @returns обёртка иконки 16px
28
+ */
29
+ function MarkerIcon({ className, ...props }) {
30
+ const classes = cn("size-4", "shrink-0", "[&_svg:not([class*=size-])]:size-4", className);
31
+ return /* @__PURE__ */ jsx("span", {
32
+ "data-slot": "marker-icon",
33
+ "aria-hidden": true,
34
+ className: classes,
35
+ ...props
36
+ });
37
+ }
38
+ /**
39
+ * Текст отметки
40
+ * @param props - пропсы текста
41
+ * @returns текст
42
+ */
43
+ function MarkerContent({ className, ...props }) {
44
+ const classes = cn("min-w-0", "wrap-break-word", "group-data-[variant=separator]/marker:flex-none", "group-data-[variant=separator]/marker:text-center", "*:[a]:underline", "*:[a]:underline-offset-3", "*:[a]:hover:text-foreground", className);
45
+ return /* @__PURE__ */ jsx("span", {
46
+ "data-slot": "marker-content",
47
+ className: classes,
48
+ ...props
49
+ });
50
+ }
51
+ export { Marker, MarkerContent, MarkerIcon };
@@ -0,0 +1,30 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { ComponentProps } from "react";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ /**
5
+ * Стили отметки: строка, разделитель с линиями по бокам или строка с нижней границей.
6
+ * Ссылка (render={<a />}) подчёркнута и темнеет при наведении
7
+ */
8
+ export declare const markerVariants: (props?: ({
9
+ variant?: "separator" | "default" | "border" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ /**
12
+ * Варианты оформления отметки
13
+ */
14
+ type MarkerVariantsT = VariantProps<typeof markerVariants>;
15
+ /**
16
+ * Пропсы отметки
17
+ */
18
+ export type MarkerPropsT = useRender.ComponentProps<'div'> & {
19
+ /** Оформление: default — строка, separator — текст между линиями, border — строка с нижней границей */
20
+ variant?: MarkerVariantsT['variant'];
21
+ };
22
+ /**
23
+ * Пропсы иконки отметки
24
+ */
25
+ export type MarkerIconPropsT = ComponentProps<'span'>;
26
+ /**
27
+ * Пропсы текста отметки
28
+ */
29
+ export type MarkerContentPropsT = ComponentProps<'span'>;
30
+ export {};
@@ -0,0 +1,16 @@
1
+ import { cva } from "class-variance-authority";
2
+ // src/components/marker/types.ts
3
+ /**
4
+ * Стили отметки: строка, разделитель с линиями по бокам или строка с нижней границей.
5
+ * Ссылка (render={<a />}) подчёркнута и темнеет при наведении
6
+ */
7
+ const markerVariants = cva([
8
+ "group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground",
9
+ "[a]:underline [a]:underline-offset-3 [a]:hover:text-foreground",
10
+ "[&_svg:not([class*=size-])]:size-4"
11
+ ], { variants: { variant: {
12
+ default: "",
13
+ separator: ["before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border", "after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border"],
14
+ border: "border-b border-border pb-2"
15
+ } } });
16
+ export { markerVariants };
@@ -0,0 +1,3 @@
1
+ import { MenubarCheckboxItemPropsT, MenubarContentPropsT, MenubarGroupPropsT, MenubarItemPropsT, MenubarItemVariantT, MenubarLabelPropsT, MenubarMenuPropsT, MenubarPortalPropsT, MenubarPropsT, MenubarRadioGroupPropsT, MenubarRadioItemPropsT, MenubarSeparatorPropsT, MenubarShortcutPropsT, MenubarSubContentPropsT, MenubarSubPropsT, MenubarSubTriggerPropsT, MenubarTriggerPropsT } from "./types.js";
2
+ import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "./menubar.js";
3
+ export { Menubar, MenubarCheckboxItem, type MenubarCheckboxItemPropsT, MenubarContent, type MenubarContentPropsT, MenubarGroup, type MenubarGroupPropsT, MenubarItem, type MenubarItemPropsT, type MenubarItemVariantT, MenubarLabel, type MenubarLabelPropsT, MenubarMenu, type MenubarMenuPropsT, MenubarPortal, type MenubarPortalPropsT, type MenubarPropsT, MenubarRadioGroup, type MenubarRadioGroupPropsT, MenubarRadioItem, type MenubarRadioItemPropsT, MenubarSeparator, type MenubarSeparatorPropsT, MenubarShortcut, type MenubarShortcutPropsT, MenubarSub, MenubarSubContent, type MenubarSubContentPropsT, type MenubarSubPropsT, MenubarSubTrigger, type MenubarSubTriggerPropsT, MenubarTrigger, type MenubarTriggerPropsT };
@@ -0,0 +1 @@
1
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "./menubar.js";
@@ -0,0 +1,98 @@
1
+ import { MenubarCheckboxItemPropsT, MenubarContentPropsT, MenubarGroupPropsT, MenubarItemPropsT, MenubarLabelPropsT, MenubarMenuPropsT, MenubarPortalPropsT, MenubarPropsT, MenubarRadioGroupPropsT, MenubarRadioItemPropsT, MenubarSeparatorPropsT, MenubarShortcutPropsT, MenubarSubContentPropsT, MenubarSubPropsT, MenubarSubTriggerPropsT, MenubarTriggerPropsT } from "./types.js";
2
+ /**
3
+ * Строка меню: постоянно видимый ряд меню, как в настольных приложениях
4
+ * @param props - пропсы строки
5
+ * @returns div с role="menubar"
6
+ */
7
+ export declare function Menubar({ className, ...props }: MenubarPropsT): import("react").JSX.Element;
8
+ /**
9
+ * Меню в строке: кнопка и выпадающий список
10
+ * @param props - пропсы меню
11
+ * @returns корень без своей разметки
12
+ */
13
+ export declare function MenubarMenu({ onOpenChange, ...props }: MenubarMenuPropsT): import("react").JSX.Element;
14
+ /**
15
+ * Портал: переносит меню в конец body. MenubarContent рендерит его сам
16
+ * @param props - пропсы портала
17
+ * @returns портал
18
+ */
19
+ export declare function MenubarPortal(props: MenubarPortalPropsT): import("react").JSX.Element;
20
+ /**
21
+ * Кнопка меню в строке: открывает список
22
+ * @param props - пропсы кнопки
23
+ * @returns кнопка с role="menuitem"
24
+ */
25
+ export declare function MenubarTrigger({ className, ...props }: MenubarTriggerPropsT): import("react").JSX.Element;
26
+ /**
27
+ * Содержимое меню: рендерится в портале под кнопкой
28
+ * @param props - пропсы содержимого; по умолчанию align="start", alignOffset={-4}, sideOffset={8}
29
+ * @returns портал с меню
30
+ */
31
+ export declare function MenubarContent({ className, side, sideOffset, align, alignOffset, collisionPadding, arrowPadding, sticky, ...props }: MenubarContentPropsT): import("react").JSX.Element;
32
+ /**
33
+ * Группа пунктов: объединяет связанные действия; MenubarLabel кладётся внутрь неё
34
+ * @param props - пропсы группы
35
+ * @returns div с role="group"
36
+ */
37
+ export declare function MenubarGroup(props: MenubarGroupPropsT): import("react").JSX.Element;
38
+ /**
39
+ * Пункт меню: действие. Ссылку рисуют через render={<a href />}
40
+ * @param props - пропсы пункта
41
+ * @returns div с role="menuitem"
42
+ */
43
+ export declare function MenubarItem({ className, inset, variant, ...props }: MenubarItemPropsT): import("react").JSX.Element;
44
+ /**
45
+ * Пункт-флажок: включает и выключает настройку, отмечен галочкой справа
46
+ * @param props - пропсы пункта
47
+ * @returns div с role="menuitemcheckbox"
48
+ */
49
+ export declare function MenubarCheckboxItem({ className, children, inset, onCheckedChange, ...props }: MenubarCheckboxItemPropsT): import("react").JSX.Element;
50
+ /**
51
+ * Группа радиокнопок: из пунктов внутри выбран один
52
+ * @param props - пропсы группы
53
+ * @returns div с role="group"
54
+ */
55
+ export declare function MenubarRadioGroup({ onValueChange, ...props }: MenubarRadioGroupPropsT): import("react").JSX.Element;
56
+ /**
57
+ * Пункт-радиокнопка: выбранный отмечен галочкой справа
58
+ * @param props - пропсы пункта
59
+ * @returns div с role="menuitemradio"
60
+ */
61
+ export declare function MenubarRadioItem({ className, children, inset, ...props }: MenubarRadioItemPropsT): import("react").JSX.Element;
62
+ /**
63
+ * Подпись: заголовок группы пунктов, не выбирается. Кладётся внутрь MenubarGroup
64
+ * или MenubarRadioGroup
65
+ * @param props - пропсы подписи
66
+ * @returns div
67
+ */
68
+ export declare function MenubarLabel({ className, inset, ...props }: MenubarLabelPropsT): import("react").JSX.Element;
69
+ /**
70
+ * Разделитель: линия между группами пунктов
71
+ * @param props - пропсы разделителя
72
+ * @returns div с role="separator"
73
+ */
74
+ export declare function MenubarSeparator({ className, ...props }: MenubarSeparatorPropsT): import("react").JSX.Element;
75
+ /**
76
+ * Сочетание клавиш: подсказка справа в пункте. Само сочетание не обрабатывает
77
+ * @param props - пропсы сочетания
78
+ * @returns span
79
+ */
80
+ export declare function MenubarShortcut({ className, ...props }: MenubarShortcutPropsT): import("react").JSX.Element;
81
+ /**
82
+ * Подменю: вложенный список, открывается из пункта
83
+ * @param props - пропсы подменю
84
+ * @returns корень без своей разметки
85
+ */
86
+ export declare function MenubarSub({ onOpenChange, ...props }: MenubarSubPropsT): import("react").JSX.Element;
87
+ /**
88
+ * Пункт, открывающий подменю: со стрелкой справа
89
+ * @param props - пропсы пункта
90
+ * @returns div с role="menuitem"
91
+ */
92
+ export declare function MenubarSubTrigger({ className, inset, children, ...props }: MenubarSubTriggerPropsT): import("react").JSX.Element;
93
+ /**
94
+ * Содержимое подменю: появляется сбоку от пункта
95
+ * @param props - пропсы содержимого; по умолчанию side="right", align="start"
96
+ * @returns портал с подменю
97
+ */
98
+ export declare function MenubarSubContent({ className, side, sideOffset, align, alignOffset, ...props }: MenubarSubContentPropsT): import("react").JSX.Element;
@@ -0,0 +1,284 @@
1
+ "use client";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Menu } from "@base-ui/react/menu";
6
+ import { Menubar } from "@base-ui/react/menubar";
7
+ // src/components/menubar/menubar.tsx
8
+ /**
9
+ * Строка меню: постоянно видимый ряд меню, как в настольных приложениях
10
+ * @param props - пропсы строки
11
+ * @returns div с role="menubar"
12
+ */
13
+ function Menubar$1({ className, ...props }) {
14
+ const classes = cn("flex", "h-8", "items-center", "gap-0.5", "rounded-lg", "border", "p-[3px]", className);
15
+ return /* @__PURE__ */ jsx(Menubar, {
16
+ "data-slot": "menubar",
17
+ className: classes,
18
+ ...props
19
+ });
20
+ }
21
+ /**
22
+ * Меню в строке: кнопка и выпадающий список
23
+ * @param props - пропсы меню
24
+ * @returns корень без своей разметки
25
+ */
26
+ function MenubarMenu({ onOpenChange, ...props }) {
27
+ /**
28
+ * Меню открыли или закрыли: наружу только флаг
29
+ * @param open - открыто ли
30
+ */
31
+ const handleOpenChange = (open) => onOpenChange?.(open);
32
+ return /* @__PURE__ */ jsx(Menu.Root, {
33
+ "data-slot": "menubar-menu",
34
+ onOpenChange: handleOpenChange,
35
+ ...props
36
+ });
37
+ }
38
+ /**
39
+ * Портал: переносит меню в конец body. MenubarContent рендерит его сам
40
+ * @param props - пропсы портала
41
+ * @returns портал
42
+ */
43
+ function MenubarPortal(props) {
44
+ return /* @__PURE__ */ jsx(Menu.Portal, {
45
+ "data-slot": "menubar-portal",
46
+ ...props
47
+ });
48
+ }
49
+ /**
50
+ * Кнопка меню в строке: открывает список
51
+ * @param props - пропсы кнопки
52
+ * @returns кнопка с role="menuitem"
53
+ */
54
+ function MenubarTrigger({ className, ...props }) {
55
+ const classes = cn("flex", "items-center", "rounded-sm", "px-1.5", "py-[2px]", "text-sm", "font-medium", "outline-hidden", "select-none", "hover:bg-muted", "aria-expanded:bg-muted", className);
56
+ return /* @__PURE__ */ jsx(Menu.Trigger, {
57
+ "data-slot": "menubar-trigger",
58
+ className: classes,
59
+ ...props
60
+ });
61
+ }
62
+ /** Классы окна меню */
63
+ const contentClasses = [
64
+ "z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin)",
65
+ "overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md",
66
+ "ring-1 ring-foreground/10 duration-100 outline-none data-closed:overflow-hidden",
67
+ "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
68
+ "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
69
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
70
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
71
+ ];
72
+ /**
73
+ * Содержимое меню: рендерится в портале под кнопкой
74
+ * @param props - пропсы содержимого; по умолчанию align="start", alignOffset={-4}, sideOffset={8}
75
+ * @returns портал с меню
76
+ */
77
+ function MenubarContent({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = -4, collisionPadding, arrowPadding, sticky, ...props }) {
78
+ const classes = cn(contentClasses, className);
79
+ const positionerProps = {
80
+ side,
81
+ sideOffset,
82
+ align,
83
+ alignOffset,
84
+ collisionPadding,
85
+ arrowPadding,
86
+ sticky
87
+ };
88
+ return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
89
+ className: "isolate z-50 outline-none",
90
+ ...positionerProps,
91
+ children: /* @__PURE__ */ jsx(Menu.Popup, {
92
+ "data-slot": "menubar-content",
93
+ className: classes,
94
+ ...props
95
+ })
96
+ }) });
97
+ }
98
+ /**
99
+ * Группа пунктов: объединяет связанные действия; MenubarLabel кладётся внутрь неё
100
+ * @param props - пропсы группы
101
+ * @returns div с role="group"
102
+ */
103
+ function MenubarGroup(props) {
104
+ return /* @__PURE__ */ jsx(Menu.Group, {
105
+ "data-slot": "menubar-group",
106
+ ...props
107
+ });
108
+ }
109
+ /**
110
+ * Пункт меню: действие. Ссылку рисуют через render={<a href />}
111
+ * @param props - пропсы пункта
112
+ * @returns div с role="menuitem"
113
+ */
114
+ function MenubarItem({ className, inset, variant = "default", ...props }) {
115
+ const classes = cn("group/menubar-item", "relative", "flex", "cursor-default", "items-center", "gap-1.5", "rounded-md", "px-1.5", "py-1", "text-sm", "outline-hidden", "select-none", "data-inset:pl-7", "focus:bg-accent", "focus:text-accent-foreground", "not-data-[variant=destructive]:focus:**:text-accent-foreground", "data-[variant=destructive]:text-destructive", "data-[variant=destructive]:focus:bg-destructive/10", "data-[variant=destructive]:focus:text-destructive", "dark:data-[variant=destructive]:focus:bg-destructive/20", "data-[variant=destructive]:*:[svg]:text-destructive!", "data-disabled:pointer-events-none", "data-disabled:opacity-50", "[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*=size-])]:size-4", className);
116
+ return /* @__PURE__ */ jsx(Menu.Item, {
117
+ "data-slot": "menubar-item",
118
+ "data-inset": inset,
119
+ "data-variant": variant,
120
+ className: classes,
121
+ ...props
122
+ });
123
+ }
124
+ /**
125
+ * Классы пунктов-переключателей: флажка и радиокнопки
126
+ */
127
+ const toggleItemClasses = [
128
+ "relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none",
129
+ "data-inset:pl-7 focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground",
130
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
131
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4"
132
+ ];
133
+ /**
134
+ * Пункт-флажок: включает и выключает настройку, отмечен галочкой справа
135
+ * @param props - пропсы пункта
136
+ * @returns div с role="menuitemcheckbox"
137
+ */
138
+ function MenubarCheckboxItem({ className, children, inset, onCheckedChange, ...props }) {
139
+ const classes = cn(toggleItemClasses, className);
140
+ /**
141
+ * Отметку переключили: наружу только состояние
142
+ * @param checked - отмечен ли
143
+ */
144
+ const handleCheckedChange = (checked) => onCheckedChange?.(checked);
145
+ return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
146
+ "data-slot": "menubar-checkbox-item",
147
+ "data-inset": inset,
148
+ className: classes,
149
+ onCheckedChange: handleCheckedChange,
150
+ ...props,
151
+ children: [/* @__PURE__ */ jsx("span", {
152
+ "data-slot": "menubar-checkbox-item-indicator",
153
+ className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center",
154
+ children: /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
155
+ }), children]
156
+ });
157
+ }
158
+ /**
159
+ * Группа радиокнопок: из пунктов внутри выбран один
160
+ * @param props - пропсы группы
161
+ * @returns div с role="group"
162
+ */
163
+ function MenubarRadioGroup({ onValueChange, ...props }) {
164
+ /**
165
+ * Выбран другой пункт: наружу только значение
166
+ * @param value - значение пункта
167
+ */
168
+ const handleValueChange = (value) => onValueChange?.(value);
169
+ return /* @__PURE__ */ jsx(Menu.RadioGroup, {
170
+ "data-slot": "menubar-radio-group",
171
+ onValueChange: handleValueChange,
172
+ ...props
173
+ });
174
+ }
175
+ /**
176
+ * Пункт-радиокнопка: выбранный отмечен галочкой справа
177
+ * @param props - пропсы пункта
178
+ * @returns div с role="menuitemradio"
179
+ */
180
+ function MenubarRadioItem({ className, children, inset, ...props }) {
181
+ const classes = cn(toggleItemClasses, className);
182
+ return /* @__PURE__ */ jsxs(Menu.RadioItem, {
183
+ "data-slot": "menubar-radio-item",
184
+ "data-inset": inset,
185
+ className: classes,
186
+ ...props,
187
+ children: [/* @__PURE__ */ jsx("span", {
188
+ "data-slot": "menubar-radio-item-indicator",
189
+ className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center",
190
+ children: /* @__PURE__ */ jsx(Menu.RadioItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
191
+ }), children]
192
+ });
193
+ }
194
+ /**
195
+ * Подпись: заголовок группы пунктов, не выбирается. Кладётся внутрь MenubarGroup
196
+ * или MenubarRadioGroup
197
+ * @param props - пропсы подписи
198
+ * @returns div
199
+ */
200
+ function MenubarLabel({ className, inset, ...props }) {
201
+ const classes = cn("px-1.5", "py-1", "text-sm", "font-medium", "data-inset:pl-7", className);
202
+ return /* @__PURE__ */ jsx(Menu.GroupLabel, {
203
+ "data-slot": "menubar-label",
204
+ "data-inset": inset,
205
+ className: classes,
206
+ ...props
207
+ });
208
+ }
209
+ /**
210
+ * Разделитель: линия между группами пунктов
211
+ * @param props - пропсы разделителя
212
+ * @returns div с role="separator"
213
+ */
214
+ function MenubarSeparator({ className, ...props }) {
215
+ const classes = cn("-mx-1", "my-1", "h-px", "bg-border", className);
216
+ return /* @__PURE__ */ jsx(Menu.Separator, {
217
+ "data-slot": "menubar-separator",
218
+ className: classes,
219
+ ...props
220
+ });
221
+ }
222
+ /**
223
+ * Сочетание клавиш: подсказка справа в пункте. Само сочетание не обрабатывает
224
+ * @param props - пропсы сочетания
225
+ * @returns span
226
+ */
227
+ function MenubarShortcut({ className, ...props }) {
228
+ const classes = cn("ml-auto", "text-xs", "tracking-widest", "text-muted-foreground", "group-focus/menubar-item:text-accent-foreground", className);
229
+ return /* @__PURE__ */ jsx("span", {
230
+ "data-slot": "menubar-shortcut",
231
+ className: classes,
232
+ ...props
233
+ });
234
+ }
235
+ /**
236
+ * Подменю: вложенный список, открывается из пункта
237
+ * @param props - пропсы подменю
238
+ * @returns корень без своей разметки
239
+ */
240
+ function MenubarSub({ onOpenChange, ...props }) {
241
+ /**
242
+ * Подменю открыли или закрыли: наружу только флаг
243
+ * @param open - открыто ли
244
+ */
245
+ const handleOpenChange = (open) => onOpenChange?.(open);
246
+ return /* @__PURE__ */ jsx(Menu.SubmenuRoot, {
247
+ "data-slot": "menubar-sub",
248
+ onOpenChange: handleOpenChange,
249
+ ...props
250
+ });
251
+ }
252
+ /**
253
+ * Пункт, открывающий подменю: со стрелкой справа
254
+ * @param props - пропсы пункта
255
+ * @returns div с role="menuitem"
256
+ */
257
+ function MenubarSubTrigger({ className, inset, children, ...props }) {
258
+ const classes = cn("flex", "cursor-default", "items-center", "gap-1.5", "rounded-md", "px-1.5", "py-1", "text-sm", "outline-hidden", "select-none", "data-inset:pl-7", "focus:bg-accent", "focus:text-accent-foreground", "not-data-[variant=destructive]:focus:**:text-accent-foreground", "data-popup-open:bg-accent", "data-popup-open:text-accent-foreground", "[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*=size-])]:size-4", className);
259
+ return /* @__PURE__ */ jsxs(Menu.SubmenuTrigger, {
260
+ "data-slot": "menubar-sub-trigger",
261
+ "data-inset": inset,
262
+ className: classes,
263
+ ...props,
264
+ children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
265
+ });
266
+ }
267
+ /**
268
+ * Содержимое подменю: появляется сбоку от пункта
269
+ * @param props - пропсы содержимого; по умолчанию side="right", align="start"
270
+ * @returns портал с подменю
271
+ */
272
+ function MenubarSubContent({ className, side = "right", sideOffset = 0, align = "start", alignOffset = -3, ...props }) {
273
+ const classes = cn("w-auto", "min-w-32", "shadow-lg", className);
274
+ return /* @__PURE__ */ jsx(MenubarContent, {
275
+ "data-slot": "menubar-sub-content",
276
+ side,
277
+ sideOffset,
278
+ align,
279
+ alignOffset,
280
+ className: classes,
281
+ ...props
282
+ });
283
+ }
284
+ export { Menubar$1 as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
@@ -0,0 +1,146 @@
1
+ import { PartPropsT } from "../../lib/part-props.js";
2
+ import { FloatingPropsT } from "../../lib/floating.js";
3
+ import { ComponentProps } from "react";
4
+ import { Menu } from "@base-ui/react/menu";
5
+ import { Menubar } from "@base-ui/react/menubar";
6
+ /**
7
+ * Пропсы строки меню
8
+ */
9
+ export type MenubarPropsT = PartPropsT<Menubar.Props> & {
10
+ /** Стрелки переходят с последнего меню на первое и обратно. По умолчанию true */
11
+ loopFocus?: boolean;
12
+ /** Отключить все меню строки */
13
+ disabled?: boolean;
14
+ };
15
+ /**
16
+ * Пропсы меню в строке
17
+ */
18
+ export type MenubarMenuPropsT = Omit<Menu.Root.Props, 'onOpenChange'> & {
19
+ /** Меню открыто — контролируемый режим, вместе с onOpenChange */
20
+ open?: boolean;
21
+ /** Меню открыто при первом рендере — неконтролируемый режим */
22
+ defaultOpen?: boolean;
23
+ /** Меню открыли или закрыли: новое состояние */
24
+ onOpenChange?: (open: boolean) => void;
25
+ };
26
+ /**
27
+ * Пропсы портала
28
+ */
29
+ export type MenubarPortalPropsT = Menu.Portal.Props;
30
+ /**
31
+ * Пропсы кнопки открытия
32
+ */
33
+ export type MenubarTriggerPropsT = PartPropsT<Menu.Trigger.Props> & {};
34
+ /**
35
+ * Пропсы содержимого меню
36
+ */
37
+ export type MenubarContentPropsT = PartPropsT<Menu.Popup.Props> & FloatingPropsT;
38
+ /**
39
+ * Пропсы группы пунктов
40
+ */
41
+ export type MenubarGroupPropsT = PartPropsT<Menu.Group.Props>;
42
+ /**
43
+ * Вариант оформления пункта
44
+ */
45
+ export type MenubarItemVariantT = 'default' | 'destructive';
46
+ /**
47
+ * Пропсы пункта меню
48
+ */
49
+ export type MenubarItemPropsT = PartPropsT<Menu.Item.Props> & {
50
+ /** Отступ слева под иконку, чтобы выровнять с пунктами с иконками */
51
+ inset?: boolean;
52
+ /** Вариант оформления: destructive — красный, для опасных действий */
53
+ variant?: MenubarItemVariantT;
54
+ /** Отключить пункт */
55
+ disabled?: boolean;
56
+ /** Закрывать меню после нажатия. По умолчанию true */
57
+ closeOnClick?: boolean;
58
+ /** Текст для поиска набором букв, если содержимое пункта — не просто текст */
59
+ label?: string;
60
+ };
61
+ /**
62
+ * Пропсы пункта-флажка
63
+ */
64
+ export type MenubarCheckboxItemPropsT = PartPropsT<Omit<Menu.CheckboxItem.Props, 'onCheckedChange'>> & {
65
+ /** Отступ слева под иконку, чтобы выровнять с пунктами с иконками */
66
+ inset?: boolean;
67
+ /** Отмечен ли пункт — контролируемый режим, вместе с onCheckedChange */
68
+ checked?: boolean;
69
+ /** Отмечен ли пункт при первом рендере — неконтролируемый режим */
70
+ defaultChecked?: boolean;
71
+ /** Отметку переключили: новое состояние */
72
+ onCheckedChange?: (checked: boolean) => void;
73
+ /** Отключить пункт */
74
+ disabled?: boolean;
75
+ /** Закрывать меню после выбора. По умолчанию false — меню остаётся открытым, чтобы выбрать несколько */
76
+ closeOnClick?: boolean;
77
+ /** Текст для поиска набором букв, если содержимое пункта — не просто текст */
78
+ label?: string;
79
+ };
80
+ /**
81
+ * Пропсы группы радиокнопок
82
+ */
83
+ export type MenubarRadioGroupPropsT = PartPropsT<Omit<Menu.RadioGroup.Props, 'value' | 'defaultValue' | 'onValueChange'>> & {
84
+ /** Значение выбранного пункта — контролируемый режим, вместе с onValueChange */
85
+ value?: string;
86
+ /** Значение выбранного пункта при первом рендере — неконтролируемый режим */
87
+ defaultValue?: string;
88
+ /** Выбран другой пункт: его значение */
89
+ onValueChange?: (value: string) => void;
90
+ };
91
+ /**
92
+ * Пропсы пункта-радиокнопки
93
+ */
94
+ export type MenubarRadioItemPropsT = PartPropsT<Omit<Menu.RadioItem.Props, 'value'>> & {
95
+ /** Значение пункта: попадает в value группы при выборе */
96
+ value: string;
97
+ /** Отступ слева под иконку, чтобы выровнять с пунктами с иконками */
98
+ inset?: boolean;
99
+ /** Отключить пункт */
100
+ disabled?: boolean;
101
+ /** Закрывать меню после выбора. По умолчанию false — меню остаётся открытым */
102
+ closeOnClick?: boolean;
103
+ /** Текст для поиска набором букв, если содержимое пункта — не просто текст */
104
+ label?: string;
105
+ };
106
+ /**
107
+ * Пропсы подписи
108
+ */
109
+ export type MenubarLabelPropsT = PartPropsT<Menu.GroupLabel.Props> & {
110
+ /** Отступ слева под иконку, чтобы выровнять с пунктами с иконками */
111
+ inset?: boolean;
112
+ };
113
+ /**
114
+ * Пропсы разделителя
115
+ */
116
+ export type MenubarSeparatorPropsT = PartPropsT<Menu.Separator.Props>;
117
+ /**
118
+ * Пропсы сочетания клавиш
119
+ */
120
+ export type MenubarShortcutPropsT = ComponentProps<'span'>;
121
+ /**
122
+ * Пропсы подменю
123
+ */
124
+ export type MenubarSubPropsT = Omit<Menu.SubmenuRoot.Props, 'onOpenChange'> & {
125
+ /** Подменю открыто — контролируемый режим, вместе с onOpenChange */
126
+ open?: boolean;
127
+ /** Подменю открыто при первом рендере — неконтролируемый режим */
128
+ defaultOpen?: boolean;
129
+ /** Подменю открыли или закрыли: новое состояние */
130
+ onOpenChange?: (open: boolean) => void;
131
+ };
132
+ /**
133
+ * Пропсы пункта, открывающего подменю
134
+ */
135
+ export type MenubarSubTriggerPropsT = PartPropsT<Menu.SubmenuTrigger.Props> & {
136
+ /** Отступ слева под иконку, чтобы выровнять с пунктами с иконками */
137
+ inset?: boolean;
138
+ /** Отключить пункт */
139
+ disabled?: boolean;
140
+ /** Текст для поиска набором букв, если содержимое пункта — не просто текст */
141
+ label?: string;
142
+ };
143
+ /**
144
+ * Пропсы содержимого подменю
145
+ */
146
+ export type MenubarSubContentPropsT = MenubarContentPropsT;
@@ -0,0 +1,3 @@
1
+ import { MessageAlignT, MessageAvatarPropsT, MessageContentPropsT, MessageFooterPropsT, MessageGroupPropsT, MessageHeaderPropsT, MessagePropsT } from "./types.js";
2
+ import { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader } from "./message.js";
3
+ export { Message, type MessageAlignT, MessageAvatar, type MessageAvatarPropsT, MessageContent, type MessageContentPropsT, MessageFooter, type MessageFooterPropsT, MessageGroup, type MessageGroupPropsT, MessageHeader, type MessageHeaderPropsT, type MessagePropsT };
@@ -0,0 +1 @@
1
+ export { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader } from "./message.js";