@masaraxui/react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/components/accordion/accordion.d.ts +30 -0
  4. package/dist/components/accordion/accordion.js +191 -0
  5. package/dist/components/accordion/index.d.ts +25 -0
  6. package/dist/components/accordion/index.js +18 -0
  7. package/dist/components/alert/alert.d.ts +15 -0
  8. package/dist/components/alert/alert.js +152 -0
  9. package/dist/components/alert/index.d.ts +21 -0
  10. package/dist/components/alert/index.js +16 -0
  11. package/dist/components/alert-dialog/alert-dialog.d.ts +65 -0
  12. package/dist/components/alert-dialog/alert-dialog.js +309 -0
  13. package/dist/components/alert-dialog/index.d.ts +33 -0
  14. package/dist/components/alert-dialog/index.js +22 -0
  15. package/dist/components/autocomplete/autocomplete.d.ts +31 -0
  16. package/dist/components/autocomplete/autocomplete.js +241 -0
  17. package/dist/components/autocomplete/index.d.ts +25 -0
  18. package/dist/components/autocomplete/index.js +18 -0
  19. package/dist/components/avatar/avatar.d.ts +15 -0
  20. package/dist/components/avatar/avatar.js +93 -0
  21. package/dist/components/avatar/index.d.ts +17 -0
  22. package/dist/components/avatar/index.js +14 -0
  23. package/dist/components/badge/badge.d.ts +19 -0
  24. package/dist/components/badge/badge.js +87 -0
  25. package/dist/components/badge/index.d.ts +17 -0
  26. package/dist/components/badge/index.js +14 -0
  27. package/dist/components/breadcrumbs/breadcrumbs.d.ts +14 -0
  28. package/dist/components/breadcrumbs/breadcrumbs.js +84 -0
  29. package/dist/components/breadcrumbs/index.d.ts +15 -0
  30. package/dist/components/breadcrumbs/index.js +13 -0
  31. package/dist/components/button/button.d.ts +10 -0
  32. package/dist/components/button/button.js +49 -0
  33. package/dist/components/button/index.d.ts +15 -0
  34. package/dist/components/button/index.js +13 -0
  35. package/dist/components/button-group/button-group.d.ts +26 -0
  36. package/dist/components/button-group/button-group.js +82 -0
  37. package/dist/components/button-group/index.d.ts +16 -0
  38. package/dist/components/button-group/index.js +14 -0
  39. package/dist/components/calendar/calendar.d.ts +71 -0
  40. package/dist/components/calendar/calendar.js +283 -0
  41. package/dist/components/calendar/index.d.ts +91 -0
  42. package/dist/components/calendar/index.js +29 -0
  43. package/dist/components/calendar-year-picker/calendar-year-picker.d.ts +61 -0
  44. package/dist/components/calendar-year-picker/calendar-year-picker.js +411 -0
  45. package/dist/components/calendar-year-picker/index.d.ts +43 -0
  46. package/dist/components/calendar-year-picker/index.js +18 -0
  47. package/dist/components/calendar-year-picker/year-picker-context.d.ts +28 -0
  48. package/dist/components/calendar-year-picker/year-picker-context.js +39 -0
  49. package/dist/components/card/card.d.ts +22 -0
  50. package/dist/components/card/card.js +141 -0
  51. package/dist/components/card/index.d.ts +23 -0
  52. package/dist/components/card/index.js +17 -0
  53. package/dist/components/checkbox/checkbox.d.ts +22 -0
  54. package/dist/components/checkbox/checkbox.js +124 -0
  55. package/dist/components/checkbox/index.d.ts +19 -0
  56. package/dist/components/checkbox/index.js +15 -0
  57. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  58. package/dist/components/checkbox-group/checkbox-group.js +33 -0
  59. package/dist/components/checkbox-group/index.d.ts +3 -0
  60. package/dist/components/checkbox-group/index.js +3 -0
  61. package/dist/components/chip/chip.d.ts +14 -0
  62. package/dist/components/chip/chip.js +67 -0
  63. package/dist/components/chip/index.d.ts +15 -0
  64. package/dist/components/chip/index.js +13 -0
  65. package/dist/components/close-button/close-button.d.ts +8 -0
  66. package/dist/components/close-button/close-button.js +33 -0
  67. package/dist/components/close-button/index.d.ts +13 -0
  68. package/dist/components/close-button/index.js +12 -0
  69. package/dist/components/color-area/color-area.d.ts +11 -0
  70. package/dist/components/color-area/color-area.js +70 -0
  71. package/dist/components/color-area/index.d.ts +15 -0
  72. package/dist/components/color-area/index.js +13 -0
  73. package/dist/components/color-field/color-field.d.ts +9 -0
  74. package/dist/components/color-field/color-field.js +29 -0
  75. package/dist/components/color-field/index.d.ts +22 -0
  76. package/dist/components/color-field/index.js +18 -0
  77. package/dist/components/color-input-group/color-input-group.d.ts +19 -0
  78. package/dist/components/color-input-group/color-input-group.js +98 -0
  79. package/dist/components/color-input-group/index.d.ts +19 -0
  80. package/dist/components/color-input-group/index.js +15 -0
  81. package/dist/components/color-picker/color-picker.d.ts +21 -0
  82. package/dist/components/color-picker/color-picker.js +86 -0
  83. package/dist/components/color-picker/index.d.ts +17 -0
  84. package/dist/components/color-picker/index.js +14 -0
  85. package/dist/components/color-slider/color-slider.d.ts +50 -0
  86. package/dist/components/color-slider/color-slider.js +205 -0
  87. package/dist/components/color-slider/index.d.ts +19 -0
  88. package/dist/components/color-slider/index.js +15 -0
  89. package/dist/components/color-swatch/color-swatch.d.ts +8 -0
  90. package/dist/components/color-swatch/color-swatch.js +31 -0
  91. package/dist/components/color-swatch/index.d.ts +13 -0
  92. package/dist/components/color-swatch/index.js +12 -0
  93. package/dist/components/color-swatch-picker/color-swatch-picker.d.ts +20 -0
  94. package/dist/components/color-swatch-picker/color-swatch-picker.js +149 -0
  95. package/dist/components/color-swatch-picker/index.d.ts +19 -0
  96. package/dist/components/color-swatch-picker/index.js +15 -0
  97. package/dist/components/combo-box/combo-box.d.ts +34 -0
  98. package/dist/components/combo-box/combo-box.js +116 -0
  99. package/dist/components/combo-box/index.d.ts +20 -0
  100. package/dist/components/combo-box/index.js +16 -0
  101. package/dist/components/date-field/date-field.d.ts +9 -0
  102. package/dist/components/date-field/date-field.js +29 -0
  103. package/dist/components/date-field/index.d.ts +26 -0
  104. package/dist/components/date-field/index.js +20 -0
  105. package/dist/components/date-input-group/date-input-group.d.ts +25 -0
  106. package/dist/components/date-input-group/date-input-group.js +146 -0
  107. package/dist/components/date-input-group/index.d.ts +23 -0
  108. package/dist/components/date-input-group/index.js +17 -0
  109. package/dist/components/date-picker/date-picker.d.ts +30 -0
  110. package/dist/components/date-picker/date-picker.js +151 -0
  111. package/dist/components/date-picker/index.d.ts +31 -0
  112. package/dist/components/date-picker/index.js +15 -0
  113. package/dist/components/date-range-picker/date-range-picker.d.ts +36 -0
  114. package/dist/components/date-range-picker/date-range-picker.js +173 -0
  115. package/dist/components/date-range-picker/index.d.ts +36 -0
  116. package/dist/components/date-range-picker/index.js +16 -0
  117. package/dist/components/description/description.d.ts +9 -0
  118. package/dist/components/description/description.js +22 -0
  119. package/dist/components/description/index.d.ts +13 -0
  120. package/dist/components/description/index.js +12 -0
  121. package/dist/components/disclosure/disclosure.d.ts +27 -0
  122. package/dist/components/disclosure/disclosure.js +157 -0
  123. package/dist/components/disclosure/index.d.ts +23 -0
  124. package/dist/components/disclosure/index.js +17 -0
  125. package/dist/components/disclosure-group/disclosure-group.d.ts +8 -0
  126. package/dist/components/disclosure-group/disclosure-group.js +35 -0
  127. package/dist/components/disclosure-group/index.d.ts +15 -0
  128. package/dist/components/disclosure-group/index.js +13 -0
  129. package/dist/components/disclosure-group/use-disclosure-group-navigation.d.ts +14 -0
  130. package/dist/components/disclosure-group/use-disclosure-group-navigation.js +51 -0
  131. package/dist/components/drawer/drawer.d.ts +84 -0
  132. package/dist/components/drawer/drawer.js +439 -0
  133. package/dist/components/drawer/index.d.ts +69 -0
  134. package/dist/components/drawer/index.js +22 -0
  135. package/dist/components/dropdown/dropdown.d.ts +38 -0
  136. package/dist/components/dropdown/dropdown.js +156 -0
  137. package/dist/components/dropdown/index.d.ts +29 -0
  138. package/dist/components/dropdown/index.js +20 -0
  139. package/dist/components/empty-state/empty-state.d.ts +7 -0
  140. package/dist/components/empty-state/empty-state.js +20 -0
  141. package/dist/components/empty-state/index.d.ts +13 -0
  142. package/dist/components/empty-state/index.js +12 -0
  143. package/dist/components/error-message/error-message.d.ts +9 -0
  144. package/dist/components/error-message/error-message.js +22 -0
  145. package/dist/components/error-message/index.d.ts +13 -0
  146. package/dist/components/error-message/index.js +12 -0
  147. package/dist/components/field-error/field-error.d.ts +8 -0
  148. package/dist/components/field-error/field-error.js +21 -0
  149. package/dist/components/field-error/index.d.ts +13 -0
  150. package/dist/components/field-error/index.js +12 -0
  151. package/dist/components/fieldset/fieldset.d.ts +16 -0
  152. package/dist/components/fieldset/fieldset.js +88 -0
  153. package/dist/components/fieldset/index.d.ts +19 -0
  154. package/dist/components/fieldset/index.js +15 -0
  155. package/dist/components/form/form.d.ts +7 -0
  156. package/dist/components/form/form.js +13 -0
  157. package/dist/components/form/index.d.ts +11 -0
  158. package/dist/components/form/index.js +11 -0
  159. package/dist/components/header/header.d.ts +7 -0
  160. package/dist/components/header/header.js +21 -0
  161. package/dist/components/header/index.d.ts +9 -0
  162. package/dist/components/header/index.js +10 -0
  163. package/dist/components/icons.d.ts +18 -0
  164. package/dist/components/icons.js +243 -0
  165. package/dist/components/index.d.ts +84 -0
  166. package/dist/components/input/index.d.ts +13 -0
  167. package/dist/components/input/index.js +12 -0
  168. package/dist/components/input/input.d.ts +8 -0
  169. package/dist/components/input/input.js +31 -0
  170. package/dist/components/input-group/index.d.ts +21 -0
  171. package/dist/components/input-group/index.js +16 -0
  172. package/dist/components/input-group/input-group.d.ts +20 -0
  173. package/dist/components/input-group/input-group.js +129 -0
  174. package/dist/components/input-otp/index.d.ts +22 -0
  175. package/dist/components/input-otp/index.js +21 -0
  176. package/dist/components/input-otp/input-otp.d.ts +26 -0
  177. package/dist/components/input-otp/input-otp.js +139 -0
  178. package/dist/components/kbd/index.d.ts +19 -0
  179. package/dist/components/kbd/index.js +15 -0
  180. package/dist/components/kbd/kbd.constants.d.ts +3 -0
  181. package/dist/components/kbd/kbd.constants.js +51 -0
  182. package/dist/components/kbd/kbd.d.ts +24 -0
  183. package/dist/components/kbd/kbd.js +76 -0
  184. package/dist/components/label/index.d.ts +13 -0
  185. package/dist/components/label/index.js +12 -0
  186. package/dist/components/label/label.d.ts +8 -0
  187. package/dist/components/label/label.js +27 -0
  188. package/dist/components/link/index.d.ts +15 -0
  189. package/dist/components/link/index.js +13 -0
  190. package/dist/components/link/link.d.ts +10 -0
  191. package/dist/components/link/link.js +59 -0
  192. package/dist/components/list-box/index.d.ts +23 -0
  193. package/dist/components/list-box/index.js +18 -0
  194. package/dist/components/list-box/list-box.d.ts +9 -0
  195. package/dist/components/list-box/list-box.js +23 -0
  196. package/dist/components/list-box-item/index.d.ts +15 -0
  197. package/dist/components/list-box-item/index.js +13 -0
  198. package/dist/components/list-box-item/list-box-item.d.ts +15 -0
  199. package/dist/components/list-box-item/list-box-item.js +77 -0
  200. package/dist/components/list-box-section/index.d.ts +10 -0
  201. package/dist/components/list-box-section/index.js +10 -0
  202. package/dist/components/list-box-section/list-box-section.d.ts +8 -0
  203. package/dist/components/list-box-section/list-box-section.js +22 -0
  204. package/dist/components/menu/index.d.ts +24 -0
  205. package/dist/components/menu/index.js +18 -0
  206. package/dist/components/menu/menu.d.ts +9 -0
  207. package/dist/components/menu/menu.js +20 -0
  208. package/dist/components/menu-item/index.d.ts +17 -0
  209. package/dist/components/menu-item/index.js +14 -0
  210. package/dist/components/menu-item/menu-item.d.ts +20 -0
  211. package/dist/components/menu-item/menu-item.js +123 -0
  212. package/dist/components/menu-section/index.d.ts +10 -0
  213. package/dist/components/menu-section/index.js +10 -0
  214. package/dist/components/menu-section/menu-section.d.ts +8 -0
  215. package/dist/components/menu-section/menu-section.js +22 -0
  216. package/dist/components/meter/index.d.ts +34 -0
  217. package/dist/components/meter/index.js +15 -0
  218. package/dist/components/meter/meter.d.ts +29 -0
  219. package/dist/components/meter/meter.js +108 -0
  220. package/dist/components/modal/index.d.ts +33 -0
  221. package/dist/components/modal/index.js +22 -0
  222. package/dist/components/modal/modal.d.ts +53 -0
  223. package/dist/components/modal/modal.js +288 -0
  224. package/dist/components/number-field/index.d.ts +21 -0
  225. package/dist/components/number-field/index.js +16 -0
  226. package/dist/components/number-field/number-field.d.ts +20 -0
  227. package/dist/components/number-field/number-field.js +127 -0
  228. package/dist/components/pagination/index.d.ts +64 -0
  229. package/dist/components/pagination/index.js +21 -0
  230. package/dist/components/pagination/pagination.d.ts +84 -0
  231. package/dist/components/pagination/pagination.js +230 -0
  232. package/dist/components/popover/index.d.ts +23 -0
  233. package/dist/components/popover/index.js +17 -0
  234. package/dist/components/popover/popover.d.ts +24 -0
  235. package/dist/components/popover/popover.js +153 -0
  236. package/dist/components/progress-bar/index.d.ts +34 -0
  237. package/dist/components/progress-bar/index.js +15 -0
  238. package/dist/components/progress-bar/progress-bar.d.ts +29 -0
  239. package/dist/components/progress-bar/progress-bar.js +108 -0
  240. package/dist/components/progress-circle/index.d.ts +34 -0
  241. package/dist/components/progress-circle/index.js +15 -0
  242. package/dist/components/progress-circle/progress-circle.d.ts +29 -0
  243. package/dist/components/progress-circle/progress-circle.js +126 -0
  244. package/dist/components/rac/components.d.ts +1 -0
  245. package/dist/components/rac/index.d.ts +5 -0
  246. package/dist/components/rac/index.js +3 -0
  247. package/dist/components/rac/types.d.ts +3 -0
  248. package/dist/components/rac/utils.d.ts +1 -0
  249. package/dist/components/radio/index.d.ts +19 -0
  250. package/dist/components/radio/index.js +15 -0
  251. package/dist/components/radio/radio.d.ts +21 -0
  252. package/dist/components/radio/radio.js +97 -0
  253. package/dist/components/radio-group/index.d.ts +13 -0
  254. package/dist/components/radio-group/index.js +12 -0
  255. package/dist/components/radio-group/radio-group.d.ts +8 -0
  256. package/dist/components/radio-group/radio-group.js +27 -0
  257. package/dist/components/range-calendar/index.d.ts +91 -0
  258. package/dist/components/range-calendar/index.js +29 -0
  259. package/dist/components/range-calendar/range-calendar.d.ts +71 -0
  260. package/dist/components/range-calendar/range-calendar.js +298 -0
  261. package/dist/components/scroll-shadow/index.d.ts +21 -0
  262. package/dist/components/scroll-shadow/index.js +13 -0
  263. package/dist/components/scroll-shadow/scroll-shadow.d.ts +32 -0
  264. package/dist/components/scroll-shadow/scroll-shadow.js +76 -0
  265. package/dist/components/scroll-shadow/use-scroll-shadow.d.ts +11 -0
  266. package/dist/components/scroll-shadow/use-scroll-shadow.js +121 -0
  267. package/dist/components/search-field/index.d.ts +21 -0
  268. package/dist/components/search-field/index.js +16 -0
  269. package/dist/components/search-field/search-field.d.ts +23 -0
  270. package/dist/components/search-field/search-field.js +127 -0
  271. package/dist/components/select/index.d.ts +21 -0
  272. package/dist/components/select/index.js +16 -0
  273. package/dist/components/select/select.d.ts +24 -0
  274. package/dist/components/select/select.js +140 -0
  275. package/dist/components/separator/index.d.ts +13 -0
  276. package/dist/components/separator/index.js +12 -0
  277. package/dist/components/separator/separator.d.ts +8 -0
  278. package/dist/components/separator/separator.js +27 -0
  279. package/dist/components/skeleton/index.d.ts +13 -0
  280. package/dist/components/skeleton/index.js +12 -0
  281. package/dist/components/skeleton/skeleton.d.ts +7 -0
  282. package/dist/components/skeleton/skeleton.js +25 -0
  283. package/dist/components/slider/index.d.ts +23 -0
  284. package/dist/components/slider/index.js +17 -0
  285. package/dist/components/slider/slider.d.ts +23 -0
  286. package/dist/components/slider/slider.js +177 -0
  287. package/dist/components/spinner/index.d.ts +13 -0
  288. package/dist/components/spinner/index.js +12 -0
  289. package/dist/components/spinner/spinner.d.ts +7 -0
  290. package/dist/components/spinner/spinner.js +88 -0
  291. package/dist/components/surface/index.d.ts +14 -0
  292. package/dist/components/surface/index.js +13 -0
  293. package/dist/components/surface/surface.d.ts +12 -0
  294. package/dist/components/surface/surface.js +34 -0
  295. package/dist/components/switch/index.d.ts +21 -0
  296. package/dist/components/switch/index.js +16 -0
  297. package/dist/components/switch/switch.d.ts +20 -0
  298. package/dist/components/switch/switch.js +118 -0
  299. package/dist/components/switch-group/index.d.ts +13 -0
  300. package/dist/components/switch-group/index.js +12 -0
  301. package/dist/components/switch-group/switch-group.d.ts +7 -0
  302. package/dist/components/switch-group/switch-group.js +25 -0
  303. package/dist/components/table/index.d.ts +38 -0
  304. package/dist/components/table/index.js +25 -0
  305. package/dist/components/table/table.d.ts +50 -0
  306. package/dist/components/table/table.js +283 -0
  307. package/dist/components/tabs/index.d.ts +25 -0
  308. package/dist/components/tabs/index.js +18 -0
  309. package/dist/components/tabs/tabs.d.ts +37 -0
  310. package/dist/components/tabs/tabs.js +156 -0
  311. package/dist/components/tag/index.d.ts +15 -0
  312. package/dist/components/tag/index.js +13 -0
  313. package/dist/components/tag/tag.d.ts +14 -0
  314. package/dist/components/tag/tag.js +85 -0
  315. package/dist/components/tag-group/index.d.ts +15 -0
  316. package/dist/components/tag-group/index.js +14 -0
  317. package/dist/components/tag-group/tag-group.d.ts +20 -0
  318. package/dist/components/tag-group/tag-group.js +59 -0
  319. package/dist/components/text/index.d.ts +13 -0
  320. package/dist/components/text/index.js +12 -0
  321. package/dist/components/text/text.d.ts +8 -0
  322. package/dist/components/text/text.js +25 -0
  323. package/dist/components/textarea/index.d.ts +13 -0
  324. package/dist/components/textarea/index.js +12 -0
  325. package/dist/components/textarea/textarea.d.ts +8 -0
  326. package/dist/components/textarea/textarea.js +27 -0
  327. package/dist/components/textfield/index.d.ts +14 -0
  328. package/dist/components/textfield/index.js +13 -0
  329. package/dist/components/textfield/textfield.d.ts +18 -0
  330. package/dist/components/textfield/textfield.js +39 -0
  331. package/dist/components/time-field/index.d.ts +26 -0
  332. package/dist/components/time-field/index.js +20 -0
  333. package/dist/components/time-field/time-field.d.ts +9 -0
  334. package/dist/components/time-field/time-field.js +29 -0
  335. package/dist/components/toast/constants.d.ts +6 -0
  336. package/dist/components/toast/constants.js +15 -0
  337. package/dist/components/toast/index.d.ts +75 -0
  338. package/dist/components/toast/index.js +23 -0
  339. package/dist/components/toast/toast-queue.d.ts +70 -0
  340. package/dist/components/toast/toast-queue.js +147 -0
  341. package/dist/components/toast/toast.d.ts +69 -0
  342. package/dist/components/toast/toast.js +365 -0
  343. package/dist/components/toggle-button/index.d.ts +13 -0
  344. package/dist/components/toggle-button/index.js +12 -0
  345. package/dist/components/toggle-button/toggle-button.d.ts +8 -0
  346. package/dist/components/toggle-button/toggle-button.js +36 -0
  347. package/dist/components/toggle-button-group/index.d.ts +16 -0
  348. package/dist/components/toggle-button-group/index.js +14 -0
  349. package/dist/components/toggle-button-group/toggle-button-group.d.ts +25 -0
  350. package/dist/components/toggle-button-group/toggle-button-group.js +70 -0
  351. package/dist/components/toolbar/index.d.ts +19 -0
  352. package/dist/components/toolbar/index.js +12 -0
  353. package/dist/components/toolbar/toolbar.d.ts +11 -0
  354. package/dist/components/toolbar/toolbar.js +39 -0
  355. package/dist/components/tooltip/index.d.ts +19 -0
  356. package/dist/components/tooltip/index.js +15 -0
  357. package/dist/components/tooltip/tooltip.d.ts +20 -0
  358. package/dist/components/tooltip/tooltip.js +106 -0
  359. package/dist/hooks/index.d.ts +9 -0
  360. package/dist/hooks/use-css-variable.d.ts +36 -0
  361. package/dist/hooks/use-css-variable.js +72 -0
  362. package/dist/hooks/use-is-hydrated.d.ts +19 -0
  363. package/dist/hooks/use-is-hydrated.js +28 -0
  364. package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -0
  365. package/dist/hooks/use-isomorphic-layout-effect.js +6 -0
  366. package/dist/hooks/use-list-data.d.ts +111 -0
  367. package/dist/hooks/use-list-data.js +296 -0
  368. package/dist/hooks/use-measured-height.d.ts +4 -0
  369. package/dist/hooks/use-measured-height.js +47 -0
  370. package/dist/hooks/use-media-query.d.ts +6 -0
  371. package/dist/hooks/use-media-query.js +50 -0
  372. package/dist/hooks/use-mounted.d.ts +1 -0
  373. package/dist/hooks/use-mounted.js +15 -0
  374. package/dist/hooks/use-overlay-state.d.ts +52 -0
  375. package/dist/hooks/use-overlay-state.js +70 -0
  376. package/dist/hooks/use-safe-layout-effect.d.ts +2 -0
  377. package/dist/hooks/use-safe-layout-effect.js +6 -0
  378. package/dist/index.d.ts +3 -0
  379. package/dist/index.js +190 -0
  380. package/dist/prerelease.d.ts +4 -0
  381. package/dist/prerelease.js +50 -0
  382. package/dist/styles.css +2 -0
  383. package/dist/utils/assertion.d.ts +9 -0
  384. package/dist/utils/assertion.js +3 -0
  385. package/dist/utils/calendar.d.ts +12 -0
  386. package/dist/utils/calendar.js +52 -0
  387. package/dist/utils/children.d.ts +9 -0
  388. package/dist/utils/children.js +17 -0
  389. package/dist/utils/compose.d.ts +7 -0
  390. package/dist/utils/compose.js +18 -0
  391. package/dist/utils/index.d.ts +6 -0
  392. package/dist/utils/logger.d.ts +23 -0
  393. package/dist/utils/logger.js +78 -0
  394. package/dist/utils/tv.d.ts +3 -0
  395. package/dist/utils/variants.d.ts +73 -0
  396. package/dist/version.d.ts +1 -0
  397. package/dist/version.js +5 -0
  398. package/package.json +406 -0
@@ -0,0 +1,84 @@
1
+ import type { UseOverlayStateReturn } from "../../hooks/use-overlay-state";
2
+ import type { DrawerVariants } from "@masaraxui/styles";
3
+ import type { ComponentPropsWithRef, ReactNode } from "react";
4
+ import type { ButtonProps as ButtonPrimitiveProps, DialogProps as DialogPrimitiveProps } from "react-aria-components";
5
+ import { Button as ButtonPrimitive, DialogTrigger as DrawerTriggerPrimitive, Heading as HeadingPrimitive, ModalOverlay as ModalOverlayPrimitive, Modal as ModalPrimitive } from "react-aria-components";
6
+ type DrawerPlacement = "top" | "bottom" | "left" | "right";
7
+ interface DrawerRootProps extends ComponentPropsWithRef<typeof DrawerTriggerPrimitive> {
8
+ state?: UseOverlayStateReturn;
9
+ }
10
+ declare const DrawerRoot: {
11
+ ({ children, state, ...props }: DrawerRootProps): import("react/jsx-runtime").JSX.Element;
12
+ displayName: string;
13
+ };
14
+ interface DrawerTriggerProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
15
+ }
16
+ declare const DrawerTrigger: {
17
+ ({ children, className, ...props }: DrawerTriggerProps): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
20
+ interface DrawerBackdropProps extends ComponentPropsWithRef<typeof ModalOverlayPrimitive> {
21
+ variant?: DrawerVariants["variant"];
22
+ /**
23
+ * Whether to close the drawer when the user interacts outside it.
24
+ * @default true
25
+ */
26
+ isDismissable?: boolean;
27
+ }
28
+ declare const DrawerBackdrop: {
29
+ ({ children, className, isDismissable, variant, ...props }: DrawerBackdropProps): import("react/jsx-runtime").JSX.Element;
30
+ displayName: string;
31
+ };
32
+ interface DrawerContentProps extends Omit<ComponentPropsWithRef<typeof ModalPrimitive>, Exclude<keyof DrawerBackdropProps, "children" | "className">> {
33
+ placement?: DrawerPlacement;
34
+ }
35
+ declare const DrawerContent: {
36
+ ({ children, className, placement, ...props }: DrawerContentProps): import("react/jsx-runtime").JSX.Element;
37
+ displayName: string;
38
+ };
39
+ interface DrawerDialogProps extends DialogPrimitiveProps {
40
+ }
41
+ declare const DrawerDialog: {
42
+ ({ children, className, ...props }: DrawerDialogProps): import("react/jsx-runtime").JSX.Element;
43
+ displayName: string;
44
+ };
45
+ interface DrawerHeaderProps extends ComponentPropsWithRef<"div"> {
46
+ }
47
+ declare const DrawerHeader: {
48
+ ({ children, className, ...props }: DrawerHeaderProps): import("react/jsx-runtime").JSX.Element;
49
+ displayName: string;
50
+ };
51
+ interface DrawerBodyProps extends ComponentPropsWithRef<"div"> {
52
+ }
53
+ declare const DrawerBody: {
54
+ ({ children, className, ...props }: DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
55
+ displayName: string;
56
+ };
57
+ interface DrawerFooterProps extends ComponentPropsWithRef<"div"> {
58
+ }
59
+ declare const DrawerFooter: {
60
+ ({ children, className, ...props }: DrawerFooterProps): import("react/jsx-runtime").JSX.Element;
61
+ displayName: string;
62
+ };
63
+ interface DrawerHeadingProps extends ComponentPropsWithRef<typeof HeadingPrimitive> {
64
+ }
65
+ declare const DrawerHeading: {
66
+ ({ children, className, ...props }: DrawerHeadingProps): import("react/jsx-runtime").JSX.Element;
67
+ displayName: string;
68
+ };
69
+ interface DrawerHandleProps extends ComponentPropsWithRef<"div"> {
70
+ }
71
+ declare const DrawerHandle: {
72
+ ({ className, ...props }: DrawerHandleProps): import("react/jsx-runtime").JSX.Element;
73
+ displayName: string;
74
+ };
75
+ interface DrawerCloseTriggerProps extends ButtonPrimitiveProps {
76
+ className?: string;
77
+ children?: ReactNode;
78
+ }
79
+ declare const DrawerCloseTrigger: {
80
+ ({ className, ...rest }: DrawerCloseTriggerProps): import("react/jsx-runtime").JSX.Element;
81
+ displayName: string;
82
+ };
83
+ export { DrawerRoot, DrawerTrigger, DrawerBackdrop, DrawerContent, DrawerDialog, DrawerHeader, DrawerHeading, DrawerBody, DrawerFooter, DrawerHandle, DrawerCloseTrigger, };
84
+ export type { DrawerRootProps, DrawerTriggerProps, DrawerBackdropProps, DrawerContentProps, DrawerDialogProps, DrawerHeaderProps, DrawerHeadingProps, DrawerBodyProps, DrawerFooterProps, DrawerHandleProps, DrawerCloseTriggerProps, };
@@ -0,0 +1,439 @@
1
+ "use client";
2
+ import { drawerVariants } from '@masaraxui/styles';
3
+ import { mergeProps } from '@react-aria/utils';
4
+ import { useMemo, createContext, useContext, useRef, useCallback } from 'react';
5
+ import { DialogTrigger, Heading, Dialog, Modal, ModalOverlay, Button, OverlayTriggerStateContext } from 'react-aria-components';
6
+ import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
7
+ import { CloseButton } from '../close-button/index.js';
8
+ import { jsx } from 'react/jsx-runtime';
9
+ import { SurfaceContext } from '../surface/surface.js';
10
+
11
+ /* -------------------------------------------------------------------------------------------------
12
+ * Drawer Drag Hook
13
+ * Tracks pointer events to enable drag-to-dismiss with CSS transforms.
14
+ * Drag only initiates from handle/header/footer areas — body is excluded to avoid scroll conflicts.
15
+ * -----------------------------------------------------------------------------------------------*/
16
+
17
+ const DRAG_THRESHOLD = 8; // px before drag activates
18
+ const DISMISS_FRACTION = 0.3; // dismiss if dragged > 30% of dimension
19
+ const VELOCITY_THRESHOLD = 0.5; // px/ms — dismiss on fast flick
20
+
21
+ function useDrawerDrag(placement, isDismissable) {
22
+ const overlayState = useContext(OverlayTriggerStateContext);
23
+ const dialogRef = useRef(null);
24
+ const isDragging = useRef(false);
25
+ const isActive = useRef(false);
26
+ const startPos = useRef(0);
27
+ const currentOffset = useRef(0);
28
+ const velocity = useRef(0);
29
+ const lastTime = useRef(0);
30
+ const lastPos = useRef(0);
31
+ const isVertical = placement === "top" || placement === "bottom";
32
+ const getPos = useCallback(e => isVertical ? e.clientY : e.clientX, [isVertical]);
33
+ const clamp = useCallback(delta => {
34
+ // Only allow drag in the dismiss direction
35
+ switch (placement) {
36
+ case "bottom":
37
+ return Math.max(0, delta);
38
+ case "top":
39
+ return Math.min(0, delta);
40
+ case "right":
41
+ return Math.max(0, delta);
42
+ case "left":
43
+ return Math.min(0, delta);
44
+ default:
45
+ return delta;
46
+ }
47
+ }, [placement]);
48
+ const onPointerDown = useCallback(e => {
49
+ if (!isDismissable) return;
50
+ if (e.button !== 0) return;
51
+ const target = e.target;
52
+
53
+ // Don't drag from interactive elements or scrollable body
54
+ if (target.closest("input, textarea, button, [role='button'], select, a, [data-slot='drawer-body']")) {
55
+ return;
56
+ }
57
+ isDragging.current = true;
58
+ isActive.current = false;
59
+ startPos.current = getPos(e);
60
+ lastPos.current = startPos.current;
61
+ lastTime.current = Date.now();
62
+ currentOffset.current = 0;
63
+ velocity.current = 0;
64
+ }, [getPos, isDismissable]);
65
+ const onPointerMove = useCallback(e => {
66
+ if (!isDragging.current || !dialogRef.current) return;
67
+ const pos = getPos(e);
68
+ const rawDelta = pos - startPos.current;
69
+ const delta = clamp(rawDelta);
70
+
71
+ // Activate only after passing threshold to avoid false starts
72
+ if (!isActive.current) {
73
+ if (Math.abs(rawDelta) < DRAG_THRESHOLD) return;
74
+ isActive.current = true;
75
+ dialogRef.current.style.transition = "none";
76
+ dialogRef.current.setPointerCapture(e.pointerId);
77
+ }
78
+ currentOffset.current = delta;
79
+
80
+ // Track velocity for flick detection
81
+ const now = Date.now();
82
+ const dt = now - lastTime.current;
83
+ if (dt > 0) {
84
+ velocity.current = (pos - lastPos.current) / dt;
85
+ lastTime.current = now;
86
+ lastPos.current = pos;
87
+ }
88
+ const axis = isVertical ? "Y" : "X";
89
+ dialogRef.current.style.transform = `translate${axis}(${delta}px)`;
90
+ }, [getPos, clamp, isVertical]);
91
+ const onPointerUp = useCallback(e => {
92
+ if (!isDragging.current) return;
93
+ isDragging.current = false;
94
+ const el = dialogRef.current;
95
+ if (!el || !isActive.current) {
96
+ isActive.current = false;
97
+ return;
98
+ }
99
+ isActive.current = false;
100
+
101
+ // Release pointer capture
102
+ try {
103
+ el.releasePointerCapture(e.pointerId);
104
+ } catch {
105
+ // Pointer capture may already be released
106
+ }
107
+ const dimension = isVertical ? el.offsetHeight : el.offsetWidth;
108
+ const absOffset = Math.abs(currentOffset.current);
109
+ const absVelocity = Math.abs(velocity.current);
110
+ const shouldDismiss = absOffset > dimension * DISMISS_FRACTION || absVelocity > VELOCITY_THRESHOLD;
111
+ if (shouldDismiss && overlayState) {
112
+ // Keep the inline transform — it compounds with the content exit animation
113
+ // so the drawer continues sliding from the dragged position
114
+ overlayState.close();
115
+ } else {
116
+ // Snap back with a spring-like ease
117
+ el.style.transition = "transform 300ms cubic-bezier(0.32, 0.72, 0, 1)";
118
+ el.style.transform = "";
119
+ const cleanup = () => {
120
+ el.style.transition = "";
121
+ };
122
+ el.addEventListener("transitionend", cleanup, {
123
+ once: true
124
+ });
125
+ }
126
+ currentOffset.current = 0;
127
+ velocity.current = 0;
128
+ }, [isVertical, overlayState]);
129
+ return {
130
+ dialogRef,
131
+ dragHandlers: isDismissable ? {
132
+ onPointerDown,
133
+ onPointerMove,
134
+ onPointerUp
135
+ } : {}
136
+ };
137
+ }
138
+
139
+ /* -------------------------------------------------------------------------------------------------
140
+ * Drawer Context
141
+ * -----------------------------------------------------------------------------------------------*/
142
+
143
+ const DrawerContext = /*#__PURE__*/createContext({});
144
+
145
+ /* -------------------------------------------------------------------------------------------------
146
+ * Drawer Root
147
+ * -----------------------------------------------------------------------------------------------*/
148
+
149
+ const DrawerRoot = ({
150
+ children,
151
+ state,
152
+ ...props
153
+ }) => {
154
+ const drawerContext = useMemo(() => ({
155
+ slots: drawerVariants(),
156
+ placement: undefined,
157
+ isDismissable: true
158
+ }), []);
159
+ const controlledProps = useMemo(() => state ? {
160
+ isOpen: state.isOpen,
161
+ onOpenChange: state.setOpen
162
+ } : {}, [state]);
163
+ return /*#__PURE__*/jsx(DrawerContext, {
164
+ value: drawerContext,
165
+ children: /*#__PURE__*/jsx(DialogTrigger, {
166
+ "data-slot": "drawer-root",
167
+ ...mergeProps(props, controlledProps),
168
+ children: children
169
+ })
170
+ });
171
+ };
172
+ DrawerRoot.displayName = "MasaraxUI.Drawer";
173
+
174
+ /* -------------------------------------------------------------------------------------------------
175
+ * Drawer Trigger
176
+ * -----------------------------------------------------------------------------------------------*/
177
+
178
+ const DrawerTrigger = ({
179
+ children,
180
+ className,
181
+ ...props
182
+ }) => {
183
+ const {
184
+ slots
185
+ } = useContext(DrawerContext);
186
+ return /*#__PURE__*/jsx(Button, {
187
+ className: composeTwRenderProps(className, slots?.trigger()),
188
+ "data-slot": "drawer-trigger",
189
+ ...props,
190
+ children: children
191
+ });
192
+ };
193
+ DrawerTrigger.displayName = "MasaraxUI.Drawer.Trigger";
194
+
195
+ /* -------------------------------------------------------------------------------------------------
196
+ * Drawer Backdrop
197
+ * -----------------------------------------------------------------------------------------------*/
198
+
199
+ const DrawerBackdrop = ({
200
+ children,
201
+ className,
202
+ isDismissable = true,
203
+ variant,
204
+ ...props
205
+ }) => {
206
+ const {
207
+ slots: contextSlots
208
+ } = useContext(DrawerContext);
209
+ const updatedSlots = useMemo(() => drawerVariants({
210
+ variant
211
+ }), [variant]);
212
+ const updatedDrawerContext = useMemo(() => ({
213
+ slots: {
214
+ ...contextSlots,
215
+ ...updatedSlots
216
+ },
217
+ isDismissable
218
+ }), [contextSlots, updatedSlots, isDismissable]);
219
+ return /*#__PURE__*/jsx(ModalOverlay, {
220
+ className: composeTwRenderProps(className, updatedSlots?.backdrop()),
221
+ "data-slot": "drawer-backdrop",
222
+ isDismissable: isDismissable,
223
+ ...props,
224
+ children: renderProps => /*#__PURE__*/jsx(DrawerContext, {
225
+ value: updatedDrawerContext,
226
+ children: typeof children === "function" ? children(renderProps) : children
227
+ })
228
+ });
229
+ };
230
+ DrawerBackdrop.displayName = "MasaraxUI.Drawer.Backdrop";
231
+
232
+ /* -------------------------------------------------------------------------------------------------
233
+ * Drawer Content
234
+ * -----------------------------------------------------------------------------------------------*/
235
+
236
+ const DrawerContent = ({
237
+ children,
238
+ className,
239
+ placement = "bottom",
240
+ ...props
241
+ }) => {
242
+ const {
243
+ isDismissable,
244
+ slots: contextSlots
245
+ } = useContext(DrawerContext);
246
+ const updatedSlots = useMemo(() => drawerVariants({
247
+ placement
248
+ }), [placement]);
249
+ const updatedDrawerContext = useMemo(() => ({
250
+ placement,
251
+ isDismissable,
252
+ slots: {
253
+ ...contextSlots,
254
+ ...updatedSlots
255
+ }
256
+ }), [contextSlots, placement, isDismissable, updatedSlots]);
257
+ return /*#__PURE__*/jsx(Modal, {
258
+ className: composeTwRenderProps(className, updatedSlots?.content()),
259
+ "data-placement": placement,
260
+ "data-slot": "drawer-content",
261
+ ...props,
262
+ children: renderProps => /*#__PURE__*/jsx(DrawerContext, {
263
+ value: updatedDrawerContext,
264
+ children: typeof children === "function" ? children(renderProps) : children
265
+ })
266
+ });
267
+ };
268
+ DrawerContent.displayName = "MasaraxUI.Drawer.Content";
269
+
270
+ /* -------------------------------------------------------------------------------------------------
271
+ * Drawer Dialog
272
+ * -----------------------------------------------------------------------------------------------*/
273
+
274
+ const DrawerDialog = ({
275
+ children,
276
+ className,
277
+ ...props
278
+ }) => {
279
+ const {
280
+ isDismissable = true,
281
+ placement,
282
+ slots
283
+ } = useContext(DrawerContext);
284
+ const {
285
+ dialogRef,
286
+ dragHandlers
287
+ } = useDrawerDrag(placement, isDismissable);
288
+ return /*#__PURE__*/jsx(SurfaceContext, {
289
+ value: {
290
+ variant: "default"
291
+ },
292
+ children: /*#__PURE__*/jsx(Dialog, {
293
+ ref: dialogRef,
294
+ className: composeSlotClassName(slots?.dialog, className),
295
+ "data-placement": placement,
296
+ "data-slot": "drawer-dialog",
297
+ style: isDismissable ? {
298
+ touchAction: "none"
299
+ } : undefined,
300
+ ...dragHandlers,
301
+ ...props,
302
+ children: children
303
+ })
304
+ });
305
+ };
306
+ DrawerDialog.displayName = "MasaraxUI.Drawer.Dialog";
307
+
308
+ /* -------------------------------------------------------------------------------------------------
309
+ * Drawer Header
310
+ * -----------------------------------------------------------------------------------------------*/
311
+
312
+ const DrawerHeader = ({
313
+ children,
314
+ className,
315
+ ...props
316
+ }) => {
317
+ const {
318
+ slots
319
+ } = useContext(DrawerContext);
320
+ return /*#__PURE__*/jsx("div", {
321
+ className: composeSlotClassName(slots?.header, className),
322
+ "data-slot": "drawer-header",
323
+ ...props,
324
+ children: children
325
+ });
326
+ };
327
+ DrawerHeader.displayName = "MasaraxUI.Drawer.Header";
328
+
329
+ /* -------------------------------------------------------------------------------------------------
330
+ * Drawer Body
331
+ * -----------------------------------------------------------------------------------------------*/
332
+
333
+ const DrawerBody = ({
334
+ children,
335
+ className,
336
+ ...props
337
+ }) => {
338
+ const {
339
+ slots
340
+ } = useContext(DrawerContext);
341
+ return /*#__PURE__*/jsx("div", {
342
+ className: composeSlotClassName(slots?.body, className),
343
+ "data-slot": "drawer-body",
344
+ style: {
345
+ touchAction: "pan-y"
346
+ },
347
+ ...props,
348
+ children: children
349
+ });
350
+ };
351
+ DrawerBody.displayName = "MasaraxUI.Drawer.Body";
352
+
353
+ /* -------------------------------------------------------------------------------------------------
354
+ * Drawer Footer
355
+ * -----------------------------------------------------------------------------------------------*/
356
+
357
+ const DrawerFooter = ({
358
+ children,
359
+ className,
360
+ ...props
361
+ }) => {
362
+ const {
363
+ slots
364
+ } = useContext(DrawerContext);
365
+ return /*#__PURE__*/jsx("div", {
366
+ className: composeSlotClassName(slots?.footer, className),
367
+ "data-slot": "drawer-footer",
368
+ ...props,
369
+ children: children
370
+ });
371
+ };
372
+ DrawerFooter.displayName = "MasaraxUI.Drawer.Footer";
373
+
374
+ /* -------------------------------------------------------------------------------------------------
375
+ * Drawer Heading
376
+ * -----------------------------------------------------------------------------------------------*/
377
+
378
+ const DrawerHeading = ({
379
+ children,
380
+ className,
381
+ ...props
382
+ }) => {
383
+ const {
384
+ slots
385
+ } = useContext(DrawerContext);
386
+ return /*#__PURE__*/jsx(Heading, {
387
+ className: composeSlotClassName(slots?.heading, className),
388
+ "data-slot": "drawer-heading",
389
+ slot: "title",
390
+ ...props,
391
+ children: children
392
+ });
393
+ };
394
+ DrawerHeading.displayName = "MasaraxUI.Drawer.Heading";
395
+
396
+ /* -------------------------------------------------------------------------------------------------
397
+ * Drawer Handle
398
+ * -----------------------------------------------------------------------------------------------*/
399
+
400
+ const DrawerHandle = ({
401
+ className,
402
+ ...props
403
+ }) => {
404
+ const {
405
+ slots
406
+ } = useContext(DrawerContext);
407
+ return /*#__PURE__*/jsx("div", {
408
+ "aria-hidden": "true",
409
+ className: composeSlotClassName(slots?.handle, className),
410
+ "data-slot": "drawer-handle",
411
+ ...props,
412
+ children: /*#__PURE__*/jsx("div", {
413
+ "data-slot": "drawer-handle-bar"
414
+ })
415
+ });
416
+ };
417
+ DrawerHandle.displayName = "MasaraxUI.Drawer.Handle";
418
+
419
+ /* -------------------------------------------------------------------------------------------------
420
+ * Drawer Close Trigger
421
+ * -----------------------------------------------------------------------------------------------*/
422
+
423
+ const DrawerCloseTrigger = ({
424
+ className,
425
+ ...rest
426
+ }) => {
427
+ const {
428
+ slots
429
+ } = useContext(DrawerContext);
430
+ return /*#__PURE__*/jsx(CloseButton, {
431
+ className: composeTwRenderProps(className, slots?.closeTrigger()),
432
+ "data-slot": "drawer-close-trigger",
433
+ slot: "close",
434
+ ...rest
435
+ });
436
+ };
437
+ DrawerCloseTrigger.displayName = "MasaraxUI.Drawer.CloseTrigger";
438
+
439
+ export { DrawerBackdrop, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerDialog, DrawerFooter, DrawerHandle, DrawerHeader, DrawerHeading, DrawerRoot, DrawerTrigger };
@@ -0,0 +1,69 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DrawerBackdrop, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerDialog, DrawerFooter, DrawerHandle, DrawerHeader, DrawerHeading, DrawerRoot, DrawerTrigger } from "./drawer";
3
+ export declare const Drawer: {
4
+ ({ children, state, ...props }: import("./drawer").DrawerRootProps): import("react/jsx-runtime").JSX.Element;
5
+ displayName: string;
6
+ } & {
7
+ Root: {
8
+ ({ children, state, ...props }: import("./drawer").DrawerRootProps): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ Trigger: {
12
+ ({ children, className, ...props }: import("./drawer").DrawerTriggerProps): import("react/jsx-runtime").JSX.Element;
13
+ displayName: string;
14
+ };
15
+ Backdrop: {
16
+ ({ children, className, isDismissable, variant, ...props }: import("./drawer").DrawerBackdropProps): import("react/jsx-runtime").JSX.Element;
17
+ displayName: string;
18
+ };
19
+ Content: {
20
+ ({ children, className, placement, ...props }: import("./drawer").DrawerContentProps): import("react/jsx-runtime").JSX.Element;
21
+ displayName: string;
22
+ };
23
+ Dialog: {
24
+ ({ children, className, ...props }: import("./drawer").DrawerDialogProps): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ Header: {
28
+ ({ children, className, ...props }: import("./drawer").DrawerHeaderProps): import("react/jsx-runtime").JSX.Element;
29
+ displayName: string;
30
+ };
31
+ Heading: {
32
+ ({ children, className, ...props }: import("./drawer").DrawerHeadingProps): import("react/jsx-runtime").JSX.Element;
33
+ displayName: string;
34
+ };
35
+ Body: {
36
+ ({ children, className, ...props }: import("./drawer").DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
37
+ displayName: string;
38
+ };
39
+ Footer: {
40
+ ({ children, className, ...props }: import("./drawer").DrawerFooterProps): import("react/jsx-runtime").JSX.Element;
41
+ displayName: string;
42
+ };
43
+ Handle: {
44
+ ({ className, ...props }: import("./drawer").DrawerHandleProps): import("react/jsx-runtime").JSX.Element;
45
+ displayName: string;
46
+ };
47
+ CloseTrigger: {
48
+ ({ className, ...rest }: import("./drawer").DrawerCloseTriggerProps): import("react/jsx-runtime").JSX.Element;
49
+ displayName: string;
50
+ };
51
+ };
52
+ export type Drawer = {
53
+ Props: ComponentProps<typeof DrawerRoot>;
54
+ RootProps: ComponentProps<typeof DrawerRoot>;
55
+ TriggerProps: ComponentProps<typeof DrawerTrigger>;
56
+ BackdropProps: ComponentProps<typeof DrawerBackdrop>;
57
+ ContentProps: ComponentProps<typeof DrawerContent>;
58
+ DialogProps: ComponentProps<typeof DrawerDialog>;
59
+ HeaderProps: ComponentProps<typeof DrawerHeader>;
60
+ HeadingProps: ComponentProps<typeof DrawerHeading>;
61
+ BodyProps: ComponentProps<typeof DrawerBody>;
62
+ FooterProps: ComponentProps<typeof DrawerFooter>;
63
+ HandleProps: ComponentProps<typeof DrawerHandle>;
64
+ CloseTriggerProps: ComponentProps<typeof DrawerCloseTrigger>;
65
+ };
66
+ export { DrawerRoot, DrawerTrigger, DrawerBackdrop, DrawerContent, DrawerDialog, DrawerHeader, DrawerHeading, DrawerBody, DrawerFooter, DrawerHandle, DrawerCloseTrigger, };
67
+ export type { DrawerRootProps, DrawerRootProps as DrawerProps, DrawerTriggerProps, DrawerBackdropProps, DrawerContentProps, DrawerDialogProps, DrawerHeaderProps, DrawerHeadingProps, DrawerBodyProps, DrawerFooterProps, DrawerHandleProps, DrawerCloseTriggerProps, } from "./drawer";
68
+ export { drawerVariants } from "@masaraxui/styles";
69
+ export type { DrawerVariants } from "@masaraxui/styles";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ import { DrawerRoot, DrawerCloseTrigger, DrawerHandle, DrawerFooter, DrawerBody, DrawerHeading, DrawerHeader, DrawerDialog, DrawerContent, DrawerBackdrop, DrawerTrigger } from './drawer.js';
3
+ export { drawerVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const Drawer = Object.assign(DrawerRoot, {
9
+ Root: DrawerRoot,
10
+ Trigger: DrawerTrigger,
11
+ Backdrop: DrawerBackdrop,
12
+ Content: DrawerContent,
13
+ Dialog: DrawerDialog,
14
+ Header: DrawerHeader,
15
+ Heading: DrawerHeading,
16
+ Body: DrawerBody,
17
+ Footer: DrawerFooter,
18
+ Handle: DrawerHandle,
19
+ CloseTrigger: DrawerCloseTrigger
20
+ });
21
+
22
+ export { Drawer, DrawerBackdrop, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerDialog, DrawerFooter, DrawerHandle, DrawerHeader, DrawerHeading, DrawerRoot, DrawerTrigger };
@@ -0,0 +1,38 @@
1
+ import type { DropdownVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import React from "react";
4
+ import { Button, Menu as MenuPrimitive, MenuTrigger as MenuTriggerPrimitive, Popover as PopoverPrimitive, SubmenuTrigger as SubmenuTriggerPrimitive } from "react-aria-components";
5
+ import { MenuItemIndicator, MenuItemRoot, MenuItemSubmenuIndicator } from "../menu-item";
6
+ import { MenuSectionRoot } from "../menu-section";
7
+ interface DropdownRootProps extends ComponentPropsWithRef<typeof MenuTriggerPrimitive>, DropdownVariants {
8
+ className?: string;
9
+ }
10
+ declare const DropdownRoot: ({ children, ...props }: DropdownRootProps) => import("react/jsx-runtime").JSX.Element;
11
+ interface DropdownTriggerProps extends ComponentPropsWithRef<typeof Button> {
12
+ }
13
+ declare const DropdownTrigger: ({ children, className, ...props }: DropdownTriggerProps) => import("react/jsx-runtime").JSX.Element;
14
+ interface DropdownPopoverProps extends Omit<ComponentPropsWithRef<typeof PopoverPrimitive>, "children">, DropdownVariants {
15
+ children: React.ReactNode;
16
+ }
17
+ declare const DropdownPopover: ({ children, className, placement, ...props }: DropdownPopoverProps) => import("react/jsx-runtime").JSX.Element;
18
+ interface DropdownMenuProps<T extends object> extends ComponentPropsWithRef<typeof MenuPrimitive<T>>, DropdownVariants {
19
+ className?: string;
20
+ }
21
+ declare function DropdownMenu<T extends object>({ className, ...props }: DropdownMenuProps<T>): import("react/jsx-runtime").JSX.Element;
22
+ interface DropdownItemProps extends ComponentPropsWithRef<typeof MenuItemRoot> {
23
+ }
24
+ declare const DropdownItem: (props: DropdownItemProps) => import("react/jsx-runtime").JSX.Element;
25
+ interface DropdownSubmenuIndicatorProps extends ComponentPropsWithRef<typeof MenuItemSubmenuIndicator> {
26
+ }
27
+ declare const DropdownSubmenuIndicator: (props: DropdownSubmenuIndicatorProps) => import("react/jsx-runtime").JSX.Element;
28
+ interface DropdownSubmenuTriggerProps extends ComponentPropsWithRef<typeof SubmenuTriggerPrimitive> {
29
+ }
30
+ declare const DropdownSubmenuTrigger: ({ children, ...props }: DropdownSubmenuTriggerProps) => import("react/jsx-runtime").JSX.Element;
31
+ interface DropdownItemIndicatorProps extends ComponentPropsWithRef<typeof MenuItemIndicator> {
32
+ }
33
+ declare const DropdownItemIndicator: (props: DropdownItemIndicatorProps) => import("react/jsx-runtime").JSX.Element;
34
+ interface DropdownSectionProps extends ComponentPropsWithRef<typeof MenuSectionRoot> {
35
+ }
36
+ declare const DropdownSection: (props: DropdownSectionProps) => import("react/jsx-runtime").JSX.Element;
37
+ export { DropdownItem, DropdownItemIndicator, DropdownMenu, DropdownPopover, DropdownRoot, DropdownSection, DropdownSubmenuIndicator, DropdownSubmenuTrigger, DropdownTrigger, };
38
+ export type { DropdownItemIndicatorProps, DropdownItemProps, DropdownMenuProps, DropdownPopoverProps, DropdownRootProps, DropdownSectionProps, DropdownSubmenuIndicatorProps, DropdownSubmenuTriggerProps, DropdownTriggerProps, };