@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,173 @@
1
+ "use client";
2
+ import { dateRangePickerVariants } from '@masaraxui/styles';
3
+ import { mergeRefs } from '@react-aria/utils';
4
+ import React__default, { useRef, useEffect, createContext, useContext } from 'react';
5
+ import { DateRangePicker, Popover, Button } from 'react-aria-components';
6
+ import { dataAttr } from '../../utils/assertion.js';
7
+ import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
8
+ import { IconCalendar } from '../icons.js';
9
+ import { jsx, Fragment } from 'react/jsx-runtime';
10
+ import { SurfaceContext } from '../surface/surface.js';
11
+
12
+ const DateRangePickerContext = /*#__PURE__*/createContext({
13
+ triggerRef: {
14
+ current: null
15
+ }
16
+ });
17
+
18
+ /* -------------------------------------------------------------------------------------------------
19
+ * DateRangePicker Root
20
+ * -----------------------------------------------------------------------------------------------*/
21
+
22
+ const DateRangePickerRoot = ({
23
+ children,
24
+ className,
25
+ onOpenChange,
26
+ ...props
27
+ }) => {
28
+ const slots = React__default.useMemo(() => dateRangePickerVariants(), []);
29
+ const triggerRef = useRef(null);
30
+ const [isOpen, setIsOpen] = React__default.useState(false);
31
+ const shouldRestoreFocusToTriggerRef = useRef(false);
32
+ useEffect(() => {
33
+ if (!isOpen) return;
34
+ const handleGlobalKeyDown = event => {
35
+ if (!event.metaKey && !event.ctrlKey && !event.altKey) {
36
+ shouldRestoreFocusToTriggerRef.current = true;
37
+ }
38
+ };
39
+ window.addEventListener("keydown", handleGlobalKeyDown, true);
40
+ return () => {
41
+ window.removeEventListener("keydown", handleGlobalKeyDown, true);
42
+ };
43
+ }, [isOpen]);
44
+ const handleOpenChange = nextIsOpen => {
45
+ setIsOpen(nextIsOpen);
46
+ if (!nextIsOpen && shouldRestoreFocusToTriggerRef.current) {
47
+ window.requestAnimationFrame(() => {
48
+ triggerRef.current?.focus();
49
+ });
50
+ }
51
+ shouldRestoreFocusToTriggerRef.current = false;
52
+ onOpenChange?.(nextIsOpen);
53
+ };
54
+ return /*#__PURE__*/jsx(DateRangePickerContext, {
55
+ value: {
56
+ slots,
57
+ triggerRef
58
+ },
59
+ children: /*#__PURE__*/jsx(DateRangePicker, {
60
+ "data-required": dataAttr(props.isRequired),
61
+ "data-slot": "date-range-picker",
62
+ ...props,
63
+ className: composeTwRenderProps(className, slots?.base()),
64
+ onOpenChange: handleOpenChange,
65
+ children: values => /*#__PURE__*/jsx(Fragment, {
66
+ children: typeof children === "function" ? children(values) : children
67
+ })
68
+ })
69
+ });
70
+ };
71
+ DateRangePickerRoot.displayName = "MasaraxUI.DateRangePicker";
72
+
73
+ /* -------------------------------------------------------------------------------------------------
74
+ * DateRangePicker Trigger
75
+ * -----------------------------------------------------------------------------------------------*/
76
+
77
+ const DateRangePickerTrigger = /*#__PURE__*/React__default.forwardRef(({
78
+ children,
79
+ className,
80
+ ...props
81
+ }, ref) => {
82
+ const {
83
+ slots,
84
+ triggerRef
85
+ } = useContext(DateRangePickerContext);
86
+ const contextRefCallback = React__default.useCallback(node => {
87
+ triggerRef.current = node;
88
+ }, [triggerRef]);
89
+ const mergedRef = mergeRefs(contextRefCallback, ref);
90
+ return /*#__PURE__*/jsx(Button, {
91
+ ref: mergedRef,
92
+ className: composeTwRenderProps(className, slots?.trigger()),
93
+ "data-slot": "date-range-picker-trigger",
94
+ ...props,
95
+ children: values => /*#__PURE__*/jsx(Fragment, {
96
+ children: typeof children === "function" ? children(values) : children
97
+ })
98
+ });
99
+ });
100
+ DateRangePickerTrigger.displayName = "MasaraxUI.DateRangePicker.Trigger";
101
+
102
+ /* -------------------------------------------------------------------------------------------------
103
+ * DateRangePicker Trigger Indicator
104
+ * -----------------------------------------------------------------------------------------------*/
105
+
106
+ const DateRangePickerTriggerIndicator = ({
107
+ children,
108
+ className,
109
+ ...props
110
+ }) => {
111
+ const {
112
+ slots
113
+ } = useContext(DateRangePickerContext);
114
+ return /*#__PURE__*/jsx("span", {
115
+ "aria-hidden": "true",
116
+ className: composeSlotClassName(slots?.triggerIndicator, className),
117
+ "data-slot": "date-range-picker-trigger-indicator",
118
+ ...props,
119
+ children: children || /*#__PURE__*/jsx(IconCalendar, {})
120
+ });
121
+ };
122
+ DateRangePickerTriggerIndicator.displayName = "MasaraxUI.DateRangePicker.TriggerIndicator";
123
+
124
+ /* -------------------------------------------------------------------------------------------------
125
+ * DateRangePicker Range Separator
126
+ * -----------------------------------------------------------------------------------------------*/
127
+
128
+ const DateRangePickerRangeSeparator = ({
129
+ children = " - ",
130
+ className,
131
+ ...props
132
+ }) => {
133
+ const {
134
+ slots
135
+ } = useContext(DateRangePickerContext);
136
+ return /*#__PURE__*/jsx("span", {
137
+ "aria-hidden": "true",
138
+ className: composeSlotClassName(slots?.rangeSeparator, className),
139
+ "data-slot": "date-range-picker-range-separator",
140
+ ...props,
141
+ children: children
142
+ });
143
+ };
144
+ DateRangePickerRangeSeparator.displayName = "MasaraxUI.DateRangePicker.RangeSeparator";
145
+
146
+ /* -------------------------------------------------------------------------------------------------
147
+ * DateRangePicker Popover
148
+ * -----------------------------------------------------------------------------------------------*/
149
+
150
+ const DateRangePickerPopover = ({
151
+ children,
152
+ className,
153
+ placement = "bottom",
154
+ ...props
155
+ }) => {
156
+ const {
157
+ slots
158
+ } = useContext(DateRangePickerContext);
159
+ return /*#__PURE__*/jsx(SurfaceContext, {
160
+ value: {
161
+ variant: "default"
162
+ },
163
+ children: /*#__PURE__*/jsx(Popover, {
164
+ ...props,
165
+ className: composeTwRenderProps(className, slots?.popover()),
166
+ placement: placement,
167
+ children: children
168
+ })
169
+ });
170
+ };
171
+ DateRangePickerPopover.displayName = "MasaraxUI.DateRangePicker.Popover";
172
+
173
+ export { DateRangePickerPopover, DateRangePickerRangeSeparator, DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator };
@@ -0,0 +1,36 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DateRangePickerPopover, DateRangePickerRangeSeparator, DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator } from "./date-range-picker";
3
+ export declare const DateRangePicker: {
4
+ <T extends import("react-aria-components").DateValue>({ children, className, onOpenChange, ...props }: import("./date-range-picker").DateRangePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
5
+ displayName: string;
6
+ } & {
7
+ Root: {
8
+ <T extends import("react-aria-components").DateValue>({ children, className, onOpenChange, ...props }: import("./date-range-picker").DateRangePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ Trigger: import("react").ForwardRefExoticComponent<Omit<import("./date-range-picker").DateRangePickerTriggerProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
12
+ TriggerIndicator: {
13
+ ({ children, className, ...props }: import("./date-range-picker").DateRangePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
14
+ displayName: string;
15
+ };
16
+ RangeSeparator: {
17
+ ({ children, className, ...props }: import("./date-range-picker").DateRangePickerRangeSeparatorProps): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
20
+ Popover: {
21
+ ({ children, className, placement, ...props }: import("./date-range-picker").DateRangePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ };
25
+ export type DateRangePicker = {
26
+ Props: ComponentProps<typeof DateRangePickerRoot>;
27
+ RootProps: ComponentProps<typeof DateRangePickerRoot>;
28
+ TriggerProps: ComponentProps<typeof DateRangePickerTrigger>;
29
+ TriggerIndicatorProps: ComponentProps<typeof DateRangePickerTriggerIndicator>;
30
+ RangeSeparatorProps: ComponentProps<typeof DateRangePickerRangeSeparator>;
31
+ PopoverProps: ComponentProps<typeof DateRangePickerPopover>;
32
+ };
33
+ export { DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator, DateRangePickerRangeSeparator, DateRangePickerPopover, };
34
+ export type { DateRangePickerRootProps, DateRangePickerRootProps as DateRangePickerProps, DateRangePickerTriggerProps, DateRangePickerTriggerIndicatorProps, DateRangePickerRangeSeparatorProps, DateRangePickerPopoverProps, } from "./date-range-picker";
35
+ export { dateRangePickerVariants } from "@masaraxui/styles";
36
+ export type { DateRangePickerVariants } from "@masaraxui/styles";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ import { DateRangePickerRoot, DateRangePickerPopover, DateRangePickerRangeSeparator, DateRangePickerTriggerIndicator, DateRangePickerTrigger } from './date-range-picker.js';
3
+ export { dateRangePickerVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const DateRangePicker = Object.assign(DateRangePickerRoot, {
9
+ Root: DateRangePickerRoot,
10
+ Trigger: DateRangePickerTrigger,
11
+ TriggerIndicator: DateRangePickerTriggerIndicator,
12
+ RangeSeparator: DateRangePickerRangeSeparator,
13
+ Popover: DateRangePickerPopover
14
+ });
15
+
16
+ export { DateRangePicker, DateRangePickerPopover, DateRangePickerRangeSeparator, DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator };
@@ -0,0 +1,9 @@
1
+ import type { DescriptionVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { TextProps } from "react-aria-components";
4
+ import { Text } from "react-aria-components";
5
+ interface DescriptionRootProps extends ComponentPropsWithRef<typeof Text>, TextProps, DescriptionVariants {
6
+ }
7
+ declare const DescriptionRoot: ({ children, className, ...rest }: DescriptionRootProps) => import("react/jsx-runtime").JSX.Element;
8
+ export { DescriptionRoot };
9
+ export type { DescriptionRootProps };
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { descriptionVariants } from '@masaraxui/styles';
3
+ import { Text } from 'react-aria-components';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ const DescriptionRoot = ({
7
+ children,
8
+ className,
9
+ ...rest
10
+ }) => {
11
+ return /*#__PURE__*/jsx(Text, {
12
+ className: descriptionVariants({
13
+ className
14
+ }),
15
+ "data-slot": "description",
16
+ slot: "description",
17
+ ...rest,
18
+ children: children
19
+ });
20
+ };
21
+
22
+ export { DescriptionRoot };
@@ -0,0 +1,13 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DescriptionRoot } from "./description";
3
+ export declare const Description: (({ children, className, ...rest }: import("./description").DescriptionRootProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Root: ({ children, className, ...rest }: import("./description").DescriptionRootProps) => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export type Description = {
7
+ Props: ComponentProps<typeof DescriptionRoot>;
8
+ RootProps: ComponentProps<typeof DescriptionRoot>;
9
+ };
10
+ export { DescriptionRoot };
11
+ export type { DescriptionRootProps, DescriptionRootProps as DescriptionProps } from "./description";
12
+ export { descriptionVariants } from "@masaraxui/styles";
13
+ export type { DescriptionVariants } from "@masaraxui/styles";
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ import { DescriptionRoot } from './description.js';
3
+ export { descriptionVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const Description = Object.assign(DescriptionRoot, {
9
+ Root: DescriptionRoot
10
+ });
11
+
12
+ export { Description, DescriptionRoot };
@@ -0,0 +1,27 @@
1
+ import type { DisclosureVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { ButtonProps } from "react-aria-components";
4
+ import { Heading as DisclosureHeadingPrimitive, DisclosurePanel, Disclosure as DisclosurePrimitive } from "react-aria-components";
5
+ interface DisclosureRootProps extends ComponentPropsWithRef<typeof DisclosurePrimitive>, DisclosureVariants {
6
+ }
7
+ declare const DisclosureRoot: ({ children, className, ...props }: DisclosureRootProps) => import("react/jsx-runtime").JSX.Element;
8
+ interface DisclosureHeadingProps extends ComponentPropsWithRef<typeof DisclosureHeadingPrimitive> {
9
+ className?: string;
10
+ }
11
+ declare const DisclosureHeading: ({ className, ...props }: DisclosureHeadingProps) => import("react/jsx-runtime").JSX.Element;
12
+ interface DisclosureTriggerProps extends ButtonProps {
13
+ }
14
+ declare const DisclosureTrigger: ({ className, ...props }: DisclosureTriggerProps) => import("react/jsx-runtime").JSX.Element;
15
+ interface DisclosureContentProps extends ComponentPropsWithRef<typeof DisclosurePanel> {
16
+ }
17
+ declare const DisclosureContent: ({ children, className, ...props }: DisclosureContentProps) => import("react/jsx-runtime").JSX.Element;
18
+ interface DisclosureBodyContentProps extends ComponentPropsWithRef<"div"> {
19
+ className?: string;
20
+ }
21
+ declare const DisclosureBody: ({ children, className, ...props }: DisclosureBodyContentProps) => import("react/jsx-runtime").JSX.Element;
22
+ interface DisclosureIndicatorProps extends ComponentPropsWithRef<"svg"> {
23
+ className?: string;
24
+ }
25
+ declare const DisclosureIndicator: ({ children, className, ...props }: DisclosureIndicatorProps) => import("react/jsx-runtime").JSX.Element;
26
+ export { DisclosureRoot, DisclosureHeading, DisclosureTrigger, DisclosureContent, DisclosureBody, DisclosureIndicator, };
27
+ export type { DisclosureRootProps, DisclosureContentProps, DisclosureHeadingProps, DisclosureTriggerProps, DisclosureIndicatorProps, DisclosureBodyContentProps, };
@@ -0,0 +1,157 @@
1
+ "use client";
2
+ import { disclosureVariants } from '@masaraxui/styles';
3
+ import React__default, { createContext, useContext, useRef } from 'react';
4
+ import { Disclosure, DisclosureStateContext, DisclosurePanel, Button, Heading } from 'react-aria-components';
5
+ import { dataAttr } from '../../utils/assertion.js';
6
+ import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
7
+ import { IconChevronDown } from '../icons.js';
8
+ import { jsx, Fragment } from 'react/jsx-runtime';
9
+
10
+ const DisclosureContext = /*#__PURE__*/createContext({});
11
+
12
+ /* -------------------------------------------------------------------------------------------------
13
+ * Disclosure Root
14
+ * -----------------------------------------------------------------------------------------------*/
15
+
16
+ const DisclosureRoot = ({
17
+ children,
18
+ className,
19
+ ...props
20
+ }) => {
21
+ const slots = React__default.useMemo(() => disclosureVariants({}), []);
22
+ return /*#__PURE__*/jsx(DisclosureContext, {
23
+ value: {
24
+ slots
25
+ },
26
+ children: /*#__PURE__*/jsx(Disclosure, {
27
+ "data-slot": "disclosure",
28
+ ...props,
29
+ className: composeTwRenderProps(className, slots.base()),
30
+ children: values => /*#__PURE__*/jsx(Fragment, {
31
+ children: typeof children === "function" ? children(values) : children
32
+ })
33
+ })
34
+ });
35
+ };
36
+
37
+ /* -------------------------------------------------------------------------------------------------
38
+ * Disclosure Heading
39
+ * -----------------------------------------------------------------------------------------------*/
40
+
41
+ const DisclosureHeading = ({
42
+ className,
43
+ ...props
44
+ }) => {
45
+ const {
46
+ slots
47
+ } = useContext(DisclosureContext);
48
+ return /*#__PURE__*/jsx(Heading, {
49
+ className: composeSlotClassName(slots?.heading, className),
50
+ "data-slot": "disclosure-heading",
51
+ ...props
52
+ });
53
+ };
54
+
55
+ /* -------------------------------------------------------------------------------------------------
56
+ * Disclosure Trigger
57
+ * -----------------------------------------------------------------------------------------------*/
58
+
59
+ const DisclosureTrigger = ({
60
+ className,
61
+ ...props
62
+ }) => {
63
+ const {
64
+ slots
65
+ } = useContext(DisclosureContext);
66
+ return /*#__PURE__*/jsx(Button, {
67
+ className: composeTwRenderProps(className, slots?.trigger()),
68
+ "data-slot": "disclosure-trigger",
69
+ slot: "trigger",
70
+ ...props,
71
+ children: values => /*#__PURE__*/jsx(Fragment, {
72
+ children: typeof props.children === "function" ? props.children(values) : props.children
73
+ })
74
+ });
75
+ };
76
+
77
+ /* -------------------------------------------------------------------------------------------------
78
+ * Disclosure Content
79
+ * -----------------------------------------------------------------------------------------------*/
80
+
81
+ const DisclosureContent = ({
82
+ children,
83
+ className,
84
+ ...props
85
+ }) => {
86
+ const {
87
+ slots
88
+ } = useContext(DisclosureContext);
89
+ const contentRef = useRef(null);
90
+ const {
91
+ isExpanded
92
+ } = useContext(DisclosureStateContext);
93
+ return /*#__PURE__*/jsx(DisclosurePanel, {
94
+ ref: contentRef,
95
+ className: composeTwRenderProps(className, slots?.content()),
96
+ "data-expanded": dataAttr(isExpanded),
97
+ "data-slot": "disclosure-content",
98
+ ...props,
99
+ children: children
100
+ });
101
+ };
102
+
103
+ /* -------------------------------------------------------------------------------------------------
104
+ * Disclosure Body
105
+ * -----------------------------------------------------------------------------------------------*/
106
+
107
+ const DisclosureBody = ({
108
+ children,
109
+ className,
110
+ ...props
111
+ }) => {
112
+ const {
113
+ slots
114
+ } = useContext(DisclosureContext);
115
+ return /*#__PURE__*/jsx("div", {
116
+ className: slots?.body({}),
117
+ "data-slot": "disclosure-body",
118
+ ...props,
119
+ children: /*#__PURE__*/jsx("div", {
120
+ className: composeSlotClassName(slots?.bodyInner, className),
121
+ children: children
122
+ })
123
+ });
124
+ };
125
+
126
+ /* -------------------------------------------------------------------------------------------------
127
+ * Disclosure Indicator
128
+ * -----------------------------------------------------------------------------------------------*/
129
+
130
+ const DisclosureIndicator = ({
131
+ children,
132
+ className,
133
+ ...props
134
+ }) => {
135
+ const {
136
+ isExpanded
137
+ } = useContext(DisclosureStateContext);
138
+ const {
139
+ slots
140
+ } = useContext(DisclosureContext);
141
+ if (children && /*#__PURE__*/React__default.isValidElement(children)) {
142
+ return /*#__PURE__*/React__default.cloneElement(children, {
143
+ ...props,
144
+ "data-expanded": dataAttr(isExpanded),
145
+ className: composeSlotClassName(slots?.indicator, className),
146
+ "data-slot": "disclosure-indicator"
147
+ });
148
+ }
149
+ return /*#__PURE__*/jsx(IconChevronDown, {
150
+ className: composeSlotClassName(slots?.indicator, className),
151
+ "data-expanded": dataAttr(isExpanded),
152
+ "data-slot": "disclosure-indicator",
153
+ ...props
154
+ });
155
+ };
156
+
157
+ export { DisclosureBody, DisclosureContent, DisclosureHeading, DisclosureIndicator, DisclosureRoot, DisclosureTrigger };
@@ -0,0 +1,23 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DisclosureBody, DisclosureContent, DisclosureHeading, DisclosureIndicator, DisclosureRoot, DisclosureTrigger } from "./disclosure";
3
+ export declare const Disclosure: (({ children, className, ...props }: import("./disclosure").DisclosureRootProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Root: ({ children, className, ...props }: import("./disclosure").DisclosureRootProps) => import("react/jsx-runtime").JSX.Element;
5
+ Heading: ({ className, ...props }: import("./disclosure").DisclosureHeadingProps) => import("react/jsx-runtime").JSX.Element;
6
+ Trigger: ({ className, ...props }: import("./disclosure").DisclosureTriggerProps) => import("react/jsx-runtime").JSX.Element;
7
+ Content: ({ children, className, ...props }: import("./disclosure").DisclosureContentProps) => import("react/jsx-runtime").JSX.Element;
8
+ Body: ({ children, className, ...props }: import("./disclosure").DisclosureBodyContentProps) => import("react/jsx-runtime").JSX.Element;
9
+ Indicator: ({ children, className, ...props }: import("./disclosure").DisclosureIndicatorProps) => import("react/jsx-runtime").JSX.Element;
10
+ };
11
+ export type Disclosure = {
12
+ Props: ComponentProps<typeof DisclosureRoot>;
13
+ RootProps: ComponentProps<typeof DisclosureRoot>;
14
+ HeadingProps: ComponentProps<typeof DisclosureHeading>;
15
+ TriggerProps: ComponentProps<typeof DisclosureTrigger>;
16
+ ContentProps: ComponentProps<typeof DisclosureContent>;
17
+ BodyProps: ComponentProps<typeof DisclosureBody>;
18
+ IndicatorProps: ComponentProps<typeof DisclosureIndicator>;
19
+ };
20
+ export { DisclosureRoot, DisclosureHeading, DisclosureTrigger, DisclosureContent, DisclosureBody, DisclosureIndicator, };
21
+ export type { DisclosureRootProps, DisclosureRootProps as DisclosureProps, DisclosureContentProps, DisclosureHeadingProps, DisclosureTriggerProps, DisclosureIndicatorProps, DisclosureBodyContentProps, } from "./disclosure";
22
+ export { disclosureVariants } from "@masaraxui/styles";
23
+ export type { DisclosureVariants } from "@masaraxui/styles";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { DisclosureRoot, DisclosureIndicator, DisclosureBody, DisclosureContent, DisclosureTrigger, DisclosureHeading } from './disclosure.js';
3
+ export { disclosureVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const Disclosure = Object.assign(DisclosureRoot, {
9
+ Root: DisclosureRoot,
10
+ Heading: DisclosureHeading,
11
+ Trigger: DisclosureTrigger,
12
+ Content: DisclosureContent,
13
+ Body: DisclosureBody,
14
+ Indicator: DisclosureIndicator
15
+ });
16
+
17
+ export { Disclosure, DisclosureBody, DisclosureContent, DisclosureHeading, DisclosureIndicator, DisclosureRoot, DisclosureTrigger };
@@ -0,0 +1,8 @@
1
+ import type { DisclosureGroupVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import { DisclosureGroup as DisclosureGroupPrimitive } from "react-aria-components";
4
+ interface DisclosureGroupRootProps extends ComponentPropsWithRef<typeof DisclosureGroupPrimitive>, DisclosureGroupVariants {
5
+ }
6
+ declare const DisclosureGroupRoot: ({ children, className, ...props }: DisclosureGroupRootProps) => import("react/jsx-runtime").JSX.Element;
7
+ export { DisclosureGroupRoot };
8
+ export type { DisclosureGroupRootProps };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { disclosureGroupVariants } from '@masaraxui/styles';
3
+ import React__default, { createContext } from 'react';
4
+ import { DisclosureGroup } from 'react-aria-components';
5
+ import { composeTwRenderProps } from '../../utils/compose.js';
6
+ import { jsx, Fragment } from 'react/jsx-runtime';
7
+
8
+ const DisclosureGroupContext = /*#__PURE__*/createContext({});
9
+
10
+ /* -------------------------------------------------------------------------------------------------
11
+ * Disclosure Group Root
12
+ * -----------------------------------------------------------------------------------------------*/
13
+
14
+ const DisclosureGroupRoot = ({
15
+ children,
16
+ className,
17
+ ...props
18
+ }) => {
19
+ const slots = React__default.useMemo(() => disclosureGroupVariants({}), []);
20
+ return /*#__PURE__*/jsx(DisclosureGroupContext, {
21
+ value: {
22
+ slots
23
+ },
24
+ children: /*#__PURE__*/jsx(DisclosureGroup, {
25
+ "data-slot": "disclosure-group",
26
+ ...props,
27
+ className: composeTwRenderProps(className, slots.base()),
28
+ children: values => /*#__PURE__*/jsx(Fragment, {
29
+ children: typeof children === "function" ? children(values) : children
30
+ })
31
+ })
32
+ });
33
+ };
34
+
35
+ export { DisclosureGroupRoot };
@@ -0,0 +1,15 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DisclosureGroupRoot } from "./disclosure-group";
3
+ export declare const DisclosureGroup: (({ children, className, ...props }: import("./disclosure-group").DisclosureGroupRootProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Root: ({ children, className, ...props }: import("./disclosure-group").DisclosureGroupRootProps) => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export type DisclosureGroup = {
7
+ Props: ComponentProps<typeof DisclosureGroupRoot>;
8
+ RootProps: ComponentProps<typeof DisclosureGroupRoot>;
9
+ };
10
+ export { DisclosureGroupRoot };
11
+ export type { DisclosureGroupRootProps, DisclosureGroupRootProps as DisclosureGroupProps, } from "./disclosure-group";
12
+ export { disclosureGroupVariants } from "@masaraxui/styles";
13
+ export type { DisclosureGroupVariants } from "@masaraxui/styles";
14
+ export { useDisclosureGroupNavigation } from "./use-disclosure-group-navigation";
15
+ export type { UseDisclosureGroupNavigationProps, UseDisclosureGroupNavigationReturn, } from "./use-disclosure-group-navigation";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ import { DisclosureGroupRoot } from './disclosure-group.js';
3
+ export { disclosureGroupVariants } from '@masaraxui/styles';
4
+ export { useDisclosureGroupNavigation } from './use-disclosure-group-navigation.js';
5
+
6
+ /* -------------------------------------------------------------------------------------------------
7
+ * Compound Component
8
+ * -----------------------------------------------------------------------------------------------*/
9
+ const DisclosureGroup = Object.assign(DisclosureGroupRoot, {
10
+ Root: DisclosureGroupRoot
11
+ });
12
+
13
+ export { DisclosureGroup, DisclosureGroupRoot };
@@ -0,0 +1,14 @@
1
+ export interface UseDisclosureGroupNavigationProps {
2
+ expandedKeys: Set<string | number>;
3
+ itemIds: string[];
4
+ onExpandedChange: (keys: Set<string | number>) => void;
5
+ allowsMultipleExpanded?: boolean;
6
+ }
7
+ export interface UseDisclosureGroupNavigationReturn {
8
+ currentIndex: number;
9
+ isPrevDisabled: boolean;
10
+ isNextDisabled: boolean;
11
+ onPrevious: () => void;
12
+ onNext: () => void;
13
+ }
14
+ export declare function useDisclosureGroupNavigation({ allowsMultipleExpanded, expandedKeys, itemIds, onExpandedChange, }: UseDisclosureGroupNavigationProps): UseDisclosureGroupNavigationReturn;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ import { useMemo, useCallback } from 'react';
3
+
4
+ function useDisclosureGroupNavigation({
5
+ allowsMultipleExpanded = false,
6
+ expandedKeys,
7
+ itemIds = [],
8
+ onExpandedChange
9
+ }) {
10
+ const currentIndex = useMemo(() => {
11
+ const expandedItems = itemIds.filter(id => expandedKeys.has(id));
12
+ const currentItem = expandedItems.length > 0 ? expandedItems[0] : itemIds[0];
13
+ if (!currentItem) return -1;
14
+ return itemIds.indexOf(currentItem);
15
+ }, [expandedKeys, itemIds]);
16
+ const handlePrevious = useCallback(() => {
17
+ if (currentIndex <= 0) return;
18
+ const prevItem = itemIds[currentIndex - 1];
19
+ if (!prevItem) return;
20
+ if (allowsMultipleExpanded) {
21
+ const newKeys = new Set(expandedKeys);
22
+ newKeys.add(prevItem);
23
+ onExpandedChange(newKeys);
24
+ } else {
25
+ onExpandedChange(new Set([prevItem]));
26
+ }
27
+ }, [currentIndex, itemIds, expandedKeys, onExpandedChange, allowsMultipleExpanded]);
28
+ const handleNext = useCallback(() => {
29
+ if (currentIndex >= itemIds.length - 1) return;
30
+ const nextItem = itemIds[currentIndex + 1];
31
+ if (!nextItem) return;
32
+ if (allowsMultipleExpanded) {
33
+ const newKeys = new Set(expandedKeys);
34
+ newKeys.add(nextItem);
35
+ onExpandedChange(newKeys);
36
+ } else {
37
+ onExpandedChange(new Set([nextItem]));
38
+ }
39
+ }, [currentIndex, itemIds.length, itemIds, expandedKeys, onExpandedChange, allowsMultipleExpanded]);
40
+ const isPrevDisabled = currentIndex <= 0;
41
+ const isNextDisabled = currentIndex >= itemIds.length - 1;
42
+ return {
43
+ currentIndex,
44
+ isPrevDisabled,
45
+ isNextDisabled,
46
+ onPrevious: handlePrevious,
47
+ onNext: handleNext
48
+ };
49
+ }
50
+
51
+ export { useDisclosureGroupNavigation };