@archytechtor/ui 0.0.0-stage → 0.2.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 (479) 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/bottom-nav/bottom-nav.d.ts +19 -0
  43. package/dist/components/bottom-nav/bottom-nav.js +59 -0
  44. package/dist/components/bottom-nav/index.d.ts +3 -0
  45. package/dist/components/bottom-nav/index.js +3 -0
  46. package/dist/components/bottom-nav/types.d.ts +45 -0
  47. package/dist/components/bottom-nav/types.js +44 -0
  48. package/dist/components/box/box.d.ts +7 -0
  49. package/dist/components/box/box.js +26 -0
  50. package/dist/components/box/index.d.ts +3 -0
  51. package/dist/components/box/index.js +3 -0
  52. package/dist/components/box/types.d.ts +23 -0
  53. package/dist/components/box/types.js +27 -0
  54. package/dist/components/breadcrumb/breadcrumb.d.ts +43 -0
  55. package/dist/components/breadcrumb/breadcrumb.js +115 -0
  56. package/dist/components/breadcrumb/index.d.ts +3 -0
  57. package/dist/components/breadcrumb/index.js +1 -0
  58. package/dist/components/breadcrumb/types.d.ts +36 -0
  59. package/dist/components/bubble/bubble.d.ts +25 -0
  60. package/dist/components/bubble/bubble.js +69 -0
  61. package/dist/components/bubble/index.d.ts +3 -0
  62. package/dist/components/bubble/index.js +3 -0
  63. package/dist/components/bubble/types.d.ts +51 -0
  64. package/dist/components/bubble/types.js +60 -0
  65. package/dist/components/button/button.d.ts +7 -0
  66. package/dist/components/button/button.js +155 -0
  67. package/dist/components/button/index.d.ts +4 -0
  68. package/dist/components/button/index.js +4 -0
  69. package/dist/components/button/types.d.ts +80 -0
  70. package/dist/components/button/types.js +99 -0
  71. package/dist/components/button/use-hold-to-confirm.d.ts +25 -0
  72. package/dist/components/button/use-hold-to-confirm.js +161 -0
  73. package/dist/components/button-group/button-group.d.ts +20 -0
  74. package/dist/components/button-group/button-group.js +62 -0
  75. package/dist/components/button-group/index.d.ts +3 -0
  76. package/dist/components/button-group/index.js +3 -0
  77. package/dist/components/button-group/types.d.ts +30 -0
  78. package/dist/components/button-group/types.js +19 -0
  79. package/dist/components/calendar/calendar.d.ts +15 -0
  80. package/dist/components/calendar/calendar.js +157 -0
  81. package/dist/components/calendar/index.d.ts +3 -0
  82. package/dist/components/calendar/index.js +1 -0
  83. package/dist/components/calendar/types.d.ts +21 -0
  84. package/dist/components/card/card.d.ts +43 -0
  85. package/dist/components/card/card.js +97 -0
  86. package/dist/components/card/index.d.ts +3 -0
  87. package/dist/components/card/index.js +3 -0
  88. package/dist/components/card/types.d.ts +44 -0
  89. package/dist/components/card/types.js +19 -0
  90. package/dist/components/carousel/carousel.d.ts +36 -0
  91. package/dist/components/carousel/carousel.js +190 -0
  92. package/dist/components/carousel/index.d.ts +3 -0
  93. package/dist/components/carousel/index.js +1 -0
  94. package/dist/components/carousel/types.d.ts +79 -0
  95. package/dist/components/chart/chart.d.ts +35 -0
  96. package/dist/components/chart/chart.js +212 -0
  97. package/dist/components/chart/index.d.ts +3 -0
  98. package/dist/components/chart/index.js +1 -0
  99. package/dist/components/chart/types.d.ts +89 -0
  100. package/dist/components/chart/types.js +7 -0
  101. package/dist/components/checkbox/checkbox.d.ts +7 -0
  102. package/dist/components/checkbox/checkbox.js +31 -0
  103. package/dist/components/checkbox/index.d.ts +3 -0
  104. package/dist/components/checkbox/index.js +1 -0
  105. package/dist/components/checkbox/types.d.ts +25 -0
  106. package/dist/components/code-block/code-block.d.ts +49 -0
  107. package/dist/components/code-block/code-block.js +188 -0
  108. package/dist/components/code-block/highlighter.d.ts +15 -0
  109. package/dist/components/code-block/highlighter.js +123 -0
  110. package/dist/components/code-block/index.d.ts +5 -0
  111. package/dist/components/code-block/index.js +5 -0
  112. package/dist/components/code-block/types.d.ts +94 -0
  113. package/dist/components/code-block/types.js +38 -0
  114. package/dist/components/code-block/use-highlighted-code.d.ts +9 -0
  115. package/dist/components/code-block/use-highlighted-code.js +67 -0
  116. package/dist/components/collapsible/collapsible.d.ts +19 -0
  117. package/dist/components/collapsible/collapsible.js +44 -0
  118. package/dist/components/collapsible/index.d.ts +3 -0
  119. package/dist/components/collapsible/index.js +1 -0
  120. package/dist/components/collapsible/types.d.ts +26 -0
  121. package/dist/components/combobox/combobox.d.ts +104 -0
  122. package/dist/components/combobox/combobox.js +365 -0
  123. package/dist/components/combobox/index.d.ts +3 -0
  124. package/dist/components/combobox/index.js +1 -0
  125. package/dist/components/combobox/types.d.ts +229 -0
  126. package/dist/components/command/command.d.ts +55 -0
  127. package/dist/components/command/command.js +179 -0
  128. package/dist/components/command/index.d.ts +3 -0
  129. package/dist/components/command/index.js +1 -0
  130. package/dist/components/command/types.d.ts +69 -0
  131. package/dist/components/context-menu/context-menu.d.ts +92 -0
  132. package/dist/components/context-menu/context-menu.js +270 -0
  133. package/dist/components/context-menu/index.d.ts +3 -0
  134. package/dist/components/context-menu/index.js +1 -0
  135. package/dist/components/context-menu/types.d.ts +138 -0
  136. package/dist/components/data-table/data-table-features.d.ts +21 -0
  137. package/dist/components/data-table/data-table-features.js +22 -0
  138. package/dist/components/data-table/data-table.d.ts +69 -0
  139. package/dist/components/data-table/data-table.js +283 -0
  140. package/dist/components/data-table/index.d.ts +4 -0
  141. package/dist/components/data-table/index.js +3 -0
  142. package/dist/components/data-table/types.d.ts +63 -0
  143. package/dist/components/date-input/date-input.d.ts +7 -0
  144. package/dist/components/date-input/date-input.js +147 -0
  145. package/dist/components/date-input/index.d.ts +3 -0
  146. package/dist/components/date-input/index.js +1 -0
  147. package/dist/components/date-input/types.d.ts +27 -0
  148. package/dist/components/date-picker/date-picker.d.ts +7 -0
  149. package/dist/components/date-picker/date-picker.js +74 -0
  150. package/dist/components/date-picker/index.d.ts +3 -0
  151. package/dist/components/date-picker/index.js +1 -0
  152. package/dist/components/date-picker/types.d.ts +38 -0
  153. package/dist/components/date-range-picker/date-range-picker.d.ts +7 -0
  154. package/dist/components/date-range-picker/date-range-picker.js +89 -0
  155. package/dist/components/date-range-picker/index.d.ts +3 -0
  156. package/dist/components/date-range-picker/index.js +1 -0
  157. package/dist/components/date-range-picker/types.d.ts +43 -0
  158. package/dist/components/dialog/dialog.d.ts +61 -0
  159. package/dist/components/dialog/dialog.js +160 -0
  160. package/dist/components/dialog/index.d.ts +3 -0
  161. package/dist/components/dialog/index.js +1 -0
  162. package/dist/components/dialog/types.d.ts +68 -0
  163. package/dist/components/drawer/drawer.d.ts +69 -0
  164. package/dist/components/drawer/drawer.js +245 -0
  165. package/dist/components/drawer/index.d.ts +3 -0
  166. package/dist/components/drawer/index.js +1 -0
  167. package/dist/components/drawer/types.d.ts +93 -0
  168. package/dist/components/dropdown-menu/dropdown-menu.d.ts +92 -0
  169. package/dist/components/dropdown-menu/dropdown-menu.js +268 -0
  170. package/dist/components/dropdown-menu/index.d.ts +3 -0
  171. package/dist/components/dropdown-menu/index.js +1 -0
  172. package/dist/components/dropdown-menu/types.d.ts +143 -0
  173. package/dist/components/empty/empty.d.ts +37 -0
  174. package/dist/components/empty/empty.js +84 -0
  175. package/dist/components/empty/index.d.ts +3 -0
  176. package/dist/components/empty/index.js +3 -0
  177. package/dist/components/empty/types.d.ts +39 -0
  178. package/dist/components/empty/types.js +13 -0
  179. package/dist/components/expanded-card/expanded-card.d.ts +43 -0
  180. package/dist/components/expanded-card/expanded-card.js +352 -0
  181. package/dist/components/expanded-card/index.d.ts +3 -0
  182. package/dist/components/expanded-card/index.js +1 -0
  183. package/dist/components/expanded-card/types.d.ts +52 -0
  184. package/dist/components/field/field.d.ts +62 -0
  185. package/dist/components/field/field.js +173 -0
  186. package/dist/components/field/index.d.ts +3 -0
  187. package/dist/components/field/index.js +3 -0
  188. package/dist/components/field/types.d.ts +81 -0
  189. package/dist/components/field/types.js +21 -0
  190. package/dist/components/form/form.d.ts +49 -0
  191. package/dist/components/form/form.js +136 -0
  192. package/dist/components/form/index.d.ts +3 -0
  193. package/dist/components/form/index.js +1 -0
  194. package/dist/components/form/types.d.ts +59 -0
  195. package/dist/components/grid/grid.d.ts +7 -0
  196. package/dist/components/grid/grid.js +36 -0
  197. package/dist/components/grid/index.d.ts +3 -0
  198. package/dist/components/grid/index.js +3 -0
  199. package/dist/components/grid/types.d.ts +35 -0
  200. package/dist/components/grid/types.js +102 -0
  201. package/dist/components/hover-card/hover-card.d.ts +19 -0
  202. package/dist/components/hover-card/hover-card.js +63 -0
  203. package/dist/components/hover-card/index.d.ts +3 -0
  204. package/dist/components/hover-card/index.js +1 -0
  205. package/dist/components/hover-card/types.d.ts +27 -0
  206. package/dist/components/image-gallery/image-gallery.d.ts +8 -0
  207. package/dist/components/image-gallery/image-gallery.js +294 -0
  208. package/dist/components/image-gallery/index.d.ts +4 -0
  209. package/dist/components/image-gallery/index.js +3 -0
  210. package/dist/components/image-gallery/masonry.d.ts +11 -0
  211. package/dist/components/image-gallery/masonry.js +62 -0
  212. package/dist/components/image-gallery/types.d.ts +80 -0
  213. package/dist/components/input/index.d.ts +3 -0
  214. package/dist/components/input/index.js +1 -0
  215. package/dist/components/input/input.d.ts +7 -0
  216. package/dist/components/input/input.js +18 -0
  217. package/dist/components/input/types.d.ts +28 -0
  218. package/dist/components/input-group/index.d.ts +3 -0
  219. package/dist/components/input-group/index.js +3 -0
  220. package/dist/components/input-group/input-group.d.ts +37 -0
  221. package/dist/components/input-group/input-group.js +103 -0
  222. package/dist/components/input-group/types.d.ts +64 -0
  223. package/dist/components/input-group/types.js +31 -0
  224. package/dist/components/input-otp/index.d.ts +3 -0
  225. package/dist/components/input-otp/index.js +1 -0
  226. package/dist/components/input-otp/input-otp.d.ts +25 -0
  227. package/dist/components/input-otp/input-otp.js +76 -0
  228. package/dist/components/input-otp/types.d.ts +43 -0
  229. package/dist/components/item/index.d.ts +3 -0
  230. package/dist/components/item/index.js +3 -0
  231. package/dist/components/item/item.d.ts +61 -0
  232. package/dist/components/item/item.js +149 -0
  233. package/dist/components/item/types.d.ts +75 -0
  234. package/dist/components/item/types.js +48 -0
  235. package/dist/components/kbd/index.d.ts +3 -0
  236. package/dist/components/kbd/index.js +1 -0
  237. package/dist/components/kbd/kbd.d.ts +13 -0
  238. package/dist/components/kbd/kbd.js +30 -0
  239. package/dist/components/kbd/types.d.ts +9 -0
  240. package/dist/components/label/index.d.ts +3 -0
  241. package/dist/components/label/index.js +1 -0
  242. package/dist/components/label/label.d.ts +7 -0
  243. package/dist/components/label/label.js +17 -0
  244. package/dist/components/label/types.d.ts +8 -0
  245. package/dist/components/loader/index.d.ts +3 -0
  246. package/dist/components/loader/index.js +3 -0
  247. package/dist/components/loader/loader.d.ts +8 -0
  248. package/dist/components/loader/loader.js +386 -0
  249. package/dist/components/loader/types.d.ts +27 -0
  250. package/dist/components/loader/types.js +58 -0
  251. package/dist/components/marker/index.d.ts +3 -0
  252. package/dist/components/marker/index.js +3 -0
  253. package/dist/components/marker/marker.d.ts +19 -0
  254. package/dist/components/marker/marker.js +51 -0
  255. package/dist/components/marker/types.d.ts +30 -0
  256. package/dist/components/marker/types.js +16 -0
  257. package/dist/components/menubar/index.d.ts +3 -0
  258. package/dist/components/menubar/index.js +1 -0
  259. package/dist/components/menubar/menubar.d.ts +98 -0
  260. package/dist/components/menubar/menubar.js +284 -0
  261. package/dist/components/menubar/types.d.ts +146 -0
  262. package/dist/components/message/index.d.ts +3 -0
  263. package/dist/components/message/index.js +1 -0
  264. package/dist/components/message/message.d.ts +37 -0
  265. package/dist/components/message/message.js +83 -0
  266. package/dist/components/message/types.d.ts +32 -0
  267. package/dist/components/message-scroller/index.d.ts +4 -0
  268. package/dist/components/message-scroller/index.js +3 -0
  269. package/dist/components/message-scroller/message-scroller-primitive.d.ts +21 -0
  270. package/dist/components/message-scroller/message-scroller-primitive.js +1349 -0
  271. package/dist/components/message-scroller/message-scroller.d.ts +39 -0
  272. package/dist/components/message-scroller/message-scroller.js +103 -0
  273. package/dist/components/message-scroller/types.d.ts +107 -0
  274. package/dist/components/money-input/index.d.ts +3 -0
  275. package/dist/components/money-input/index.js +1 -0
  276. package/dist/components/money-input/money-input.d.ts +7 -0
  277. package/dist/components/money-input/money-input.js +143 -0
  278. package/dist/components/money-input/types.d.ts +20 -0
  279. package/dist/components/morph-image/index.d.ts +3 -0
  280. package/dist/components/morph-image/index.js +3 -0
  281. package/dist/components/morph-image/morph-image.d.ts +8 -0
  282. package/dist/components/morph-image/morph-image.js +155 -0
  283. package/dist/components/morph-image/types.d.ts +38 -0
  284. package/dist/components/morph-image/types.js +18 -0
  285. package/dist/components/native-select/index.d.ts +3 -0
  286. package/dist/components/native-select/index.js +3 -0
  287. package/dist/components/native-select/native-select.d.ts +20 -0
  288. package/dist/components/native-select/native-select.js +57 -0
  289. package/dist/components/native-select/types.d.ts +52 -0
  290. package/dist/components/native-select/types.js +23 -0
  291. package/dist/components/navigation-menu/index.d.ts +3 -0
  292. package/dist/components/navigation-menu/index.js +3 -0
  293. package/dist/components/navigation-menu/navigation-menu.d.ts +50 -0
  294. package/dist/components/navigation-menu/navigation-menu.js +145 -0
  295. package/dist/components/navigation-menu/types.d.ts +79 -0
  296. package/dist/components/navigation-menu/types.js +15 -0
  297. package/dist/components/number-stepper/index.d.ts +3 -0
  298. package/dist/components/number-stepper/index.js +3 -0
  299. package/dist/components/number-stepper/number-stepper.d.ts +9 -0
  300. package/dist/components/number-stepper/number-stepper.js +223 -0
  301. package/dist/components/number-stepper/types.d.ts +47 -0
  302. package/dist/components/number-stepper/types.js +174 -0
  303. package/dist/components/pagination/index.d.ts +3 -0
  304. package/dist/components/pagination/index.js +1 -0
  305. package/dist/components/pagination/pagination.d.ts +43 -0
  306. package/dist/components/pagination/pagination.js +121 -0
  307. package/dist/components/pagination/types.d.ts +37 -0
  308. package/dist/components/phone-input/index.d.ts +3 -0
  309. package/dist/components/phone-input/index.js +1 -0
  310. package/dist/components/phone-input/phone-input.d.ts +7 -0
  311. package/dist/components/phone-input/phone-input.js +54 -0
  312. package/dist/components/phone-input/types.d.ts +12 -0
  313. package/dist/components/popover/index.d.ts +3 -0
  314. package/dist/components/popover/index.js +1 -0
  315. package/dist/components/popover/popover.d.ts +37 -0
  316. package/dist/components/popover/popover.js +100 -0
  317. package/dist/components/popover/types.d.ts +51 -0
  318. package/dist/components/progress/index.d.ts +3 -0
  319. package/dist/components/progress/index.js +1 -0
  320. package/dist/components/progress/progress.d.ts +32 -0
  321. package/dist/components/progress/progress.js +100 -0
  322. package/dist/components/progress/types.d.ts +31 -0
  323. package/dist/components/questionnaire/index.d.ts +3 -0
  324. package/dist/components/questionnaire/index.js +1 -0
  325. package/dist/components/questionnaire/questionnaire-primitive.js +1563 -0
  326. package/dist/components/questionnaire/questionnaire.d.ts +91 -0
  327. package/dist/components/questionnaire/questionnaire.js +315 -0
  328. package/dist/components/questionnaire/types.d.ts +203 -0
  329. package/dist/components/radio-group/index.d.ts +3 -0
  330. package/dist/components/radio-group/index.js +1 -0
  331. package/dist/components/radio-group/radio-group.d.ts +13 -0
  332. package/dist/components/radio-group/radio-group.js +44 -0
  333. package/dist/components/radio-group/types.d.ts +33 -0
  334. package/dist/components/reorder-list/index.d.ts +3 -0
  335. package/dist/components/reorder-list/index.js +1 -0
  336. package/dist/components/reorder-list/reorder-list.d.ts +19 -0
  337. package/dist/components/reorder-list/reorder-list.js +279 -0
  338. package/dist/components/reorder-list/types.d.ts +65 -0
  339. package/dist/components/resizable/index.d.ts +3 -0
  340. package/dist/components/resizable/index.js +1 -0
  341. package/dist/components/resizable/resizable.d.ts +19 -0
  342. package/dist/components/resizable/resizable.js +44 -0
  343. package/dist/components/resizable/types.d.ts +89 -0
  344. package/dist/components/scroll-area/index.d.ts +3 -0
  345. package/dist/components/scroll-area/index.js +1 -0
  346. package/dist/components/scroll-area/scroll-area.d.ts +13 -0
  347. package/dist/components/scroll-area/scroll-area.js +47 -0
  348. package/dist/components/scroll-area/types.d.ts +19 -0
  349. package/dist/components/select/index.d.ts +3 -0
  350. package/dist/components/select/index.js +1 -0
  351. package/dist/components/select/select.d.ts +61 -0
  352. package/dist/components/select/select.js +183 -0
  353. package/dist/components/select/types.d.ts +100 -0
  354. package/dist/components/separator/index.d.ts +3 -0
  355. package/dist/components/separator/index.js +1 -0
  356. package/dist/components/separator/separator.d.ts +7 -0
  357. package/dist/components/separator/separator.js +20 -0
  358. package/dist/components/separator/types.d.ts +9 -0
  359. package/dist/components/sheet/index.d.ts +3 -0
  360. package/dist/components/sheet/index.js +1 -0
  361. package/dist/components/sheet/sheet.d.ts +61 -0
  362. package/dist/components/sheet/sheet.js +155 -0
  363. package/dist/components/sheet/types.d.ts +69 -0
  364. package/dist/components/sidebar/index.d.ts +3 -0
  365. package/dist/components/sidebar/index.js +3 -0
  366. package/dist/components/sidebar/sidebar.d.ts +145 -0
  367. package/dist/components/sidebar/sidebar.js +550 -0
  368. package/dist/components/sidebar/types.d.ts +186 -0
  369. package/dist/components/sidebar/types.js +42 -0
  370. package/dist/components/sidebar/use-mobile.js +21 -0
  371. package/dist/components/skeleton/index.d.ts +3 -0
  372. package/dist/components/skeleton/index.js +1 -0
  373. package/dist/components/skeleton/skeleton.d.ts +8 -0
  374. package/dist/components/skeleton/skeleton.js +18 -0
  375. package/dist/components/skeleton/types.d.ts +5 -0
  376. package/dist/components/slider/index.d.ts +3 -0
  377. package/dist/components/slider/index.js +1 -0
  378. package/dist/components/slider/slider.d.ts +7 -0
  379. package/dist/components/slider/slider.js +106 -0
  380. package/dist/components/slider/types.d.ts +39 -0
  381. package/dist/components/spinner/index.d.ts +3 -0
  382. package/dist/components/spinner/index.js +1 -0
  383. package/dist/components/spinner/spinner.d.ts +7 -0
  384. package/dist/components/spinner/spinner.js +21 -0
  385. package/dist/components/spinner/types.d.ts +8 -0
  386. package/dist/components/stack/index.d.ts +3 -0
  387. package/dist/components/stack/index.js +3 -0
  388. package/dist/components/stack/stack.d.ts +7 -0
  389. package/dist/components/stack/stack.js +29 -0
  390. package/dist/components/stack/types.d.ts +56 -0
  391. package/dist/components/stack/types.js +62 -0
  392. package/dist/components/statistics/index.d.ts +3 -0
  393. package/dist/components/statistics/index.js +3 -0
  394. package/dist/components/statistics/statistics.d.ts +31 -0
  395. package/dist/components/statistics/statistics.js +141 -0
  396. package/dist/components/statistics/types.d.ts +84 -0
  397. package/dist/components/statistics/types.js +27 -0
  398. package/dist/components/switch/index.d.ts +3 -0
  399. package/dist/components/switch/index.js +3 -0
  400. package/dist/components/switch/switch.d.ts +7 -0
  401. package/dist/components/switch/switch.js +32 -0
  402. package/dist/components/switch/types.d.ts +37 -0
  403. package/dist/components/switch/types.js +23 -0
  404. package/dist/components/table/index.d.ts +3 -0
  405. package/dist/components/table/index.js +1 -0
  406. package/dist/components/table/table.d.ts +49 -0
  407. package/dist/components/table/table.js +112 -0
  408. package/dist/components/table/types.d.ts +33 -0
  409. package/dist/components/tabs/index.d.ts +3 -0
  410. package/dist/components/tabs/index.js +3 -0
  411. package/dist/components/tabs/tabs.d.ts +25 -0
  412. package/dist/components/tabs/tabs.js +81 -0
  413. package/dist/components/tabs/types.d.ts +61 -0
  414. package/dist/components/tabs/types.js +18 -0
  415. package/dist/components/textarea/index.d.ts +3 -0
  416. package/dist/components/textarea/index.js +1 -0
  417. package/dist/components/textarea/textarea.d.ts +7 -0
  418. package/dist/components/textarea/textarea.js +17 -0
  419. package/dist/components/textarea/types.d.ts +26 -0
  420. package/dist/components/toast/index.d.ts +3 -0
  421. package/dist/components/toast/index.js +1 -0
  422. package/dist/components/toast/toast.d.ts +63 -0
  423. package/dist/components/toast/toast.js +321 -0
  424. package/dist/components/toast/types.d.ts +120 -0
  425. package/dist/components/toggle/index.d.ts +3 -0
  426. package/dist/components/toggle/index.js +3 -0
  427. package/dist/components/toggle/toggle.d.ts +7 -0
  428. package/dist/components/toggle/toggle.js +32 -0
  429. package/dist/components/toggle/types.d.ts +35 -0
  430. package/dist/components/toggle/types.js +37 -0
  431. package/dist/components/toggle-group/index.d.ts +3 -0
  432. package/dist/components/toggle-group/index.js +1 -0
  433. package/dist/components/toggle-group/toggle-group.d.ts +13 -0
  434. package/dist/components/toggle-group/toggle-group.js +88 -0
  435. package/dist/components/toggle-group/types.d.ts +52 -0
  436. package/dist/components/tooltip/index.d.ts +3 -0
  437. package/dist/components/tooltip/index.js +1 -0
  438. package/dist/components/tooltip/tooltip.d.ts +25 -0
  439. package/dist/components/tooltip/tooltip.js +79 -0
  440. package/dist/components/tooltip/types.d.ts +48 -0
  441. package/dist/components/trace/index.d.ts +3 -0
  442. package/dist/components/trace/index.js +1 -0
  443. package/dist/components/trace/trace.d.ts +52 -0
  444. package/dist/components/trace/trace.js +132 -0
  445. package/dist/components/trace/types.d.ts +54 -0
  446. package/dist/components/typography/index.d.ts +3 -0
  447. package/dist/components/typography/index.js +3 -0
  448. package/dist/components/typography/types.d.ts +29 -0
  449. package/dist/components/typography/types.js +25 -0
  450. package/dist/components/typography/typography.d.ts +7 -0
  451. package/dist/components/typography/typography.js +40 -0
  452. package/dist/components/video-player/index.d.ts +6 -0
  453. package/dist/components/video-player/index.js +5 -0
  454. package/dist/components/video-player/types.d.ts +143 -0
  455. package/dist/components/video-player/use-video-player.js +319 -0
  456. package/dist/components/video-player/video-player-context.d.ts +45 -0
  457. package/dist/components/video-player/video-player-context.js +15 -0
  458. package/dist/components/video-player/video-player-controls.d.ts +38 -0
  459. package/dist/components/video-player/video-player-controls.js +226 -0
  460. package/dist/components/video-player/video-player-overlay.d.ts +13 -0
  461. package/dist/components/video-player/video-player-overlay.js +113 -0
  462. package/dist/components/video-player/video-player.d.ts +8 -0
  463. package/dist/components/video-player/video-player.js +139 -0
  464. package/dist/index.d.ts +259 -0
  465. package/dist/index.js +124 -0
  466. package/dist/lib/floating.d.ts +44 -0
  467. package/dist/lib/focus-source.js +51 -0
  468. package/dist/lib/format.d.ts +67 -0
  469. package/dist/lib/format.js +130 -0
  470. package/dist/lib/locale.d.ts +104 -0
  471. package/dist/lib/locale.js +103 -0
  472. package/dist/lib/part-props.d.ts +15 -0
  473. package/dist/lib/use-controllable-state.js +22 -0
  474. package/dist/lib/utils.d.ts +9 -0
  475. package/dist/lib/utils.js +16 -0
  476. package/dist/styles/index.css +128 -0
  477. package/dist/styles/theme.css +84 -0
  478. package/dist/styles/utilities.css +553 -0
  479. package/package.json +89 -3
@@ -0,0 +1,39 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { ComponentProps } from "react";
3
+ /**
4
+ * Стили медиа пустого состояния: без фона (изображение, аватар) или плашка под иконку
5
+ */
6
+ export declare const emptyMediaVariants: (props?: ({
7
+ variant?: "default" | "icon" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ /**
10
+ * Варианты медиа пустого состояния
11
+ */
12
+ export type EmptyMediaVariantsT = VariantProps<typeof emptyMediaVariants>;
13
+ /**
14
+ * Пропсы пустого состояния
15
+ */
16
+ export type EmptyPropsT = ComponentProps<'div'>;
17
+ /**
18
+ * Пропсы шапки пустого состояния
19
+ */
20
+ export type EmptyHeaderPropsT = ComponentProps<'div'>;
21
+ /**
22
+ * Пропсы медиа пустого состояния
23
+ */
24
+ export type EmptyMediaPropsT = ComponentProps<'div'> & {
25
+ /** Оформление: default — без фона, icon — иконка на плашке 32px */
26
+ variant?: EmptyMediaVariantsT['variant'];
27
+ };
28
+ /**
29
+ * Пропсы заголовка пустого состояния
30
+ */
31
+ export type EmptyTitlePropsT = ComponentProps<'div'>;
32
+ /**
33
+ * Пропсы описания пустого состояния
34
+ */
35
+ export type EmptyDescriptionPropsT = ComponentProps<'div'>;
36
+ /**
37
+ * Пропсы содержимого пустого состояния
38
+ */
39
+ export type EmptyContentPropsT = ComponentProps<'div'>;
@@ -0,0 +1,13 @@
1
+ import { cva } from "class-variance-authority";
2
+ // src/components/empty/types.ts
3
+ /**
4
+ * Стили медиа пустого состояния: без фона (изображение, аватар) или плашка под иконку
5
+ */
6
+ const emptyMediaVariants = cva("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
7
+ variants: { variant: {
8
+ default: "bg-transparent",
9
+ icon: ["flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground", "[&_svg:not([class*=size-])]:size-4"]
10
+ } },
11
+ defaultVariants: { variant: "default" }
12
+ });
13
+ export { emptyMediaVariants };
@@ -0,0 +1,43 @@
1
+ import { ExpandedCardBodyPropsT, ExpandedCardContentPropsT, ExpandedCardDescriptionPropsT, ExpandedCardExpandPropsT, ExpandedCardImagePropsT, ExpandedCardPropsT, ExpandedCardTitlePropsT } from "./types.js";
2
+ /**
3
+ * Раскрывающаяся карточка: свёрнутая карточка плавно разворачивается в окно поверх страницы
4
+ * @param props - пропсы карточки
5
+ * @returns корень карточки без собственного элемента
6
+ */
7
+ export declare function ExpandedCard({ open, defaultOpen, onOpenChange, transition, children }: ExpandedCardPropsT): import("react").JSX.Element;
8
+ /**
9
+ * Тело карточки: во свёрнутом виде — кнопка раскрытия, внутри окна — его контейнер
10
+ * @param props - пропсы тела
11
+ * @returns карточка
12
+ */
13
+ export declare function ExpandedCardBody({ className, onClick, onKeyDown, ref, children, ...props }: ExpandedCardBodyPropsT): import("react").JSX.Element;
14
+ /**
15
+ * Окно раскрытия: затемнение и карточка по центру экрана, закрывается по Escape и клику снаружи
16
+ * @param props - пропсы окна
17
+ * @returns окно в портале или null, пока карточка свёрнута
18
+ */
19
+ export declare function ExpandedCardExpand({ className, overlayClassName, showCloseButton, closeLabel, children, ...props }: ExpandedCardExpandPropsT): import("react").ReactPortal | null;
20
+ /**
21
+ * Заголовок: при раскрытии плавно переезжает на своё место в окне
22
+ * @param props - пропсы заголовка
23
+ * @returns заголовок
24
+ */
25
+ export declare function ExpandedCardTitle({ className, ...props }: ExpandedCardTitlePropsT): import("react").JSX.Element;
26
+ /**
27
+ * Описание: при раскрытии плавно переезжает на своё место в окне
28
+ * @param props - пропсы описания
29
+ * @returns описание
30
+ */
31
+ export declare function ExpandedCardDescription({ className, ...props }: ExpandedCardDescriptionPropsT): import("react").JSX.Element;
32
+ /**
33
+ * Изображение карточки: на всю ширину, обрезается сверху
34
+ * @param props - пропсы изображения
35
+ * @returns изображение
36
+ */
37
+ export declare function ExpandedCardImage({ className, alt, ...props }: ExpandedCardImagePropsT): import("react").JSX.Element;
38
+ /**
39
+ * Содержимое, которое видно только в раскрытом окне: появляется с небольшой задержкой
40
+ * @param props - пропсы содержимого
41
+ * @returns содержимое
42
+ */
43
+ export declare function ExpandedCardContent({ className, ...props }: ExpandedCardContentPropsT): import("react").JSX.Element;
@@ -0,0 +1,352 @@
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 { createContext, useContext, useEffect, useId, useRef, useState } from "react";
8
+ import { AnimatePresence, MotionConfig, motion, useIsPresent } from "motion/react";
9
+ import { createPortal } from "react-dom";
10
+ // src/components/expanded-card/expanded-card.tsx
11
+ let scrollLockCount = 0;
12
+ let scrollLockPrevious = "";
13
+ /** Заблокировать прокрутку страницы (можно вызывать вложенно) */
14
+ function lockBodyScroll() {
15
+ if (scrollLockCount === 0) {
16
+ scrollLockPrevious = document.body.style.overflow;
17
+ document.body.style.overflow = "hidden";
18
+ }
19
+ scrollLockCount += 1;
20
+ }
21
+ /** Снять блокировку; прокрутка возвращается, когда закрылось последнее окно */
22
+ function unlockBodyScroll() {
23
+ scrollLockCount = Math.max(0, scrollLockCount - 1);
24
+ if (scrollLockCount === 0) document.body.style.overflow = scrollLockPrevious;
25
+ }
26
+ /**
27
+ * Анимация по умолчанию: плавная пружина без перелёта
28
+ */
29
+ const defaultTransition = {
30
+ type: "spring",
31
+ duration: .45,
32
+ bounce: .1
33
+ };
34
+ const ExpandedCardContext = createContext(null);
35
+ const ExpandedViewContext = createContext(false);
36
+ /**
37
+ * Состояние карточки из контекста
38
+ * @returns состояние карточки
39
+ */
40
+ function useExpandedCard() {
41
+ const context = useContext(ExpandedCardContext);
42
+ if (!context) throw new Error("Части ExpandedCard должны находиться внутри <ExpandedCard>");
43
+ return context;
44
+ }
45
+ /**
46
+ * Раскрывающаяся карточка: свёрнутая карточка плавно разворачивается в окно поверх страницы
47
+ * @param props - пропсы карточки
48
+ * @returns корень карточки без собственного элемента
49
+ */
50
+ function ExpandedCard({ open, defaultOpen = false, onOpenChange, transition = defaultTransition, children }) {
51
+ const uniqueId = useId();
52
+ const triggerRef = useRef(null);
53
+ const [innerOpen, setInnerOpen] = useState(defaultOpen);
54
+ const isControlled = open !== void 0;
55
+ const isOpen = isControlled ? open : innerOpen;
56
+ /**
57
+ * Открыть или закрыть
58
+ * @param nextOpen - новое состояние
59
+ */
60
+ const setOpen = (nextOpen) => {
61
+ if (!isControlled) setInnerOpen(nextOpen);
62
+ if (nextOpen !== isOpen) onOpenChange?.(nextOpen);
63
+ };
64
+ const contextValue = {
65
+ isOpen,
66
+ uniqueId,
67
+ triggerRef,
68
+ setOpen
69
+ };
70
+ return /* @__PURE__ */ jsx(ExpandedCardContext.Provider, {
71
+ value: contextValue,
72
+ children: /* @__PURE__ */ jsx(MotionConfig, {
73
+ transition,
74
+ reducedMotion: "user",
75
+ children
76
+ })
77
+ });
78
+ }
79
+ /**
80
+ * Тело карточки: во свёрнутом виде — кнопка раскрытия, внутри окна — его контейнер
81
+ * @param props - пропсы тела
82
+ * @returns карточка
83
+ */
84
+ function ExpandedCardBody({ className, onClick, onKeyDown, ref, children, ...props }) {
85
+ const { isOpen, uniqueId, triggerRef, setOpen } = useExpandedCard();
86
+ const isExpandedView = useContext(ExpandedViewContext);
87
+ const classes = cn("relative", "flex", "flex-col", "overflow-hidden", "rounded-xl", "bg-card", "pb-2", "text-sm", "text-card-foreground", "shadow-sm", "ring-1", "ring-foreground/10", !isExpandedView && [
88
+ "cursor-pointer",
89
+ "outline-none",
90
+ "select-none",
91
+ "focus-visible:ring-3",
92
+ "focus-visible:ring-ring/50"
93
+ ], className);
94
+ /**
95
+ * Элемент карточки: наружу и в контекст для возврата фокуса
96
+ * @param node - элемент или null при размонтировании
97
+ */
98
+ const setRef = (node) => {
99
+ if (!isExpandedView) triggerRef.current = node;
100
+ if (typeof ref === "function") {
101
+ ref(node);
102
+ return;
103
+ }
104
+ if (ref) ref.current = node;
105
+ };
106
+ /**
107
+ * Нажатие: раскрыть свёрнутую карточку
108
+ * @param event - событие нажатия
109
+ */
110
+ const handleClick = (event) => {
111
+ onClick?.(event);
112
+ if (!isExpandedView && !event.defaultPrevented) setOpen(true);
113
+ };
114
+ /**
115
+ * Enter и пробел раскрывают свёрнутую карточку
116
+ * @param event - событие клавиатуры
117
+ */
118
+ const handleKeyDown = (event) => {
119
+ onKeyDown?.(event);
120
+ const isActionKey = event.key === "Enter" || event.key === " ";
121
+ const isSelf = event.target === event.currentTarget;
122
+ if (isExpandedView || event.defaultPrevented || !isActionKey || !isSelf) return;
123
+ event.preventDefault();
124
+ setOpen(true);
125
+ };
126
+ const triggerProps = isExpandedView ? {} : {
127
+ role: "button",
128
+ tabIndex: 0,
129
+ "aria-haspopup": "dialog",
130
+ "aria-expanded": isOpen
131
+ };
132
+ return /* @__PURE__ */ jsx(motion.div, {
133
+ "data-slot": "expanded-card-body",
134
+ layoutId: `expanded-card-${uniqueId}`,
135
+ ref: setRef,
136
+ className: classes,
137
+ onClick: handleClick,
138
+ onKeyDown: handleKeyDown,
139
+ ...triggerProps,
140
+ ...props,
141
+ children
142
+ });
143
+ }
144
+ /**
145
+ * Окно раскрытия: затемнение и карточка по центру экрана, закрывается по Escape и клику снаружи
146
+ * @param props - пропсы окна
147
+ * @returns окно в портале или null, пока карточка свёрнута
148
+ */
149
+ function ExpandedCardExpand({ className, overlayClassName, showCloseButton = true, closeLabel = texts.close, children, ...props }) {
150
+ const { isOpen, uniqueId, triggerRef, setOpen } = useExpandedCard();
151
+ const panelRef = useRef(null);
152
+ const [isMounted, setMounted] = useState(false);
153
+ useEffect(() => {
154
+ setMounted(true);
155
+ }, []);
156
+ useEffect(() => {
157
+ if (!isOpen) return;
158
+ /**
159
+ * Escape закрывает окно
160
+ * @param event - событие клавиатуры
161
+ */
162
+ const handleEscape = (event) => {
163
+ if (event.key === "Escape") setOpen(false);
164
+ };
165
+ const trigger = triggerRef.current;
166
+ const blockedElements = [];
167
+ for (const element of document.body.children) {
168
+ const slot = element.getAttribute("data-slot");
169
+ if (slot === "expanded-card-overlay" || slot === "expanded-card-window") continue;
170
+ if (!element.hasAttribute("inert")) {
171
+ element.setAttribute("inert", "");
172
+ blockedElements.push(element);
173
+ }
174
+ }
175
+ lockBodyScroll();
176
+ document.addEventListener("keydown", handleEscape);
177
+ panelRef.current?.focus({ preventScroll: true });
178
+ return () => {
179
+ for (const element of blockedElements) element.removeAttribute("inert");
180
+ unlockBodyScroll();
181
+ trigger?.focus({ preventScroll: true });
182
+ document.removeEventListener("keydown", handleEscape);
183
+ };
184
+ }, [isOpen]);
185
+ if (!isMounted) return null;
186
+ const overlayClasses = cn("fixed", "inset-0", "z-50", "bg-black/10", "supports-backdrop-filter:backdrop-blur-xs", overlayClassName);
187
+ const bodyClasses = cn("pointer-events-auto", "max-h-[calc(100dvh-2rem)]", "w-full", "overflow-y-auto", "outline-none", className);
188
+ return createPortal(/* @__PURE__ */ jsxs(AnimatePresence, {
189
+ initial: false,
190
+ mode: "sync",
191
+ children: [isOpen && /* @__PURE__ */ jsx(motion.div, {
192
+ "data-slot": "expanded-card-overlay",
193
+ className: overlayClasses,
194
+ initial: { opacity: 0 },
195
+ animate: {
196
+ opacity: 1,
197
+ pointerEvents: "auto"
198
+ },
199
+ exit: {
200
+ opacity: 0,
201
+ pointerEvents: "none"
202
+ },
203
+ transition: { duration: .2 },
204
+ onClick: () => setOpen(false)
205
+ }, "overlay"), isOpen && /* @__PURE__ */ jsx("div", {
206
+ "data-slot": "expanded-card-window",
207
+ className: "pointer-events-none fixed inset-0 z-50 flex items-center justify-center p-4",
208
+ children: /* @__PURE__ */ jsxs(ExpandedCardPresence, {
209
+ className: "relative w-full max-w-2xl",
210
+ children: [/* @__PURE__ */ jsx(ExpandedViewContext.Provider, {
211
+ value: true,
212
+ children: /* @__PURE__ */ jsx(ExpandedCardBody, {
213
+ ref: panelRef,
214
+ role: "dialog",
215
+ "aria-modal": true,
216
+ "aria-labelledby": `${uniqueId}-title`,
217
+ tabIndex: -1,
218
+ className: bodyClasses,
219
+ ...props,
220
+ children
221
+ })
222
+ }), showCloseButton && /* @__PURE__ */ jsx(ExpandedCardClose, { label: closeLabel })]
223
+ })
224
+ }, "window")]
225
+ }), document.body);
226
+ }
227
+ /**
228
+ * Обёртка окна: пока оно закрывается (идёт анимация выхода), клики проходят сквозь него,
229
+ * поэтому карточку можно открыть снова, не дожидаясь конца анимации
230
+ * @param props - пропсы обёртки
231
+ * @param props.className - классы обёртки
232
+ * @param props.children - содержимое окна
233
+ * @returns обёртка окна
234
+ */
235
+ function ExpandedCardPresence({ className, children }) {
236
+ const isPresent = useIsPresent();
237
+ const classes = cn(className, !isPresent && ["*:pointer-events-none", "**:pointer-events-none"]);
238
+ return /* @__PURE__ */ jsx("div", {
239
+ className: classes,
240
+ children
241
+ });
242
+ }
243
+ /**
244
+ * Кнопка закрытия в углу окна
245
+ * @param props - подпись кнопки
246
+ * @param props.label - подпись для скринридера
247
+ * @returns кнопка закрытия
248
+ */
249
+ function ExpandedCardClose({ label }) {
250
+ const { setOpen } = useExpandedCard();
251
+ return /* @__PURE__ */ jsx(motion.div, {
252
+ "data-slot": "expanded-card-close",
253
+ className: "pointer-events-auto absolute top-2 right-2 z-10",
254
+ initial: { opacity: 0 },
255
+ animate: { opacity: 1 },
256
+ exit: {
257
+ opacity: 0,
258
+ transition: { duration: .1 }
259
+ },
260
+ transition: {
261
+ duration: .2,
262
+ delay: .2
263
+ },
264
+ children: /* @__PURE__ */ jsx(Button, {
265
+ variant: "ghost",
266
+ size: "icon-sm",
267
+ "aria-label": label,
268
+ className: "rounded-full bg-background/50 text-foreground/60 hover:bg-background/70",
269
+ onClick: () => setOpen(false),
270
+ children: /* @__PURE__ */ jsx(XIcon, {})
271
+ })
272
+ });
273
+ }
274
+ /**
275
+ * Заголовок: при раскрытии плавно переезжает на своё место в окне
276
+ * @param props - пропсы заголовка
277
+ * @returns заголовок
278
+ */
279
+ function ExpandedCardTitle({ className, ...props }) {
280
+ const { uniqueId } = useExpandedCard();
281
+ const id = useContext(ExpandedViewContext) ? `${uniqueId}-title` : void 0;
282
+ const classes = cn("mt-2", "px-4", "text-lg", "leading-6", "font-semibold", "tracking-tight", className);
283
+ return /* @__PURE__ */ jsx(motion.h2, {
284
+ "data-slot": "expanded-card-title",
285
+ id,
286
+ layout: "position",
287
+ layoutId: `expanded-card-title-${uniqueId}`,
288
+ className: classes,
289
+ ...props
290
+ });
291
+ }
292
+ /**
293
+ * Описание: при раскрытии плавно переезжает на своё место в окне
294
+ * @param props - пропсы описания
295
+ * @returns описание
296
+ */
297
+ function ExpandedCardDescription({ className, ...props }) {
298
+ const { uniqueId } = useExpandedCard();
299
+ const classes = cn("px-4", "text-sm", "text-muted-foreground", className);
300
+ return /* @__PURE__ */ jsx(motion.p, {
301
+ "data-slot": "expanded-card-description",
302
+ layout: "position",
303
+ layoutId: `expanded-card-description-${uniqueId}`,
304
+ className: classes,
305
+ ...props
306
+ });
307
+ }
308
+ /**
309
+ * Изображение карточки: на всю ширину, обрезается сверху
310
+ * @param props - пропсы изображения
311
+ * @returns изображение
312
+ */
313
+ function ExpandedCardImage({ className, alt = "", ...props }) {
314
+ const classes = cn("h-full", "w-full", "object-cover", "object-top", className);
315
+ return /* @__PURE__ */ jsx("img", {
316
+ "data-slot": "expanded-card-image",
317
+ alt,
318
+ className: classes,
319
+ ...props
320
+ });
321
+ }
322
+ /**
323
+ * Содержимое, которое видно только в раскрытом окне: появляется с небольшой задержкой
324
+ * @param props - пропсы содержимого
325
+ * @returns содержимое
326
+ */
327
+ function ExpandedCardContent({ className, ...props }) {
328
+ const classes = cn("overflow-hidden", "p-4", className);
329
+ return /* @__PURE__ */ jsx(motion.div, {
330
+ "data-slot": "expanded-card-content",
331
+ className: classes,
332
+ initial: {
333
+ opacity: 0,
334
+ y: 6
335
+ },
336
+ animate: {
337
+ opacity: 1,
338
+ y: 0
339
+ },
340
+ exit: {
341
+ opacity: 0,
342
+ y: 6
343
+ },
344
+ transition: {
345
+ ease: "easeIn",
346
+ duration: .3,
347
+ delay: .2
348
+ },
349
+ ...props
350
+ });
351
+ }
352
+ export { ExpandedCard, ExpandedCardBody, ExpandedCardContent, ExpandedCardDescription, ExpandedCardExpand, ExpandedCardImage, ExpandedCardTitle };
@@ -0,0 +1,3 @@
1
+ import { ExpandedCardBodyPropsT, ExpandedCardContentPropsT, ExpandedCardDescriptionPropsT, ExpandedCardExpandPropsT, ExpandedCardImagePropsT, ExpandedCardPropsT, ExpandedCardTitlePropsT } from "./types.js";
2
+ import { ExpandedCard, ExpandedCardBody, ExpandedCardContent, ExpandedCardDescription, ExpandedCardExpand, ExpandedCardImage, ExpandedCardTitle } from "./expanded-card.js";
3
+ export { ExpandedCard, ExpandedCardBody, type ExpandedCardBodyPropsT, ExpandedCardContent, type ExpandedCardContentPropsT, ExpandedCardDescription, type ExpandedCardDescriptionPropsT, ExpandedCardExpand, type ExpandedCardExpandPropsT, ExpandedCardImage, type ExpandedCardImagePropsT, type ExpandedCardPropsT, ExpandedCardTitle, type ExpandedCardTitlePropsT };
@@ -0,0 +1 @@
1
+ export { ExpandedCard, ExpandedCardBody, ExpandedCardContent, ExpandedCardDescription, ExpandedCardExpand, ExpandedCardImage, ExpandedCardTitle } from "./expanded-card.js";
@@ -0,0 +1,52 @@
1
+ import { ComponentProps, ReactNode, RefObject } from "react";
2
+ import { Transition } from "motion/react";
3
+ /**
4
+ * Пропсы карточки
5
+ */
6
+ export type ExpandedCardPropsT = {
7
+ /** Раскрыта ли карточка (контролируемый режим) */
8
+ open?: boolean;
9
+ /** Раскрыта ли карточка при первом рендере (неконтролируемый режим) */
10
+ defaultOpen?: boolean;
11
+ /** Карточку раскрыли или закрыли */
12
+ onOpenChange?: (open: boolean) => void;
13
+ /** Анимация раскрытия: параметры motion, например { type: 'spring', duration: 0.6 } */
14
+ transition?: Transition;
15
+ /** Свёрнутая карточка и окно раскрытия */
16
+ children?: ReactNode;
17
+ };
18
+ /**
19
+ * Пропсы карточки-тела без обработчиков, которые у motion имеют другие типы
20
+ */
21
+ export type MotionDivPropsT = Omit<ComponentProps<'div'>, 'onDrag' | 'onDragStart' | 'onDragEnd' | 'onAnimationStart' | 'style'>;
22
+ /**
23
+ * Пропсы тела карточки
24
+ */
25
+ export type ExpandedCardBodyPropsT = MotionDivPropsT;
26
+ /**
27
+ * Пропсы окна раскрытия
28
+ */
29
+ export type ExpandedCardExpandPropsT = MotionDivPropsT & {
30
+ /** Классы затемнения под окном */
31
+ overlayClassName?: string;
32
+ /** Показывать ли кнопку закрытия */
33
+ showCloseButton?: boolean;
34
+ /** Подпись кнопки закрытия для скринридера и подсказки, по умолчанию «Закрыть» */
35
+ closeLabel?: string;
36
+ };
37
+ /**
38
+ * Пропсы заголовка карточки
39
+ */
40
+ export type ExpandedCardTitlePropsT = Omit<ComponentProps<'h2'>, 'onDrag' | 'onDragStart' | 'onDragEnd' | 'onAnimationStart' | 'style'>;
41
+ /**
42
+ * Пропсы описания карточки
43
+ */
44
+ export type ExpandedCardDescriptionPropsT = Omit<ComponentProps<'p'>, 'onDrag' | 'onDragStart' | 'onDragEnd' | 'onAnimationStart' | 'style'>;
45
+ /**
46
+ * Пропсы изображения карточки
47
+ */
48
+ export type ExpandedCardImagePropsT = ComponentProps<'img'>;
49
+ /**
50
+ * Пропсы содержимого окна
51
+ */
52
+ export type ExpandedCardContentPropsT = MotionDivPropsT;
@@ -0,0 +1,62 @@
1
+ import { FieldContentPropsT, FieldDescriptionPropsT, FieldErrorPropsT, FieldGroupPropsT, FieldLabelPropsT, FieldLegendPropsT, FieldPropsT, FieldSeparatorPropsT, FieldSetPropsT, FieldTitlePropsT } from "./types.js";
2
+ /**
3
+ * Набор полей: fieldset с заголовком FieldLegend
4
+ * @param props - пропсы набора
5
+ * @returns fieldset
6
+ */
7
+ export declare function FieldSet({ className, ...props }: FieldSetPropsT): import("react").JSX.Element;
8
+ /**
9
+ * Заголовок набора полей
10
+ * @param props - пропсы заголовка
11
+ * @returns legend
12
+ */
13
+ export declare function FieldLegend({ className, variant, ...props }: FieldLegendPropsT): import("react").JSX.Element;
14
+ /**
15
+ * Группа полей: столбик полей с отступами; контейнер для orientation="responsive"
16
+ * @param props - пропсы группы
17
+ * @returns div
18
+ */
19
+ export declare function FieldGroup({ className, ...props }: FieldGroupPropsT): import("react").JSX.Element;
20
+ /**
21
+ * Поле формы: подпись, элемент управления, описание и ошибка.
22
+ * data-invalid={true} красит поле в цвет ошибки, data-disabled={true} приглушает подпись
23
+ * @param props - пропсы поля
24
+ * @returns div с role="group"
25
+ */
26
+ export declare function Field({ className, orientation, ...props }: FieldPropsT): import("react").JSX.Element;
27
+ /**
28
+ * Содержимое поля: подпись и описание столбиком рядом с флажком или переключателем
29
+ * @param props - пропсы содержимого
30
+ * @returns div
31
+ */
32
+ export declare function FieldContent({ className, ...props }: FieldContentPropsT): import("react").JSX.Element;
33
+ /**
34
+ * Подпись поля. С Field внутри становится карточкой выбора
35
+ * @param props - пропсы подписи
36
+ * @returns label
37
+ */
38
+ export declare function FieldLabel({ className, ...props }: FieldLabelPropsT): import("react").JSX.Element;
39
+ /**
40
+ * Заголовок поля: как подпись, но не label — для карточек выбора
41
+ * @param props - пропсы заголовка
42
+ * @returns div
43
+ */
44
+ export declare function FieldTitle({ className, ...props }: FieldTitlePropsT): import("react").JSX.Element;
45
+ /**
46
+ * Описание поля: подсказка серым текстом
47
+ * @param props - пропсы описания
48
+ * @returns p
49
+ */
50
+ export declare function FieldDescription({ className, ...props }: FieldDescriptionPropsT): import("react").JSX.Element;
51
+ /**
52
+ * Разделитель полей: линия, при необходимости с текстом посередине
53
+ * @param props - пропсы разделителя
54
+ * @returns div
55
+ */
56
+ export declare function FieldSeparator({ children, className, ...props }: FieldSeparatorPropsT): import("react").JSX.Element;
57
+ /**
58
+ * Ошибка поля: красный текст под элементом управления, озвучивается сразу
59
+ * @param props - пропсы ошибки
60
+ * @returns div с role="alert" или null, если ошибок нет
61
+ */
62
+ export declare function FieldError({ className, children, errors, ...props }: FieldErrorPropsT): import("react").JSX.Element | null;