@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,147 @@
1
+ "use client";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { DATE_FORMAT, DATE_MASK, texts } from "../../lib/locale.js";
4
+ import { formatDate } from "../../lib/format.js";
5
+ import { Calendar } from "../calendar/calendar.js";
6
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../input-group/input-group.js";
7
+ import { useControllableState } from "../../lib/use-controllable-state.js";
8
+ import { Popover, PopoverContent, PopoverTrigger } from "../popover/popover.js";
9
+ import { isValid, parse } from "date-fns";
10
+ import { CalendarIcon } from "lucide-react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { useState } from "react";
13
+ // src/components/date-input/date-input.tsx
14
+ /** Цифр в полной дате дд.мм.гггг */
15
+ const DATE_DIGITS = 8;
16
+ /**
17
+ * Наложить маску дд.мм.гггг на цифры
18
+ * @param raw - текст из поля
19
+ * @returns текст с точками: 31.12.2026
20
+ */
21
+ function maskDate(raw) {
22
+ const digits = raw.replace(/\D/g, "").slice(0, DATE_DIGITS);
23
+ const day = digits.slice(0, 2);
24
+ const month = digits.slice(2, 4);
25
+ const year = digits.slice(4, 8);
26
+ let result = day;
27
+ if (digits.length > 2) result += `.${month}`;
28
+ if (digits.length > 4) result += `.${year}`;
29
+ return result;
30
+ }
31
+ /**
32
+ * Дата из текста, если он полный и дата существует
33
+ * @param text - текст дд.мм.гггг
34
+ * @returns дата или null
35
+ */
36
+ function parseDate(text) {
37
+ if (text.replace(/\D/g, "").length !== DATE_DIGITS) return null;
38
+ const date = parse(text, DATE_FORMAT, /* @__PURE__ */ new Date());
39
+ if (!isValid(date)) return null;
40
+ return date;
41
+ }
42
+ /**
43
+ * Поле даты: ввод по маске дд.мм.гггг и выбор в календаре
44
+ * @param props - пропсы поля; value — дата, onValueChange — дата или null
45
+ * @returns группа поля
46
+ */
47
+ function DateInput({ value, defaultValue = null, onValueChange, showCalendar = true, calendarLabel = texts.pickDate, captionLayout = "label", startMonth, endMonth, disabledDates, groupClassName, placeholder = DATE_MASK, onChange, onKeyDown, disabled, ...props }) {
48
+ const [date, setDate] = useControllableState({
49
+ prop: value,
50
+ defaultProp: defaultValue,
51
+ onChange: onValueChange,
52
+ caller: "DateInput"
53
+ });
54
+ const [text, setText] = useState(() => date ? formatDate(date) : "");
55
+ const [open, setOpen] = useState(false);
56
+ const [month, setMonth] = useState(date ?? void 0);
57
+ const parsed = parseDate(text);
58
+ const isTextInSync = parsed?.getTime() === date?.getTime() || parsed === null && date === null;
59
+ const dateText = date ? formatDate(date) : "";
60
+ const shownText = isTextInSync ? text : dateText;
61
+ const selected = date ?? void 0;
62
+ const classes = cn(groupClassName);
63
+ /**
64
+ * Новый текст поля: наложить маску; полная верная дата уходит наружу
65
+ * @param event - событие изменения
66
+ */
67
+ const handleChange = (event) => {
68
+ onChange?.(event);
69
+ const nextText = maskDate(event.target.value);
70
+ const nextDate = parseDate(nextText);
71
+ setText(nextText);
72
+ if (nextDate) {
73
+ setDate(nextDate);
74
+ setMonth(nextDate);
75
+ } else if (date !== null) setDate(null);
76
+ };
77
+ /**
78
+ * Стрелка вниз открывает календарь
79
+ * @param event - нажатие клавиши
80
+ */
81
+ const handleKeyDown = (event) => {
82
+ onKeyDown?.(event);
83
+ if (event.key === "ArrowDown" && showCalendar) {
84
+ event.preventDefault();
85
+ setOpen(true);
86
+ }
87
+ };
88
+ /**
89
+ * Выбрана дата в календаре: показать в поле и закрыть
90
+ * @param day - выбранная дата или undefined
91
+ */
92
+ const selectDate = (day) => {
93
+ const nextDate = day ?? null;
94
+ const nextText = day ? formatDate(day) : "";
95
+ setDate(nextDate);
96
+ setText(nextText);
97
+ setOpen(false);
98
+ };
99
+ return /* @__PURE__ */ jsxs(InputGroup, {
100
+ "data-slot": "date-input",
101
+ "data-disabled": disabled,
102
+ className: classes,
103
+ children: [/* @__PURE__ */ jsx(InputGroupInput, {
104
+ type: "text",
105
+ inputMode: "numeric",
106
+ autoComplete: "off",
107
+ placeholder,
108
+ value: shownText,
109
+ onChange: handleChange,
110
+ onKeyDown: handleKeyDown,
111
+ disabled,
112
+ ...props
113
+ }), showCalendar && /* @__PURE__ */ jsx(InputGroupAddon, {
114
+ align: "inline-end",
115
+ children: /* @__PURE__ */ jsxs(Popover, {
116
+ open,
117
+ onOpenChange: setOpen,
118
+ children: [/* @__PURE__ */ jsx(PopoverTrigger, {
119
+ render: /* @__PURE__ */ jsx(InputGroupButton, {
120
+ variant: "ghost",
121
+ size: "icon-xs",
122
+ "aria-label": calendarLabel,
123
+ disabled
124
+ }),
125
+ children: /* @__PURE__ */ jsx(CalendarIcon, {})
126
+ }), /* @__PURE__ */ jsx(PopoverContent, {
127
+ className: "w-auto overflow-hidden p-0",
128
+ align: "end",
129
+ alignOffset: -8,
130
+ sideOffset: 10,
131
+ children: /* @__PURE__ */ jsx(Calendar, {
132
+ mode: "single",
133
+ selected,
134
+ onSelect: selectDate,
135
+ month,
136
+ onMonthChange: setMonth,
137
+ captionLayout,
138
+ startMonth,
139
+ endMonth,
140
+ disabled: disabledDates
141
+ })
142
+ })]
143
+ })
144
+ })]
145
+ });
146
+ }
147
+ export { DateInput };
@@ -0,0 +1,3 @@
1
+ import { DateInputPropsT } from "./types.js";
2
+ import { DateInput } from "./date-input.js";
3
+ export { DateInput, type DateInputPropsT };
@@ -0,0 +1 @@
1
+ export { DateInput } from "./date-input.js";
@@ -0,0 +1,27 @@
1
+ import { InputPropsT } from "../input/types.js";
2
+ import { Matcher } from "react-day-picker";
3
+ /**
4
+ * Пропсы поля даты
5
+ */
6
+ export type DateInputPropsT = Omit<InputPropsT, 'type' | 'value' | 'defaultValue' | 'inputMode'> & {
7
+ /** Дата — контролируемый режим, вместе с onValueChange. null — дата не введена */
8
+ value?: Date | null;
9
+ /** Дата при первом рендере — неконтролируемый режим */
10
+ defaultValue?: Date | null;
11
+ /** Введена полная верная дата или поле очищено: дата или null */
12
+ onValueChange?: (value: Date | null) => void;
13
+ /** Показать кнопку календаря справа. По умолчанию true */
14
+ showCalendar?: boolean;
15
+ /** Подпись кнопки календаря для скринридеров. По умолчанию «Выберите дату» */
16
+ calendarLabel?: string;
17
+ /** label — заголовок месяца, dropdown — списки месяца и года. По умолчанию label */
18
+ captionLayout?: 'label' | 'dropdown' | 'dropdown-months' | 'dropdown-years';
19
+ /** Первый месяц, до которого можно листать календарь */
20
+ startMonth?: Date;
21
+ /** Последний месяц, до которого можно листать календарь */
22
+ endMonth?: Date;
23
+ /** Недоступные в календаре даты: дата, массив, { before }, { after } или функция */
24
+ disabledDates?: Matcher | Matcher[];
25
+ /** Классы рамки поля */
26
+ groupClassName?: string;
27
+ };
@@ -0,0 +1,7 @@
1
+ import { DatePickerPropsT } from "./types.js";
2
+ /**
3
+ * Выбор даты: кнопка с датой в формате дд.мм.гггг открывает календарь
4
+ * @param props - пропсы; остальные пропсы уходят на кнопку (id, aria-invalid, disabled)
5
+ * @returns окно с календарём
6
+ */
7
+ export declare function DatePicker({ value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, placeholder, dateFormat, closeOnSelect, captionLayout, startMonth, endMonth, disabledDates, align, className, contentClassName, ...props }: DatePickerPropsT): import("react").JSX.Element;
@@ -0,0 +1,74 @@
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 { ChevronDownIcon } from "lucide-react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ // src/components/date-picker/date-picker.tsx
12
+ /**
13
+ * Выбор даты: кнопка с датой в формате дд.мм.гггг открывает календарь
14
+ * @param props - пропсы; остальные пропсы уходят на кнопку (id, aria-invalid, disabled)
15
+ * @returns окно с календарём
16
+ */
17
+ function DatePicker({ value, defaultValue = null, onValueChange, open, defaultOpen = false, onOpenChange, placeholder = texts.pickDate, dateFormat = DATE_FORMAT, closeOnSelect = true, captionLayout = "label", startMonth, endMonth, disabledDates, align = "start", className, contentClassName, ...props }) {
18
+ const [date, setDate] = useControllableState({
19
+ prop: value,
20
+ defaultProp: defaultValue,
21
+ onChange: onValueChange,
22
+ caller: "DatePicker"
23
+ });
24
+ const [isOpen, setOpen] = useControllableState({
25
+ prop: open,
26
+ defaultProp: defaultOpen,
27
+ onChange: onOpenChange,
28
+ caller: "DatePicker"
29
+ });
30
+ const isEmpty = date === null;
31
+ const label = date === null ? placeholder : formatDate(date, dateFormat);
32
+ const selected = date ?? void 0;
33
+ const classes = cn("w-[212px]", "justify-between", "text-left", "font-normal", "data-[empty=true]:text-muted-foreground", className);
34
+ const contentClasses = cn("w-auto", "overflow-hidden", "p-0", contentClassName);
35
+ /**
36
+ * Выбрана дата в календаре: сохранить и при необходимости закрыть
37
+ * @param day - выбранная дата или undefined, если выбор снят
38
+ */
39
+ const selectDate = (day) => {
40
+ setDate(day ?? null);
41
+ if (closeOnSelect) setOpen(false);
42
+ };
43
+ return /* @__PURE__ */ jsxs(Popover, {
44
+ open: isOpen,
45
+ onOpenChange: setOpen,
46
+ children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
47
+ render: /* @__PURE__ */ jsx(Button, {
48
+ "data-slot": "date-picker",
49
+ "data-empty": isEmpty,
50
+ variant: "outline",
51
+ className: classes,
52
+ ...props
53
+ }),
54
+ children: [/* @__PURE__ */ jsx("span", {
55
+ className: "truncate",
56
+ children: label
57
+ }), /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground" })]
58
+ }), /* @__PURE__ */ jsx(PopoverContent, {
59
+ className: contentClasses,
60
+ align,
61
+ children: /* @__PURE__ */ jsx(Calendar, {
62
+ mode: "single",
63
+ selected,
64
+ onSelect: selectDate,
65
+ defaultMonth: selected,
66
+ captionLayout,
67
+ startMonth,
68
+ endMonth,
69
+ disabled: disabledDates
70
+ })
71
+ })]
72
+ });
73
+ }
74
+ export { DatePicker };
@@ -0,0 +1,3 @@
1
+ import { DatePickerPropsT } from "./types.js";
2
+ import { DatePicker } from "./date-picker.js";
3
+ export { DatePicker, type DatePickerPropsT };
@@ -0,0 +1 @@
1
+ export { DatePicker } from "./date-picker.js";
@@ -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;