@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,20 @@
1
+ import type { ComponentProps } from "react";
2
+ import { ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger } from "./combo-box";
3
+ export declare const ComboBox: (<T extends object = object>({ children, className, fullWidth, menuTrigger, variant, ...props }: import("./combo-box").ComboBoxRootProps<T>) => import("react/jsx-runtime").JSX.Element) & {
4
+ Root: <T extends object = object>({ children, className, fullWidth, menuTrigger, variant, ...props }: import("./combo-box").ComboBoxRootProps<T>) => import("react/jsx-runtime").JSX.Element;
5
+ InputGroup: ({ children, className, ...props }: import("./combo-box").ComboBoxInputGroupProps) => import("react/jsx-runtime").JSX.Element;
6
+ Trigger: ({ children, className, ...rest }: import("./combo-box").ComboBoxTriggerProps) => import("react/jsx-runtime").JSX.Element;
7
+ Popover: ({ children, className, placement, ...props }: import("./combo-box").ComboBoxPopoverProps) => import("react/jsx-runtime").JSX.Element;
8
+ };
9
+ export type ComboBox<T extends object = object> = {
10
+ Props: ComponentProps<typeof ComboBoxRoot<T>>;
11
+ RootProps: ComponentProps<typeof ComboBoxRoot<T>>;
12
+ InputGroupProps: ComponentProps<typeof ComboBoxInputGroup>;
13
+ TriggerProps: ComponentProps<typeof ComboBoxTrigger>;
14
+ PopoverProps: ComponentProps<typeof ComboBoxPopover>;
15
+ };
16
+ export { ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger };
17
+ export type { ComboBoxRootProps, ComboBoxRootProps as ComboBoxProps, ComboBoxInputGroupProps, ComboBoxTriggerProps, ComboBoxPopoverProps, } from "./combo-box";
18
+ export { ComboBoxContext } from "./combo-box";
19
+ export { comboBoxVariants } from "@masaraxui/styles";
20
+ export type { ComboBoxVariants } from "@masaraxui/styles";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ import { ComboBoxRoot, ComboBoxPopover, ComboBoxTrigger, ComboBoxInputGroup } from './combo-box.js';
3
+ export { ComboBoxContext } from './combo-box.js';
4
+ export { comboBoxVariants } from '@masaraxui/styles';
5
+
6
+ /* -------------------------------------------------------------------------------------------------
7
+ * Compound Component
8
+ * -----------------------------------------------------------------------------------------------*/
9
+ const ComboBox = Object.assign(ComboBoxRoot, {
10
+ Root: ComboBoxRoot,
11
+ InputGroup: ComboBoxInputGroup,
12
+ Trigger: ComboBoxTrigger,
13
+ Popover: ComboBoxPopover
14
+ });
15
+
16
+ export { ComboBox, ComboBoxInputGroup, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger };
@@ -0,0 +1,9 @@
1
+ import type { DateFieldVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { DateValue } from "react-aria-components";
4
+ import { DateField as DateFieldPrimitive } from "react-aria-components";
5
+ interface DateFieldRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DateFieldPrimitive<T>>, DateFieldVariants {
6
+ }
7
+ declare function DateFieldRoot<T extends DateValue>({ children, className, fullWidth, ...props }: DateFieldRootProps<T>): import("react/jsx-runtime").JSX.Element;
8
+ export { DateFieldRoot };
9
+ export type { DateFieldRootProps };
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { dateFieldVariants } from '@masaraxui/styles';
3
+ import React__default from 'react';
4
+ import { DateField } from 'react-aria-components';
5
+ import { dataAttr } from '../../utils/assertion.js';
6
+ import { composeTwRenderProps } from '../../utils/compose.js';
7
+ import { jsx, Fragment } from 'react/jsx-runtime';
8
+
9
+ function DateFieldRoot({
10
+ children,
11
+ className,
12
+ fullWidth,
13
+ ...props
14
+ }) {
15
+ const styles = React__default.useMemo(() => dateFieldVariants({
16
+ fullWidth
17
+ }), [fullWidth]);
18
+ return /*#__PURE__*/jsx(DateField, {
19
+ "data-required": dataAttr(props.isRequired),
20
+ "data-slot": "date-field",
21
+ ...props,
22
+ className: composeTwRenderProps(className, styles),
23
+ children: values => /*#__PURE__*/jsx(Fragment, {
24
+ children: typeof children === "function" ? children(values) : children
25
+ })
26
+ });
27
+ }
28
+
29
+ export { DateFieldRoot };
@@ -0,0 +1,26 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix } from "../date-input-group";
3
+ import { DateFieldRoot } from "./date-field";
4
+ export declare const DateField: typeof DateFieldRoot & {
5
+ Root: typeof DateFieldRoot;
6
+ Group: ({ children, className, fullWidth, variant, ...props }: import("../date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
7
+ Input: ({ className, ...props }: import("../date-input-group").DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
8
+ InputContainer: ({ children, className, ...props }: import("../date-input-group").DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
9
+ Segment: ({ className, segment, ...props }: import("../date-input-group").DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
10
+ Prefix: ({ children, className, ...props }: import("../date-input-group").DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
11
+ Suffix: ({ children, className, ...props }: import("../date-input-group").DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export type DateField = {
14
+ Props: ComponentProps<typeof DateFieldRoot>;
15
+ RootProps: ComponentProps<typeof DateFieldRoot>;
16
+ GroupProps: ComponentProps<typeof DateInputGroupRoot>;
17
+ InputProps: ComponentProps<typeof DateInputGroupInput>;
18
+ InputContainerProps: ComponentProps<typeof DateInputGroupInputContainer>;
19
+ SegmentProps: ComponentProps<typeof DateInputGroupSegment>;
20
+ PrefixProps: ComponentProps<typeof DateInputGroupPrefix>;
21
+ SuffixProps: ComponentProps<typeof DateInputGroupSuffix>;
22
+ };
23
+ export { DateFieldRoot };
24
+ export type { DateFieldRootProps, DateFieldRootProps as DateFieldProps } from "./date-field";
25
+ export { dateFieldVariants } from "@masaraxui/styles";
26
+ export type { DateFieldVariants } from "@masaraxui/styles";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ import '../date-input-group/index.js';
3
+ import { DateFieldRoot } from './date-field.js';
4
+ export { dateFieldVariants } from '@masaraxui/styles';
5
+ import { DateInputGroupSuffix, DateInputGroupPrefix, DateInputGroupSegment, DateInputGroupInputContainer, DateInputGroupInput, DateInputGroupRoot } from '../date-input-group/date-input-group.js';
6
+
7
+ /* -------------------------------------------------------------------------------------------------
8
+ * Compound Component
9
+ * -----------------------------------------------------------------------------------------------*/
10
+ const DateField = Object.assign(DateFieldRoot, {
11
+ Root: DateFieldRoot,
12
+ Group: DateInputGroupRoot,
13
+ Input: DateInputGroupInput,
14
+ InputContainer: DateInputGroupInputContainer,
15
+ Segment: DateInputGroupSegment,
16
+ Prefix: DateInputGroupPrefix,
17
+ Suffix: DateInputGroupSuffix
18
+ });
19
+
20
+ export { DateField, DateFieldRoot };
@@ -0,0 +1,25 @@
1
+ import type { DateInputGroupVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { DateInputProps as DateInputPrimitiveProps, DateSegmentProps as DateSegmentPrimitiveProps, DateInputProps as TimeInputPrimitiveProps, DateSegmentProps as TimeSegmentPrimitiveProps } from "react-aria-components";
4
+ import { Group as GroupPrimitive } from "react-aria-components";
5
+ interface DateInputGroupRootProps extends ComponentPropsWithRef<typeof GroupPrimitive>, DateInputGroupVariants {
6
+ }
7
+ declare const DateInputGroupRoot: ({ children, className, fullWidth, variant, ...props }: DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
8
+ interface DateInputGroupPrefixProps extends ComponentPropsWithRef<"div"> {
9
+ }
10
+ declare const DateInputGroupPrefix: ({ children, className, ...props }: DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
11
+ interface DateInputGroupInputProps extends DateInputPrimitiveProps, Partial<Omit<TimeInputPrimitiveProps, keyof DateInputPrimitiveProps>> {
12
+ }
13
+ declare const DateInputGroupInput: ({ className, ...props }: DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
14
+ interface DateInputGroupSegmentProps extends DateSegmentPrimitiveProps, Partial<Omit<TimeSegmentPrimitiveProps, keyof DateSegmentPrimitiveProps>> {
15
+ className?: string;
16
+ }
17
+ declare const DateInputGroupSegment: ({ className, segment, ...props }: DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
18
+ interface DateInputGroupInputContainerProps extends ComponentPropsWithRef<"div"> {
19
+ }
20
+ declare const DateInputGroupInputContainer: ({ children, className, ...props }: DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
21
+ interface DateInputGroupSuffixProps extends ComponentPropsWithRef<"div"> {
22
+ }
23
+ declare const DateInputGroupSuffix: ({ children, className, ...props }: DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
24
+ export { DateInputGroupRoot, DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupSegment, DateInputGroupPrefix, DateInputGroupSuffix, };
25
+ export type { DateInputGroupRootProps, DateInputGroupInputProps, DateInputGroupInputContainerProps, DateInputGroupSegmentProps, DateInputGroupPrefixProps, DateInputGroupSuffixProps, };
@@ -0,0 +1,146 @@
1
+ "use client";
2
+ import { dateInputGroupVariants } from '@masaraxui/styles';
3
+ import React__default, { createContext, useContext } from 'react';
4
+ import { Group, DateSegment, DateInput } from 'react-aria-components';
5
+ import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
6
+ import { jsx, Fragment } from 'react/jsx-runtime';
7
+
8
+ const DateInputGroupContext = /*#__PURE__*/createContext({});
9
+
10
+ /* -------------------------------------------------------------------------------------------------
11
+ * DateInputGroup Root
12
+ * -----------------------------------------------------------------------------------------------*/
13
+
14
+ const DateInputGroupRoot = ({
15
+ children,
16
+ className,
17
+ fullWidth,
18
+ variant,
19
+ ...props
20
+ }) => {
21
+ const slots = React__default.useMemo(() => dateInputGroupVariants({
22
+ fullWidth,
23
+ variant
24
+ }), [fullWidth, variant]);
25
+ return /*#__PURE__*/jsx(DateInputGroupContext, {
26
+ value: {
27
+ slots
28
+ },
29
+ children: /*#__PURE__*/jsx(Group, {
30
+ className: composeTwRenderProps(className, slots?.base()),
31
+ "data-slot": "date-input-group",
32
+ ...props,
33
+ children: values => /*#__PURE__*/jsx(Fragment, {
34
+ children: typeof children === "function" ? children(values) : children
35
+ })
36
+ })
37
+ });
38
+ };
39
+
40
+ /* -------------------------------------------------------------------------------------------------
41
+ * DateInputGroup Prefix
42
+ * -----------------------------------------------------------------------------------------------*/
43
+
44
+ const DateInputGroupPrefix = ({
45
+ children,
46
+ className,
47
+ ...props
48
+ }) => {
49
+ const {
50
+ slots
51
+ } = useContext(DateInputGroupContext);
52
+ return /*#__PURE__*/jsx("div", {
53
+ className: composeSlotClassName(slots?.prefix, className),
54
+ "data-slot": "date-input-group-prefix",
55
+ ...props,
56
+ children: children
57
+ });
58
+ };
59
+
60
+ /* -------------------------------------------------------------------------------------------------
61
+ * DateInputGroup Input
62
+ * -----------------------------------------------------------------------------------------------*/
63
+
64
+ const DateInputGroupInput = ({
65
+ className,
66
+ ...props
67
+ }) => {
68
+ const {
69
+ slots
70
+ } = useContext(DateInputGroupContext);
71
+
72
+ // TimeInput and DateInput have compatible interfaces
73
+ // React Aria Components will handle the correct primitive based on parent context (TimeField vs DateField)
74
+ // We use DateInputPrimitive as the default, but it will work with TimeField context
75
+ return /*#__PURE__*/jsx(DateInput, {
76
+ className: composeTwRenderProps(className, slots?.input()),
77
+ "data-slot": "date-input-group-input",
78
+ ...props
79
+ });
80
+ };
81
+
82
+ /* -------------------------------------------------------------------------------------------------
83
+ * DateInputGroup Segment
84
+ * -----------------------------------------------------------------------------------------------*/
85
+
86
+ const DateInputGroupSegment = ({
87
+ className,
88
+ segment,
89
+ ...props
90
+ }) => {
91
+ const {
92
+ slots
93
+ } = useContext(DateInputGroupContext);
94
+
95
+ // TimeSegment and DateSegment have compatible interfaces
96
+ // React Aria Components will handle the correct primitive based on parent context
97
+ // We use DateSegmentPrimitive as the default, but it will work with TimeField context
98
+ return /*#__PURE__*/jsx(DateSegment, {
99
+ className: composeSlotClassName(slots?.segment, className),
100
+ "data-slot": "date-input-group-segment",
101
+ segment: segment,
102
+ ...props
103
+ });
104
+ };
105
+
106
+ /* -------------------------------------------------------------------------------------------------
107
+ * DateInputGroup InputContainer
108
+ * -----------------------------------------------------------------------------------------------*/
109
+
110
+ const DateInputGroupInputContainer = ({
111
+ children,
112
+ className,
113
+ ...props
114
+ }) => {
115
+ const {
116
+ slots
117
+ } = useContext(DateInputGroupContext);
118
+ return /*#__PURE__*/jsx("div", {
119
+ className: composeSlotClassName(slots?.inputContainer, className),
120
+ "data-slot": "date-input-group-input-container",
121
+ ...props,
122
+ children: children
123
+ });
124
+ };
125
+
126
+ /* -------------------------------------------------------------------------------------------------
127
+ * DateInputGroup Suffix
128
+ * -----------------------------------------------------------------------------------------------*/
129
+
130
+ const DateInputGroupSuffix = ({
131
+ children,
132
+ className,
133
+ ...props
134
+ }) => {
135
+ const {
136
+ slots
137
+ } = useContext(DateInputGroupContext);
138
+ return /*#__PURE__*/jsx("div", {
139
+ className: composeSlotClassName(slots?.suffix, className),
140
+ "data-slot": "date-input-group-suffix",
141
+ ...props,
142
+ children: children
143
+ });
144
+ };
145
+
146
+ export { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix };
@@ -0,0 +1,23 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix } from "./date-input-group";
3
+ export declare const DateInputGroup: (({ children, className, fullWidth, variant, ...props }: import("./date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element) & {
4
+ Root: ({ children, className, fullWidth, variant, ...props }: import("./date-input-group").DateInputGroupRootProps) => import("react/jsx-runtime").JSX.Element;
5
+ Input: ({ className, ...props }: import("./date-input-group").DateInputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
6
+ InputContainer: ({ children, className, ...props }: import("./date-input-group").DateInputGroupInputContainerProps) => import("react/jsx-runtime").JSX.Element;
7
+ Segment: ({ className, segment, ...props }: import("./date-input-group").DateInputGroupSegmentProps) => import("react/jsx-runtime").JSX.Element;
8
+ Prefix: ({ children, className, ...props }: import("./date-input-group").DateInputGroupPrefixProps) => import("react/jsx-runtime").JSX.Element;
9
+ Suffix: ({ children, className, ...props }: import("./date-input-group").DateInputGroupSuffixProps) => import("react/jsx-runtime").JSX.Element;
10
+ };
11
+ export type DateInputGroup = {
12
+ Props: ComponentProps<typeof DateInputGroupRoot>;
13
+ RootProps: ComponentProps<typeof DateInputGroupRoot>;
14
+ InputProps: ComponentProps<typeof DateInputGroupInput>;
15
+ InputContainerProps: ComponentProps<typeof DateInputGroupInputContainer>;
16
+ SegmentProps: ComponentProps<typeof DateInputGroupSegment>;
17
+ PrefixProps: ComponentProps<typeof DateInputGroupPrefix>;
18
+ SuffixProps: ComponentProps<typeof DateInputGroupSuffix>;
19
+ };
20
+ export { DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix, };
21
+ export type { DateInputGroupRootProps, DateInputGroupRootProps as DateInputGroupProps, DateInputGroupInputProps, DateInputGroupInputContainerProps, DateInputGroupSegmentProps, DateInputGroupPrefixProps, DateInputGroupSuffixProps, } from "./date-input-group";
22
+ export { dateInputGroupVariants } from "@masaraxui/styles";
23
+ export type { DateInputGroupVariants } from "@masaraxui/styles";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { DateInputGroupRoot, DateInputGroupSuffix, DateInputGroupPrefix, DateInputGroupSegment, DateInputGroupInputContainer, DateInputGroupInput } from './date-input-group.js';
3
+ export { dateInputGroupVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const DateInputGroup = Object.assign(DateInputGroupRoot, {
9
+ Root: DateInputGroupRoot,
10
+ Input: DateInputGroupInput,
11
+ InputContainer: DateInputGroupInputContainer,
12
+ Segment: DateInputGroupSegment,
13
+ Prefix: DateInputGroupPrefix,
14
+ Suffix: DateInputGroupSuffix
15
+ });
16
+
17
+ export { DateInputGroup, DateInputGroupInput, DateInputGroupInputContainer, DateInputGroupPrefix, DateInputGroupRoot, DateInputGroupSegment, DateInputGroupSuffix };
@@ -0,0 +1,30 @@
1
+ import type { DatePickerVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { DateValue } from "react-aria-components";
4
+ import React from "react";
5
+ import { Button as ButtonPrimitive, DatePicker as DatePickerPrimitive, Popover as PopoverPrimitive } from "react-aria-components";
6
+ interface DatePickerRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DatePickerPrimitive<T>>, DatePickerVariants {
7
+ }
8
+ declare const DatePickerRoot: {
9
+ <T extends DateValue>({ children, className, onOpenChange, ...props }: DatePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ interface DatePickerTriggerProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
13
+ }
14
+ declare const DatePickerTrigger: React.ForwardRefExoticComponent<Omit<DatePickerTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
15
+ interface DatePickerTriggerIndicatorProps extends Omit<ComponentPropsWithRef<"span">, "children"> {
16
+ children?: React.ReactNode;
17
+ }
18
+ declare const DatePickerTriggerIndicator: {
19
+ ({ children, className, ...props }: DatePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ interface DatePickerPopoverProps extends Omit<ComponentPropsWithRef<typeof PopoverPrimitive>, "children"> {
23
+ children: React.ReactNode;
24
+ }
25
+ declare const DatePickerPopover: {
26
+ ({ children, className, placement, ...props }: DatePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
27
+ displayName: string;
28
+ };
29
+ export { DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator, DatePickerPopover };
30
+ export type { DatePickerRootProps, DatePickerTriggerProps, DatePickerTriggerIndicatorProps, DatePickerPopoverProps, };
@@ -0,0 +1,151 @@
1
+ "use client";
2
+ import { datePickerVariants } from '@masaraxui/styles';
3
+ import { mergeRefs } from '@react-aria/utils';
4
+ import React__default, { useRef, useEffect, createContext, useContext } from 'react';
5
+ import { DatePicker, 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 DatePickerContext = /*#__PURE__*/createContext({
13
+ triggerRef: {
14
+ current: null
15
+ }
16
+ });
17
+
18
+ /* -------------------------------------------------------------------------------------------------
19
+ * DatePicker Root
20
+ * -----------------------------------------------------------------------------------------------*/
21
+
22
+ const DatePickerRoot = ({
23
+ children,
24
+ className,
25
+ onOpenChange,
26
+ ...props
27
+ }) => {
28
+ const slots = React__default.useMemo(() => datePickerVariants(), []);
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(DatePickerContext, {
55
+ value: {
56
+ slots,
57
+ triggerRef
58
+ },
59
+ children: /*#__PURE__*/jsx(DatePicker, {
60
+ "data-required": dataAttr(props.isRequired),
61
+ "data-slot": "date-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
+ DatePickerRoot.displayName = "MasaraxUI.DatePicker";
72
+
73
+ /* -------------------------------------------------------------------------------------------------
74
+ * DatePicker Trigger
75
+ * -----------------------------------------------------------------------------------------------*/
76
+
77
+ const DatePickerTrigger = /*#__PURE__*/React__default.forwardRef(({
78
+ children,
79
+ className,
80
+ ...props
81
+ }, ref) => {
82
+ const {
83
+ slots,
84
+ triggerRef
85
+ } = useContext(DatePickerContext);
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-picker-trigger",
94
+ ...props,
95
+ children: values => /*#__PURE__*/jsx(Fragment, {
96
+ children: typeof children === "function" ? children(values) : children
97
+ })
98
+ });
99
+ });
100
+ DatePickerTrigger.displayName = "MasaraxUI.DatePicker.Trigger";
101
+
102
+ /* -------------------------------------------------------------------------------------------------
103
+ * DatePicker Trigger Indicator
104
+ * -----------------------------------------------------------------------------------------------*/
105
+
106
+ const DatePickerTriggerIndicator = ({
107
+ children,
108
+ className,
109
+ ...props
110
+ }) => {
111
+ const {
112
+ slots
113
+ } = useContext(DatePickerContext);
114
+ return /*#__PURE__*/jsx("span", {
115
+ "aria-hidden": "true",
116
+ className: composeSlotClassName(slots?.triggerIndicator, className),
117
+ "data-slot": "date-picker-trigger-indicator",
118
+ ...props,
119
+ children: children || /*#__PURE__*/jsx(IconCalendar, {})
120
+ });
121
+ };
122
+ DatePickerTriggerIndicator.displayName = "MasaraxUI.DatePicker.TriggerIndicator";
123
+
124
+ /* -------------------------------------------------------------------------------------------------
125
+ * DatePicker Popover
126
+ * -----------------------------------------------------------------------------------------------*/
127
+
128
+ const DatePickerPopover = ({
129
+ children,
130
+ className,
131
+ placement = "bottom",
132
+ ...props
133
+ }) => {
134
+ const {
135
+ slots
136
+ } = useContext(DatePickerContext);
137
+ return /*#__PURE__*/jsx(SurfaceContext, {
138
+ value: {
139
+ variant: "default"
140
+ },
141
+ children: /*#__PURE__*/jsx(Popover, {
142
+ ...props,
143
+ className: composeTwRenderProps(className, slots?.popover()),
144
+ placement: placement,
145
+ children: children
146
+ })
147
+ });
148
+ };
149
+ DatePickerPopover.displayName = "MasaraxUI.DatePicker.Popover";
150
+
151
+ export { DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator };
@@ -0,0 +1,31 @@
1
+ import type { ComponentProps } from "react";
2
+ import { DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator } from "./date-picker";
3
+ export declare const DatePicker: {
4
+ <T extends import("react-aria-components").DateValue>({ children, className, onOpenChange, ...props }: import("./date-picker").DatePickerRootProps<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-picker").DatePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ Trigger: import("react").ForwardRefExoticComponent<Omit<import("./date-picker").DatePickerTriggerProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
12
+ TriggerIndicator: {
13
+ ({ children, className, ...props }: import("./date-picker").DatePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
14
+ displayName: string;
15
+ };
16
+ Popover: {
17
+ ({ children, className, placement, ...props }: import("./date-picker").DatePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
20
+ };
21
+ export type DatePicker = {
22
+ Props: ComponentProps<typeof DatePickerRoot>;
23
+ RootProps: ComponentProps<typeof DatePickerRoot>;
24
+ TriggerProps: ComponentProps<typeof DatePickerTrigger>;
25
+ TriggerIndicatorProps: ComponentProps<typeof DatePickerTriggerIndicator>;
26
+ PopoverProps: ComponentProps<typeof DatePickerPopover>;
27
+ };
28
+ export { DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator, DatePickerPopover };
29
+ export type { DatePickerRootProps, DatePickerRootProps as DatePickerProps, DatePickerTriggerProps, DatePickerTriggerIndicatorProps, DatePickerPopoverProps, } from "./date-picker";
30
+ export { datePickerVariants } from "@masaraxui/styles";
31
+ export type { DatePickerVariants } from "@masaraxui/styles";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ import { DatePickerRoot, DatePickerPopover, DatePickerTriggerIndicator, DatePickerTrigger } from './date-picker.js';
3
+ export { datePickerVariants } from '@masaraxui/styles';
4
+
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Compound Component
7
+ * -----------------------------------------------------------------------------------------------*/
8
+ const DatePicker = Object.assign(DatePickerRoot, {
9
+ Root: DatePickerRoot,
10
+ Trigger: DatePickerTrigger,
11
+ TriggerIndicator: DatePickerTriggerIndicator,
12
+ Popover: DatePickerPopover
13
+ });
14
+
15
+ export { DatePicker, DatePickerPopover, DatePickerRoot, DatePickerTrigger, DatePickerTriggerIndicator };
@@ -0,0 +1,36 @@
1
+ import type { DateRangePickerVariants } from "@masaraxui/styles";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ import type { DateValue } from "react-aria-components";
4
+ import React from "react";
5
+ import { Button as ButtonPrimitive, DateRangePicker as DateRangePickerPrimitive, Popover as PopoverPrimitive } from "react-aria-components";
6
+ interface DateRangePickerRootProps<T extends DateValue> extends ComponentPropsWithRef<typeof DateRangePickerPrimitive<T>>, DateRangePickerVariants {
7
+ }
8
+ declare const DateRangePickerRoot: {
9
+ <T extends DateValue>({ children, className, onOpenChange, ...props }: DateRangePickerRootProps<T>): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ interface DateRangePickerTriggerProps extends ComponentPropsWithRef<typeof ButtonPrimitive> {
13
+ }
14
+ declare const DateRangePickerTrigger: React.ForwardRefExoticComponent<Omit<DateRangePickerTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
15
+ interface DateRangePickerTriggerIndicatorProps extends Omit<ComponentPropsWithRef<"span">, "children"> {
16
+ children?: React.ReactNode;
17
+ }
18
+ declare const DateRangePickerTriggerIndicator: {
19
+ ({ children, className, ...props }: DateRangePickerTriggerIndicatorProps): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ interface DateRangePickerRangeSeparatorProps extends ComponentPropsWithRef<"span"> {
23
+ }
24
+ declare const DateRangePickerRangeSeparator: {
25
+ ({ children, className, ...props }: DateRangePickerRangeSeparatorProps): import("react/jsx-runtime").JSX.Element;
26
+ displayName: string;
27
+ };
28
+ interface DateRangePickerPopoverProps extends Omit<ComponentPropsWithRef<typeof PopoverPrimitive>, "children"> {
29
+ children: React.ReactNode;
30
+ }
31
+ declare const DateRangePickerPopover: {
32
+ ({ children, className, placement, ...props }: DateRangePickerPopoverProps): import("react/jsx-runtime").JSX.Element;
33
+ displayName: string;
34
+ };
35
+ export { DateRangePickerRoot, DateRangePickerTrigger, DateRangePickerTriggerIndicator, DateRangePickerRangeSeparator, DateRangePickerPopover, };
36
+ export type { DateRangePickerRootProps, DateRangePickerTriggerProps, DateRangePickerTriggerIndicatorProps, DateRangePickerRangeSeparatorProps, DateRangePickerPopoverProps, };