@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,38 @@
1
+ import { ButtonPropsT } from "../button/types.js";
2
+ import { FloatingAlignT } from "../../lib/floating.js";
3
+ import { Matcher } from "react-day-picker";
4
+ /**
5
+ * Пропсы выбора даты
6
+ */
7
+ export type DatePickerPropsT = Omit<ButtonPropsT, 'value' | 'defaultValue' | 'onChange' | 'children' | 'variant' | 'size'> & {
8
+ /** Выбранная дата — контролируемый режим, вместе с onValueChange. null — дата не выбрана */
9
+ value?: Date | null;
10
+ /** Дата при первом рендере — неконтролируемый режим */
11
+ defaultValue?: Date | null;
12
+ /** Выбрана другая дата или выбор снят: новая дата или null */
13
+ onValueChange?: (value: Date | null) => void;
14
+ /** Календарь открыт — контролируемый режим, вместе с onOpenChange */
15
+ open?: boolean;
16
+ /** Календарь открыт при первом рендере */
17
+ defaultOpen?: boolean;
18
+ /** Календарь открыли или закрыли: новое состояние */
19
+ onOpenChange?: (open: boolean) => void;
20
+ /** Текст, пока дата не выбрана. По умолчанию «Выберите дату» */
21
+ placeholder?: string;
22
+ /** Формат даты в кнопке, как в date-fns. По умолчанию dd.MM.yyyy */
23
+ dateFormat?: string;
24
+ /** Закрывать календарь после выбора даты. По умолчанию true */
25
+ closeOnSelect?: boolean;
26
+ /** label — заголовок месяца, dropdown — списки месяца и года. По умолчанию label */
27
+ captionLayout?: 'label' | 'dropdown' | 'dropdown-months' | 'dropdown-years';
28
+ /** Первый месяц, до которого можно листать */
29
+ startMonth?: Date;
30
+ /** Последний месяц, до которого можно листать */
31
+ endMonth?: Date;
32
+ /** Недоступные даты: дата, массив, { before }, { after }, { dayOfWeek } или функция */
33
+ disabledDates?: Matcher | Matcher[];
34
+ /** Выравнивание календаря относительно кнопки. По умолчанию start */
35
+ align?: FloatingAlignT;
36
+ /** Классы окна с календарём */
37
+ contentClassName?: string;
38
+ };
@@ -0,0 +1,7 @@
1
+ import { DateRangePickerPropsT } from "./types.js";
2
+ /**
3
+ * Выбор периода: кнопка с датами начала и конца открывает календарь на два месяца
4
+ * @param props - пропсы; остальные пропсы уходят на кнопку (id, aria-invalid, disabled)
5
+ * @returns окно с календарём
6
+ */
7
+ export declare function DateRangePicker({ value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, placeholder, dateFormat, numberOfMonths, closeOnSelect, min, max, startMonth, endMonth, disabledDates, align, className, contentClassName, ...props }: DateRangePickerPropsT): import("react").JSX.Element;
@@ -0,0 +1,89 @@
1
+ "use client";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { DATE_FORMAT, texts } from "../../lib/locale.js";
4
+ import { formatDate } from "../../lib/format.js";
5
+ import { Button } from "../button/button.js";
6
+ import { Calendar } from "../calendar/calendar.js";
7
+ import { useControllableState } from "../../lib/use-controllable-state.js";
8
+ import { Popover, PopoverContent, PopoverTrigger } from "../popover/popover.js";
9
+ import { CalendarIcon } from "lucide-react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ // src/components/date-range-picker/date-range-picker.tsx
12
+ /**
13
+ * Текст периода: «20.01.2026 – 09.02.2026» или только начало
14
+ * @param range - период
15
+ * @param dateFormat - формат дат
16
+ * @returns текст или null, если начало не выбрано
17
+ */
18
+ function formatRange(range, dateFormat) {
19
+ if (!range?.from) return null;
20
+ const from = formatDate(range.from, dateFormat);
21
+ if (!range.to) return from;
22
+ return `${from} – ${formatDate(range.to, dateFormat)}`;
23
+ }
24
+ /**
25
+ * Выбор периода: кнопка с датами начала и конца открывает календарь на два месяца
26
+ * @param props - пропсы; остальные пропсы уходят на кнопку (id, aria-invalid, disabled)
27
+ * @returns окно с календарём
28
+ */
29
+ function DateRangePicker({ value, defaultValue = null, onValueChange, open, defaultOpen = false, onOpenChange, placeholder = texts.pickDateRange, dateFormat = DATE_FORMAT, numberOfMonths = 2, closeOnSelect = false, min, max, startMonth, endMonth, disabledDates, align = "start", className, contentClassName, ...props }) {
30
+ const [range, setRange] = useControllableState({
31
+ prop: value,
32
+ defaultProp: defaultValue,
33
+ onChange: onValueChange,
34
+ caller: "DateRangePicker"
35
+ });
36
+ const [isOpen, setOpen] = useControllableState({
37
+ prop: open,
38
+ defaultProp: defaultOpen,
39
+ onChange: onOpenChange,
40
+ caller: "DateRangePicker"
41
+ });
42
+ const text = formatRange(range, dateFormat);
43
+ const isEmpty = text === null;
44
+ const label = text ?? placeholder;
45
+ const selected = range ?? void 0;
46
+ const classes = cn("w-60", "justify-start", "px-2.5", "text-left", "font-normal", "data-[empty=true]:text-muted-foreground", className);
47
+ const contentClasses = cn("w-auto", "overflow-hidden", "p-0", contentClassName);
48
+ /**
49
+ * Изменился период в календаре: сохранить и закрыть, если выбраны обе даты
50
+ * @param next - новый период или undefined, если выбор снят
51
+ */
52
+ const selectRange = (next) => {
53
+ setRange(next ?? null);
54
+ if (closeOnSelect && next?.from && next.to) setOpen(false);
55
+ };
56
+ return /* @__PURE__ */ jsxs(Popover, {
57
+ open: isOpen,
58
+ onOpenChange: setOpen,
59
+ children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
60
+ render: /* @__PURE__ */ jsx(Button, {
61
+ "data-slot": "date-range-picker",
62
+ "data-empty": isEmpty,
63
+ variant: "outline",
64
+ className: classes,
65
+ ...props
66
+ }),
67
+ children: [/* @__PURE__ */ jsx(CalendarIcon, { className: "text-muted-foreground" }), /* @__PURE__ */ jsx("span", {
68
+ className: "truncate",
69
+ children: label
70
+ })]
71
+ }), /* @__PURE__ */ jsx(PopoverContent, {
72
+ className: contentClasses,
73
+ align,
74
+ children: /* @__PURE__ */ jsx(Calendar, {
75
+ mode: "range",
76
+ selected,
77
+ onSelect: selectRange,
78
+ defaultMonth: selected?.from,
79
+ numberOfMonths,
80
+ min,
81
+ max,
82
+ startMonth,
83
+ endMonth,
84
+ disabled: disabledDates
85
+ })
86
+ })]
87
+ });
88
+ }
89
+ export { DateRangePicker };
@@ -0,0 +1,3 @@
1
+ import { DateRangePickerPropsT } from "./types.js";
2
+ import { DateRangePicker } from "./date-range-picker.js";
3
+ export { DateRangePicker, type DateRangePickerPropsT };
@@ -0,0 +1 @@
1
+ export { DateRangePicker } from "./date-range-picker.js";
@@ -0,0 +1,43 @@
1
+ import { ButtonPropsT } from "../button/types.js";
2
+ import { CalendarRangeT } from "../calendar/types.js";
3
+ import { FloatingAlignT } from "../../lib/floating.js";
4
+ import { Matcher } from "react-day-picker";
5
+ /**
6
+ * Пропсы выбора периода
7
+ */
8
+ export type DateRangePickerPropsT = Omit<ButtonPropsT, 'value' | 'defaultValue' | 'onChange' | 'children' | 'variant' | 'size'> & {
9
+ /** Выбранный период — контролируемый режим, вместе с onValueChange. null — период не выбран */
10
+ value?: CalendarRangeT | null;
11
+ /** Период при первом рендере — неконтролируемый режим */
12
+ defaultValue?: CalendarRangeT | null;
13
+ /** Изменился период или выбор снят: { from, to } или null */
14
+ onValueChange?: (value: CalendarRangeT | null) => void;
15
+ /** Календарь открыт — контролируемый режим, вместе с onOpenChange */
16
+ open?: boolean;
17
+ /** Календарь открыт при первом рендере */
18
+ defaultOpen?: boolean;
19
+ /** Календарь открыли или закрыли: новое состояние */
20
+ onOpenChange?: (open: boolean) => void;
21
+ /** Текст, пока период не выбран. По умолчанию «Выберите период» */
22
+ placeholder?: string;
23
+ /** Формат дат в кнопке, как в date-fns. По умолчанию dd.MM.yyyy */
24
+ dateFormat?: string;
25
+ /** Сколько месяцев показывать рядом. По умолчанию 2 */
26
+ numberOfMonths?: number;
27
+ /** Закрывать календарь, когда выбраны обе даты. По умолчанию false */
28
+ closeOnSelect?: boolean;
29
+ /** Минимальная длина периода в днях */
30
+ min?: number;
31
+ /** Максимальная длина периода в днях */
32
+ max?: number;
33
+ /** Первый месяц, до которого можно листать */
34
+ startMonth?: Date;
35
+ /** Последний месяц, до которого можно листать */
36
+ endMonth?: Date;
37
+ /** Недоступные даты: дата, массив, { before }, { after }, { dayOfWeek } или функция */
38
+ disabledDates?: Matcher | Matcher[];
39
+ /** Выравнивание календаря относительно кнопки. По умолчанию start */
40
+ align?: FloatingAlignT;
41
+ /** Классы окна с календарём */
42
+ contentClassName?: string;
43
+ };
@@ -0,0 +1,61 @@
1
+ import { DialogClosePropsT, DialogContentPropsT, DialogDescriptionPropsT, DialogFooterPropsT, DialogHeaderPropsT, DialogOverlayPropsT, DialogPortalPropsT, DialogPropsT, DialogTitlePropsT, DialogTriggerPropsT } from "./types.js";
2
+ /**
3
+ * Диалог: окно поверх страницы, которое требует внимания пользователя
4
+ * @param props - пропсы диалога
5
+ * @returns корень диалога без своей разметки
6
+ */
7
+ export declare function Dialog({ onOpenChange, ...props }: DialogPropsT): import("react").JSX.Element;
8
+ /**
9
+ * Кнопка открытия диалога. Свою кнопку — через render={<Button />}
10
+ * @param props - пропсы кнопки
11
+ * @returns кнопка с aria-haspopup="dialog"
12
+ */
13
+ export declare function DialogTrigger(props: DialogTriggerPropsT): import("react").JSX.Element;
14
+ /**
15
+ * Портал: переносит оверлей и окно в конец body
16
+ * @param props - пропсы портала
17
+ * @returns портал
18
+ */
19
+ export declare function DialogPortal(props: DialogPortalPropsT): import("react").JSX.Element;
20
+ /**
21
+ * Кнопка закрытия диалога: любая кнопка внутри окна, которая закрывает его. Свою — через render={<Button />}
22
+ * @param props - пропсы кнопки
23
+ * @returns кнопка
24
+ */
25
+ export declare function DialogClose(props: DialogClosePropsT): import("react").JSX.Element;
26
+ /**
27
+ * Оверлей: затемняет и размывает страницу под диалогом
28
+ * @param props - пропсы оверлея
29
+ * @returns полупрозрачный слой на весь экран
30
+ */
31
+ export declare function DialogOverlay({ className, ...props }: DialogOverlayPropsT): import("react").JSX.Element;
32
+ /**
33
+ * Окно диалога: рендерится в портале поверх оверлея, по центру экрана
34
+ * @param props - пропсы окна
35
+ * @returns портал с оверлеем и окном
36
+ */
37
+ export declare function DialogContent({ className, children, showCloseButton, closeLabel, ...props }: DialogContentPropsT): import("react").JSX.Element;
38
+ /**
39
+ * Шапка диалога: заголовок и описание
40
+ * @param props - пропсы шапки
41
+ * @returns блок
42
+ */
43
+ export declare function DialogHeader({ className, ...props }: DialogHeaderPropsT): import("react").JSX.Element;
44
+ /**
45
+ * Подвал диалога: кнопки действий, на узком экране — столбиком
46
+ * @param props - пропсы подвала
47
+ * @returns блок с серым фоном и разделителем
48
+ */
49
+ export declare function DialogFooter({ className, showCloseButton, closeLabel, children, ...props }: DialogFooterPropsT): import("react").JSX.Element;
50
+ /**
51
+ * Заголовок диалога: озвучивается при открытии
52
+ * @param props - пропсы заголовка
53
+ * @returns h2
54
+ */
55
+ export declare function DialogTitle({ className, ...props }: DialogTitlePropsT): import("react").JSX.Element;
56
+ /**
57
+ * Описание диалога: озвучивается после заголовка
58
+ * @param props - пропсы описания
59
+ * @returns p
60
+ */
61
+ export declare function DialogDescription({ className, ...props }: DialogDescriptionPropsT): import("react").JSX.Element;
@@ -0,0 +1,160 @@
1
+ "use client";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { texts } from "../../lib/locale.js";
4
+ import { Button } from "../button/button.js";
5
+ import { XIcon } from "lucide-react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Dialog } from "@base-ui/react/dialog";
8
+ // src/components/dialog/dialog.tsx
9
+ /**
10
+ * Диалог: окно поверх страницы, которое требует внимания пользователя
11
+ * @param props - пропсы диалога
12
+ * @returns корень диалога без своей разметки
13
+ */
14
+ function Dialog$1({ onOpenChange, ...props }) {
15
+ /**
16
+ * Диалог открыли или закрыли: наружу только флаг
17
+ * @param open - открыт ли
18
+ */
19
+ const handleOpenChange = (open) => onOpenChange?.(open);
20
+ return /* @__PURE__ */ jsx(Dialog.Root, {
21
+ "data-slot": "dialog",
22
+ onOpenChange: handleOpenChange,
23
+ ...props
24
+ });
25
+ }
26
+ /**
27
+ * Кнопка открытия диалога. Свою кнопку — через render={<Button />}
28
+ * @param props - пропсы кнопки
29
+ * @returns кнопка с aria-haspopup="dialog"
30
+ */
31
+ function DialogTrigger(props) {
32
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
33
+ "data-slot": "dialog-trigger",
34
+ ...props
35
+ });
36
+ }
37
+ /**
38
+ * Портал: переносит оверлей и окно в конец body
39
+ * @param props - пропсы портала
40
+ * @returns портал
41
+ */
42
+ function DialogPortal(props) {
43
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
44
+ "data-slot": "dialog-portal",
45
+ ...props
46
+ });
47
+ }
48
+ /**
49
+ * Кнопка закрытия диалога: любая кнопка внутри окна, которая закрывает его. Свою — через render={<Button />}
50
+ * @param props - пропсы кнопки
51
+ * @returns кнопка
52
+ */
53
+ function DialogClose(props) {
54
+ return /* @__PURE__ */ jsx(Dialog.Close, {
55
+ "data-slot": "dialog-close",
56
+ ...props
57
+ });
58
+ }
59
+ /**
60
+ * Оверлей: затемняет и размывает страницу под диалогом
61
+ * @param props - пропсы оверлея
62
+ * @returns полупрозрачный слой на весь экран
63
+ */
64
+ function DialogOverlay({ className, ...props }) {
65
+ const classes = cn("fixed", "inset-0", "isolate", "z-50", "bg-black/10", "duration-100", "supports-backdrop-filter:backdrop-blur-xs", "data-open:animate-in", "data-open:fade-in-0", "data-closed:animate-out", "data-closed:fade-out-0", className);
66
+ return /* @__PURE__ */ jsx(Dialog.Backdrop, {
67
+ "data-slot": "dialog-overlay",
68
+ className: classes,
69
+ ...props
70
+ });
71
+ }
72
+ /**
73
+ * Окно диалога: рендерится в портале поверх оверлея, по центру экрана
74
+ * @param props - пропсы окна
75
+ * @returns портал с оверлеем и окном
76
+ */
77
+ function DialogContent({ className, children, showCloseButton = true, closeLabel = texts.close, ...props }) {
78
+ const classes = cn("fixed", "top-1/2", "left-1/2", "z-50", "grid", "w-full", "max-w-[calc(100%-2rem)]", "-translate-x-1/2", "-translate-y-1/2", "gap-4", "rounded-xl", "bg-popover", "p-4", "text-sm", "text-popover-foreground", "ring-1", "ring-foreground/10", "duration-100", "outline-none", "sm:max-w-sm", "data-open:animate-in", "data-open:fade-in-0", "data-open:zoom-in-95", "data-closed:animate-out", "data-closed:fade-out-0", "data-closed:zoom-out-95", className);
79
+ let closeButton = null;
80
+ if (showCloseButton) {
81
+ const closeRender = /* @__PURE__ */ jsx(Button, {
82
+ variant: "ghost",
83
+ size: "icon-sm",
84
+ className: "absolute top-2 right-2"
85
+ });
86
+ closeButton = /* @__PURE__ */ jsxs(Dialog.Close, {
87
+ "data-slot": "dialog-close",
88
+ render: closeRender,
89
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
90
+ className: "sr-only",
91
+ children: closeLabel
92
+ })]
93
+ });
94
+ }
95
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Popup, {
96
+ "data-slot": "dialog-content",
97
+ className: classes,
98
+ ...props,
99
+ children: [children, closeButton]
100
+ })] });
101
+ }
102
+ /**
103
+ * Шапка диалога: заголовок и описание
104
+ * @param props - пропсы шапки
105
+ * @returns блок
106
+ */
107
+ function DialogHeader({ className, ...props }) {
108
+ const classes = cn("flex", "flex-col", "gap-2", className);
109
+ return /* @__PURE__ */ jsx("div", {
110
+ "data-slot": "dialog-header",
111
+ className: classes,
112
+ ...props
113
+ });
114
+ }
115
+ /**
116
+ * Подвал диалога: кнопки действий, на узком экране — столбиком
117
+ * @param props - пропсы подвала
118
+ * @returns блок с серым фоном и разделителем
119
+ */
120
+ function DialogFooter({ className, showCloseButton = false, closeLabel = texts.close, children, ...props }) {
121
+ const classes = cn("-mx-4", "-mb-4", "flex", "flex-col-reverse", "gap-2", "rounded-b-xl", "border-t", "bg-muted/50", "p-4", "sm:flex-row", "sm:justify-end", className);
122
+ let closeButton = null;
123
+ if (showCloseButton) closeButton = /* @__PURE__ */ jsx(Dialog.Close, {
124
+ render: /* @__PURE__ */ jsx(Button, { variant: "outline" }),
125
+ children: closeLabel
126
+ });
127
+ return /* @__PURE__ */ jsxs("div", {
128
+ "data-slot": "dialog-footer",
129
+ className: classes,
130
+ ...props,
131
+ children: [children, closeButton]
132
+ });
133
+ }
134
+ /**
135
+ * Заголовок диалога: озвучивается при открытии
136
+ * @param props - пропсы заголовка
137
+ * @returns h2
138
+ */
139
+ function DialogTitle({ className, ...props }) {
140
+ const classes = cn("text-base", "leading-none", "font-medium", className);
141
+ return /* @__PURE__ */ jsx(Dialog.Title, {
142
+ "data-slot": "dialog-title",
143
+ className: classes,
144
+ ...props
145
+ });
146
+ }
147
+ /**
148
+ * Описание диалога: озвучивается после заголовка
149
+ * @param props - пропсы описания
150
+ * @returns p
151
+ */
152
+ function DialogDescription({ className, ...props }) {
153
+ const classes = cn("text-sm", "text-muted-foreground", "*:[a]:underline", "*:[a]:underline-offset-3", "*:[a]:hover:text-foreground", className);
154
+ return /* @__PURE__ */ jsx(Dialog.Description, {
155
+ "data-slot": "dialog-description",
156
+ className: classes,
157
+ ...props
158
+ });
159
+ }
160
+ export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
@@ -0,0 +1,3 @@
1
+ import { DialogClosePropsT, DialogContentPropsT, DialogDescriptionPropsT, DialogFooterPropsT, DialogHeaderPropsT, DialogOverlayPropsT, DialogPortalPropsT, DialogPropsT, DialogTitlePropsT, DialogTriggerPropsT } from "./types.js";
2
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./dialog.js";
3
+ export { Dialog, DialogClose, type DialogClosePropsT, DialogContent, type DialogContentPropsT, DialogDescription, type DialogDescriptionPropsT, DialogFooter, type DialogFooterPropsT, DialogHeader, type DialogHeaderPropsT, DialogOverlay, type DialogOverlayPropsT, DialogPortal, type DialogPortalPropsT, type DialogPropsT, DialogTitle, type DialogTitlePropsT, DialogTrigger, type DialogTriggerPropsT };
@@ -0,0 +1 @@
1
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./dialog.js";
@@ -0,0 +1,68 @@
1
+ import { PartPropsT } from "../../lib/part-props.js";
2
+ import { ComponentProps } from "react";
3
+ import { Dialog } from "@base-ui/react/dialog";
4
+ /**
5
+ * Пропсы диалога
6
+ */
7
+ export type DialogPropsT = Omit<Dialog.Root.Props, 'onOpenChange'> & {
8
+ /** Диалог открыт — контролируемый режим, вместе с onOpenChange */
9
+ open?: boolean;
10
+ /** Диалог открыт при первом рендере — неконтролируемый режим */
11
+ defaultOpen?: boolean;
12
+ /** Диалог открыли или закрыли: новое состояние */
13
+ onOpenChange?: (open: boolean) => void;
14
+ /** Модальный режим: страница под диалогом недоступна, фокус заперт внутри. По умолчанию true */
15
+ modal?: boolean | 'trap-focus';
16
+ /** Не закрывать диалог нажатием вне окна */
17
+ disablePointerDismissal?: boolean;
18
+ };
19
+ /**
20
+ * Пропсы кнопки открытия
21
+ */
22
+ export type DialogTriggerPropsT = PartPropsT<Dialog.Trigger.Props>;
23
+ /**
24
+ * Пропсы портала
25
+ */
26
+ export type DialogPortalPropsT = Dialog.Portal.Props;
27
+ /**
28
+ * Пропсы кнопки закрытия
29
+ */
30
+ export type DialogClosePropsT = PartPropsT<Dialog.Close.Props>;
31
+ /**
32
+ * Пропсы оверлея
33
+ */
34
+ export type DialogOverlayPropsT = PartPropsT<Dialog.Backdrop.Props>;
35
+ /**
36
+ * Пропсы окна диалога
37
+ */
38
+ export type DialogContentPropsT = PartPropsT<Dialog.Popup.Props> & {
39
+ /** Показать кнопку-крестик в правом верхнем углу. По умолчанию true */
40
+ showCloseButton?: boolean;
41
+ /** Подпись крестика для скринридеров */
42
+ closeLabel?: string;
43
+ /** Куда перевести фокус при открытии: элемент или false — оставить на месте */
44
+ initialFocus?: Dialog.Popup.Props['initialFocus'];
45
+ /** Куда вернуть фокус при закрытии: элемент или false — никуда */
46
+ finalFocus?: Dialog.Popup.Props['finalFocus'];
47
+ };
48
+ /**
49
+ * Пропсы шапки
50
+ */
51
+ export type DialogHeaderPropsT = ComponentProps<'div'>;
52
+ /**
53
+ * Пропсы подвала
54
+ */
55
+ export type DialogFooterPropsT = ComponentProps<'div'> & {
56
+ /** Добавить в конец кнопку «Закрыть» */
57
+ showCloseButton?: boolean;
58
+ /** Текст кнопки «Закрыть» */
59
+ closeLabel?: string;
60
+ };
61
+ /**
62
+ * Пропсы заголовка
63
+ */
64
+ export type DialogTitlePropsT = PartPropsT<Dialog.Title.Props>;
65
+ /**
66
+ * Пропсы описания
67
+ */
68
+ export type DialogDescriptionPropsT = PartPropsT<Dialog.Description.Props>;
@@ -0,0 +1,69 @@
1
+ import { DrawerClosePropsT, DrawerContentPropsT, DrawerDescriptionPropsT, DrawerFooterPropsT, DrawerHeaderPropsT, DrawerOverlayPropsT, DrawerPortalPropsT, DrawerPropsT, DrawerSwipeHandlePropsT, DrawerTitlePropsT, DrawerTriggerPropsT } from "./types.js";
2
+ /**
3
+ * Шторка: выезжает с края экрана и закрывается свайпом. Шторка внутри шторки
4
+ * становится вложенной: предыдущие уходят назад стопкой
5
+ * @param props - пропсы шторки
6
+ * @returns корень шторки без своей разметки
7
+ */
8
+ export declare function Drawer({ modal, showSwipeHandle, snapPoints, swipeDirection, onOpenChange, onSnapPointChange, ...props }: DrawerPropsT): import("react").JSX.Element;
9
+ /**
10
+ * Кнопка открытия шторки. Свою кнопку передают через render={<Button />}
11
+ * @param props - пропсы кнопки
12
+ * @returns кнопка
13
+ */
14
+ export declare function DrawerTrigger(props: DrawerTriggerPropsT): import("react").JSX.Element;
15
+ /**
16
+ * Портал: выносит шторку в конец body. DrawerContent рендерит его сам
17
+ * @param props - пропсы портала
18
+ * @returns портал
19
+ */
20
+ export declare function DrawerPortal(props: DrawerPortalPropsT): import("react").JSX.Element;
21
+ /**
22
+ * Кнопка закрытия шторки. Свою кнопку передают через render={<Button />}
23
+ * @param props - пропсы кнопки
24
+ * @returns кнопка
25
+ */
26
+ export declare function DrawerClose(props: DrawerClosePropsT): import("react").JSX.Element;
27
+ /**
28
+ * Затемнение под шторкой: светлеет вместе со свайпом. DrawerContent рендерит его сам в модальном режиме
29
+ * @param props - пропсы затемнения
30
+ * @returns слой на весь экран
31
+ */
32
+ export declare function DrawerOverlay({ className, ...props }: DrawerOverlayPropsT): import("react").JSX.Element;
33
+ /**
34
+ * Ручка: полоска у края шторки, за которую её тянут. Показывается при showSwipeHandle
35
+ * @param props - пропсы ручки
36
+ * @returns полоска
37
+ */
38
+ export declare function DrawerSwipeHandle({ className, ...props }: DrawerSwipeHandlePropsT): import("react").JSX.Element;
39
+ /**
40
+ * Окно шторки: рендерится в портале поверх затемнения. Содержимое скрывается,
41
+ * когда поверх открыта вложенная шторка
42
+ * @param props - пропсы окна
43
+ * @returns портал с затемнением и окном
44
+ */
45
+ export declare function DrawerContent({ className, children, ...props }: DrawerContentPropsT): import("react").JSX.Element;
46
+ /**
47
+ * Шапка шторки: заголовок и описание. Снизу и сверху — по центру, на широком экране — слева
48
+ * @param props - пропсы шапки
49
+ * @returns блок
50
+ */
51
+ export declare function DrawerHeader({ className, ...props }: DrawerHeaderPropsT): import("react").JSX.Element;
52
+ /**
53
+ * Подвал шторки: прижат к низу, кнопки столбиком
54
+ * @param props - пропсы подвала
55
+ * @returns блок
56
+ */
57
+ export declare function DrawerFooter({ className, ...props }: DrawerFooterPropsT): import("react").JSX.Element;
58
+ /**
59
+ * Заголовок шторки: озвучивается при открытии
60
+ * @param props - пропсы заголовка
61
+ * @returns h2
62
+ */
63
+ export declare function DrawerTitle({ className, ...props }: DrawerTitlePropsT): import("react").JSX.Element;
64
+ /**
65
+ * Описание шторки: озвучивается после заголовка
66
+ * @param props - пропсы описания
67
+ * @returns p
68
+ */
69
+ export declare function DrawerDescription({ className, ...props }: DrawerDescriptionPropsT): import("react").JSX.Element;