@basic-ui/core 0.0.52 → 0.0.53

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 (408) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +105 -89
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Accordion/Accordion.d.ts +9 -9
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  7. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  8. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  9. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  10. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  11. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/context.d.ts +19 -19
  13. package/build/esm/Accordion/context.js.map +1 -1
  14. package/build/esm/Accordion/index.d.ts +4 -4
  15. package/build/esm/Accordion/index.js.map +1 -1
  16. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  17. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  18. package/build/esm/Carousel/Carousel.d.ts +9 -0
  19. package/build/esm/Carousel/Carousel.js +38 -0
  20. package/build/esm/Carousel/Carousel.js.map +1 -0
  21. package/build/esm/Carousel/Fader.d.ts +14 -0
  22. package/build/esm/Carousel/Fader.js +76 -0
  23. package/build/esm/Carousel/Fader.js.map +1 -0
  24. package/build/esm/Carousel/FaderItem.d.ts +5 -0
  25. package/build/esm/Carousel/FaderItem.js +16 -0
  26. package/build/esm/Carousel/FaderItem.js.map +1 -0
  27. package/build/esm/Carousel/Preloader.d.ts +7 -0
  28. package/build/esm/Carousel/Preloader.js +70 -0
  29. package/build/esm/Carousel/Preloader.js.map +1 -0
  30. package/build/esm/Carousel/Slider.d.ts +14 -0
  31. package/build/esm/Carousel/Slider.js +212 -0
  32. package/build/esm/Carousel/Slider.js.map +1 -0
  33. package/build/esm/Carousel/SliderItem.d.ts +12 -0
  34. package/build/esm/Carousel/SliderItem.js +41 -0
  35. package/build/esm/Carousel/SliderItem.js.map +1 -0
  36. package/build/esm/Carousel/context.d.ts +10 -0
  37. package/build/esm/Carousel/context.js +8 -0
  38. package/build/esm/Carousel/context.js.map +1 -0
  39. package/build/esm/Carousel/getSliderParams.d.ts +9 -0
  40. package/build/esm/Carousel/getSliderParams.js +85 -0
  41. package/build/esm/Carousel/getSliderParams.js.map +1 -0
  42. package/build/esm/Carousel/index.d.ts +7 -0
  43. package/build/esm/Carousel/index.js +8 -0
  44. package/build/esm/Carousel/index.js.map +1 -0
  45. package/build/esm/Carousel/useCarouselGestures.d.ts +30 -0
  46. package/build/esm/Carousel/useCarouselGestures.js +33 -0
  47. package/build/esm/Carousel/useCarouselGestures.js.map +1 -0
  48. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  49. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  50. package/build/esm/CheckBox/index.d.ts +1 -1
  51. package/build/esm/CheckBox/index.js.map +1 -1
  52. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  53. package/build/esm/ComboBox/Combobox.js.map +1 -1
  54. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  55. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  56. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  57. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  58. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  59. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  60. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  61. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  62. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  63. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  64. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  65. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  66. package/build/esm/ComboBox/cities.d.ts +5 -5
  67. package/build/esm/ComboBox/cities.js.map +1 -1
  68. package/build/esm/ComboBox/context.d.ts +30 -30
  69. package/build/esm/ComboBox/context.js.map +1 -1
  70. package/build/esm/ComboBox/hooks.d.ts +37 -37
  71. package/build/esm/ComboBox/hooks.js.map +1 -1
  72. package/build/esm/ComboBox/index.d.ts +8 -8
  73. package/build/esm/ComboBox/index.js.map +1 -1
  74. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  75. package/build/esm/ComboBox/makeHash.js.map +1 -1
  76. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  77. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  78. package/build/esm/DatePicker/DatePicker.d.ts +24 -0
  79. package/build/esm/DatePicker/DatePicker.js +101 -0
  80. package/build/esm/DatePicker/DatePicker.js.map +1 -0
  81. package/build/esm/DatePicker/DatePickerSelect.d.ts +8 -0
  82. package/build/esm/DatePicker/DatePickerSelect.js +201 -0
  83. package/build/esm/DatePicker/DatePickerSelect.js.map +1 -0
  84. package/build/esm/DatePicker/RangeDatePicker.d.ts +28 -0
  85. package/build/esm/DatePicker/RangeDatePicker.js +94 -0
  86. package/build/esm/DatePicker/RangeDatePicker.js.map +1 -0
  87. package/build/esm/DatePicker/adjustDates.d.ts +4 -0
  88. package/build/esm/DatePicker/adjustDates.js +18 -0
  89. package/build/esm/DatePicker/adjustDates.js.map +1 -0
  90. package/build/esm/DatePicker/contexts.d.ts +31 -0
  91. package/build/esm/DatePicker/contexts.js +15 -0
  92. package/build/esm/DatePicker/contexts.js.map +1 -0
  93. package/build/esm/DatePicker/dateTypes.d.ts +2 -0
  94. package/build/esm/DatePicker/dateTypes.js +2 -0
  95. package/build/esm/DatePicker/dateTypes.js.map +1 -0
  96. package/build/esm/DatePicker/hooks.d.ts +36 -0
  97. package/build/esm/DatePicker/hooks.js +98 -0
  98. package/build/esm/DatePicker/hooks.js.map +1 -0
  99. package/build/esm/DatePicker/index.d.ts +5 -0
  100. package/build/esm/DatePicker/index.js +6 -0
  101. package/build/esm/DatePicker/index.js.map +1 -0
  102. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  103. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  104. package/build/esm/FocusLock/index.d.ts +1 -1
  105. package/build/esm/FocusLock/index.js.map +1 -1
  106. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  107. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  108. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  109. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  110. package/build/esm/List/List.d.ts +7 -7
  111. package/build/esm/List/List.js.map +1 -1
  112. package/build/esm/List/ListItem.d.ts +7 -7
  113. package/build/esm/List/ListItem.js.map +1 -1
  114. package/build/esm/List/context.d.ts +4 -4
  115. package/build/esm/List/context.js.map +1 -1
  116. package/build/esm/List/index.d.ts +2 -2
  117. package/build/esm/List/index.js.map +1 -1
  118. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  119. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  120. package/build/esm/Menu/Menu.d.ts +10 -10
  121. package/build/esm/Menu/Menu.js.map +1 -1
  122. package/build/esm/Menu/MenuButton.d.ts +11 -11
  123. package/build/esm/Menu/MenuButton.js.map +1 -1
  124. package/build/esm/Menu/MenuItem.d.ts +8 -8
  125. package/build/esm/Menu/MenuItem.js.map +1 -1
  126. package/build/esm/Menu/MenuList.d.ts +7 -7
  127. package/build/esm/Menu/MenuList.js.map +1 -1
  128. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  129. package/build/esm/Menu/MenuPopover.js.map +1 -1
  130. package/build/esm/Menu/context.d.ts +25 -25
  131. package/build/esm/Menu/context.js.map +1 -1
  132. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  133. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  134. package/build/esm/Menu/index.d.ts +6 -6
  135. package/build/esm/Menu/index.js.map +1 -1
  136. package/build/esm/Menu/scope.d.ts +1 -1
  137. package/build/esm/Menu/scope.js.map +1 -1
  138. package/build/esm/Modal/Modal.d.ts +9 -9
  139. package/build/esm/Modal/Modal.js.map +1 -1
  140. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  141. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  142. package/build/esm/Modal/index.d.ts +2 -2
  143. package/build/esm/Modal/index.js.map +1 -1
  144. package/build/esm/Popper/Popper.d.ts +35 -35
  145. package/build/esm/Popper/Popper.js.map +1 -1
  146. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  147. package/build/esm/Popper/PopperArrow.js.map +1 -1
  148. package/build/esm/Popper/context.d.ts +6 -6
  149. package/build/esm/Popper/context.js.map +1 -1
  150. package/build/esm/Popper/index.d.ts +3 -3
  151. package/build/esm/Popper/index.js.map +1 -1
  152. package/build/esm/Portal/Portal.d.ts +7 -6
  153. package/build/esm/Portal/Portal.js +6 -3
  154. package/build/esm/Portal/Portal.js.map +1 -1
  155. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -0
  156. package/build/esm/Portal/PortalSelectorProvider.js +13 -0
  157. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -0
  158. package/build/esm/Portal/index.d.ts +2 -1
  159. package/build/esm/Portal/index.js +1 -0
  160. package/build/esm/Portal/index.js.map +1 -1
  161. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  162. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  163. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  164. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  165. package/build/esm/RadioButton/context.d.ts +9 -9
  166. package/build/esm/RadioButton/context.js.map +1 -1
  167. package/build/esm/RadioButton/index.d.ts +2 -2
  168. package/build/esm/RadioButton/index.js.map +1 -1
  169. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  170. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  171. package/build/esm/SkipNav/index.d.ts +1 -1
  172. package/build/esm/SkipNav/index.js.map +1 -1
  173. package/build/esm/Slider/Slider.d.ts +197 -197
  174. package/build/esm/Slider/Slider.js +82 -82
  175. package/build/esm/Slider/Slider.js.map +1 -1
  176. package/build/esm/Slider/index.d.ts +1 -1
  177. package/build/esm/Slider/index.js.map +1 -1
  178. package/build/esm/Spinner/Spinner.d.ts +12 -12
  179. package/build/esm/Spinner/Spinner.js.map +1 -1
  180. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  181. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  182. package/build/esm/Spinner/context.d.ts +12 -12
  183. package/build/esm/Spinner/context.js.map +1 -1
  184. package/build/esm/Spinner/index.d.ts +2 -2
  185. package/build/esm/Spinner/index.js.map +1 -1
  186. package/build/esm/Tabs/Tab.d.ts +7 -7
  187. package/build/esm/Tabs/Tab.js.map +1 -1
  188. package/build/esm/Tabs/TabList.d.ts +9 -9
  189. package/build/esm/Tabs/TabList.js.map +1 -1
  190. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  191. package/build/esm/Tabs/TabPanel.js.map +1 -1
  192. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  193. package/build/esm/Tabs/TabPanels.js.map +1 -1
  194. package/build/esm/Tabs/Tabs.d.ts +10 -10
  195. package/build/esm/Tabs/Tabs.js.map +1 -1
  196. package/build/esm/Tabs/context.d.ts +17 -17
  197. package/build/esm/Tabs/context.js.map +1 -1
  198. package/build/esm/Tabs/index.d.ts +5 -5
  199. package/build/esm/Tabs/index.js.map +1 -1
  200. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  201. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  202. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  203. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  204. package/build/esm/Tooltip/index.d.ts +1 -1
  205. package/build/esm/Tooltip/index.js.map +1 -1
  206. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  207. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  208. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +13 -13
  211. package/build/esm/hooks/index.js.map +1 -1
  212. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  213. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  214. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  215. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  216. package/build/esm/hooks/useControlledState.d.ts +3 -3
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  219. package/build/esm/hooks/useFocusState.d.ts +11 -11
  220. package/build/esm/hooks/useFocusState.js.map +1 -1
  221. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  222. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  223. package/build/esm/hooks/useId.d.ts +1 -0
  224. package/build/esm/hooks/useId.js +25 -0
  225. package/build/esm/hooks/useId.js.map +1 -0
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js.map +1 -1
  228. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  229. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  230. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  231. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  232. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  233. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  234. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  235. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  236. package/build/esm/hooks/useScope.d.ts +11 -11
  237. package/build/esm/hooks/useScope.js.map +1 -1
  238. package/build/esm/hooks/useThrottle.d.ts +1 -1
  239. package/build/esm/hooks/useThrottle.js.map +1 -1
  240. package/build/esm/index.d.ts +15 -15
  241. package/build/esm/index.js.map +1 -1
  242. package/build/esm/utils/assign-ref.d.ts +3 -3
  243. package/build/esm/utils/assign-ref.js.map +1 -1
  244. package/build/esm/utils/assignRef.d.ts +3 -0
  245. package/build/esm/utils/assignRef.js +25 -0
  246. package/build/esm/utils/assignRef.js.map +1 -0
  247. package/build/esm/utils/can-use-dom.d.ts +1 -1
  248. package/build/esm/utils/can-use-dom.js.map +1 -1
  249. package/build/esm/utils/clamp.d.ts +1 -1
  250. package/build/esm/utils/clamp.js.map +1 -1
  251. package/build/esm/utils/context.d.ts +7 -7
  252. package/build/esm/utils/context.js.map +1 -1
  253. package/build/esm/utils/create-subscription.d.ts +4 -4
  254. package/build/esm/utils/create-subscription.js.map +1 -1
  255. package/build/esm/utils/get-circular-index.d.ts +1 -1
  256. package/build/esm/utils/get-circular-index.js.map +1 -1
  257. package/build/esm/utils/getCircularIndex.d.ts +1 -0
  258. package/build/esm/utils/getCircularIndex.js +8 -0
  259. package/build/esm/utils/getCircularIndex.js.map +1 -0
  260. package/build/esm/utils/index.d.ts +10 -10
  261. package/build/esm/utils/index.js.map +1 -1
  262. package/build/esm/utils/is-right-click.d.ts +6 -6
  263. package/build/esm/utils/is-right-click.js +4 -4
  264. package/build/esm/utils/is-right-click.js.map +1 -1
  265. package/build/esm/utils/owner-document.d.ts +7 -7
  266. package/build/esm/utils/owner-document.js +5 -5
  267. package/build/esm/utils/owner-document.js.map +1 -1
  268. package/build/esm/utils/polymorphic.d.ts +39 -39
  269. package/build/esm/utils/polymorphic.js.map +1 -1
  270. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  271. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  272. package/build/esm/utils/rubberBandClamp.d.ts +2 -0
  273. package/build/esm/utils/rubberBandClamp.js +20 -0
  274. package/build/esm/utils/rubberBandClamp.js.map +1 -0
  275. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  276. package/build/esm/utils/use-stable-callback.js +16 -16
  277. package/build/esm/utils/use-stable-callback.js.map +1 -1
  278. package/build/esm/utils/wrap-event.d.ts +3 -3
  279. package/build/esm/utils/wrap-event.js.map +1 -1
  280. package/build/esm/utils/wrapEvent.d.ts +3 -0
  281. package/build/esm/utils/wrapEvent.js +16 -0
  282. package/build/esm/utils/wrapEvent.js.map +1 -0
  283. package/build/tsconfig-build.tsbuildinfo +1 -1
  284. package/build/tsconfig.tsbuildinfo +7270 -0
  285. package/package.json +2 -2
  286. package/src/Accordion/Accordion.story.tsx +74 -74
  287. package/src/Accordion/Accordion.tsx +59 -59
  288. package/src/Accordion/AccordionBody.tsx +52 -52
  289. package/src/Accordion/AccordionHeader.tsx +167 -167
  290. package/src/Accordion/AccordionItem.tsx +50 -50
  291. package/src/Accordion/context.ts +37 -37
  292. package/src/Accordion/index.ts +4 -4
  293. package/src/Accordion/scopeQuery.ts +7 -7
  294. package/src/Accordion/styles.css +21 -21
  295. package/src/CheckBox/CheckBox.tsx +41 -41
  296. package/src/CheckBox/index.ts +1 -1
  297. package/src/ComboBox/ComboBox.story.tsx +120 -120
  298. package/src/ComboBox/Combobox.tsx +148 -148
  299. package/src/ComboBox/ComboboxButton.tsx +61 -61
  300. package/src/ComboBox/ComboboxInput.tsx +187 -187
  301. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  302. package/src/ComboBox/ComboboxList.tsx +47 -47
  303. package/src/ComboBox/ComboboxOption.tsx +111 -111
  304. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  305. package/src/ComboBox/cities.ts +23194 -23194
  306. package/src/ComboBox/context.ts +35 -35
  307. package/src/ComboBox/hooks.tsx +451 -451
  308. package/src/ComboBox/index.ts +8 -8
  309. package/src/ComboBox/makeHash.ts +19 -19
  310. package/src/ComboBox/scopeQuery.ts +6 -6
  311. package/src/ComboBox/styles.css +32 -32
  312. package/src/FocusLock/FocusLock.tsx +66 -66
  313. package/src/FocusLock/index.ts +1 -1
  314. package/src/FocusLock/tabUtils.ts +40 -40
  315. package/src/FocusLock/useFocusLock.ts +56 -56
  316. package/src/List/List.story.tsx +18 -18
  317. package/src/List/List.tsx +17 -17
  318. package/src/List/ListItem.tsx +23 -23
  319. package/src/List/context.ts +19 -19
  320. package/src/List/index.ts +2 -2
  321. package/src/Menu/ContextMenu.story.tsx +73 -73
  322. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  323. package/src/Menu/Menu.story.tsx +160 -160
  324. package/src/Menu/Menu.tsx +83 -83
  325. package/src/Menu/MenuButton.tsx +83 -83
  326. package/src/Menu/MenuComplex.story.tsx +58 -58
  327. package/src/Menu/MenuItem.tsx +88 -88
  328. package/src/Menu/MenuList.tsx +254 -254
  329. package/src/Menu/MenuPopover.tsx +35 -35
  330. package/src/Menu/context.ts +44 -44
  331. package/src/Menu/fixtures/countryList.ts +198 -198
  332. package/src/Menu/index.ts +6 -6
  333. package/src/Menu/scope.ts +7 -7
  334. package/src/Menu/styles.css +42 -42
  335. package/src/Modal/Modal.story.tsx +258 -258
  336. package/src/Modal/Modal.tsx +48 -48
  337. package/src/Modal/ModalBackdrop.tsx +78 -78
  338. package/src/Modal/NavDrawer.story.tsx +158 -158
  339. package/src/Modal/index.ts +2 -2
  340. package/src/Modal/styles.css +46 -46
  341. package/src/Popper/Popper.story.tsx +263 -263
  342. package/src/Popper/Popper.tsx +154 -154
  343. package/src/Popper/PopperArrow.tsx +35 -35
  344. package/src/Popper/context.ts +10 -10
  345. package/src/Popper/index.ts +3 -3
  346. package/src/Popper/styles.css +60 -60
  347. package/src/Portal/Portal.tsx +31 -20
  348. package/src/Portal/PortalSelectorProvider.tsx +24 -0
  349. package/src/Portal/index.ts +6 -1
  350. package/src/RadioButton/RadioButton.story.tsx +77 -77
  351. package/src/RadioButton/RadioButton.tsx +55 -55
  352. package/src/RadioButton/RadioGroup.tsx +60 -60
  353. package/src/RadioButton/context.ts +17 -17
  354. package/src/RadioButton/index.ts +2 -2
  355. package/src/SkipNav/SkipNav.tsx +16 -16
  356. package/src/SkipNav/index.tsx +1 -1
  357. package/src/Slider/Slider.story.tsx +45 -45
  358. package/src/Slider/Slider.tsx +1120 -1120
  359. package/src/Slider/index.ts +1 -1
  360. package/src/Slider/styles.css +131 -131
  361. package/src/Spinner/Spinner.story.tsx +31 -31
  362. package/src/Spinner/Spinner.tsx +117 -117
  363. package/src/Spinner/SpinnerButton.tsx +54 -54
  364. package/src/Spinner/context.ts +20 -20
  365. package/src/Spinner/index.ts +2 -2
  366. package/src/Spinner/styles.css +23 -23
  367. package/src/Tabs/Tab.story.tsx +80 -80
  368. package/src/Tabs/Tab.tsx +136 -136
  369. package/src/Tabs/TabList.tsx +71 -71
  370. package/src/Tabs/TabPanel.tsx +53 -53
  371. package/src/Tabs/TabPanels.tsx +30 -30
  372. package/src/Tabs/Tabs.tsx +46 -46
  373. package/src/Tabs/context.ts +30 -30
  374. package/src/Tabs/index.tsx +5 -5
  375. package/src/Tabs/scopeQuery.ts +6 -6
  376. package/src/Tooltip/Tooltip.story.tsx +61 -61
  377. package/src/Tooltip/Tooltip.tsx +50 -50
  378. package/src/Tooltip/index.ts +1 -1
  379. package/src/Tooltip/stateMachine.ts +192 -192
  380. package/src/Tooltip/styles.css +17 -17
  381. package/src/Tooltip/useTooltip.ts +136 -136
  382. package/src/hooks/index.ts +13 -13
  383. package/src/hooks/useAutoFocus.ts +22 -22
  384. package/src/hooks/useChildrenCounter.ts +51 -51
  385. package/src/hooks/useFocusReturn.ts +43 -43
  386. package/src/hooks/useFocusState.ts +30 -30
  387. package/src/hooks/useGestureHandlers.ts +286 -286
  388. package/src/hooks/useMeasure.ts +33 -33
  389. package/src/hooks/useOnClickOutside.ts +32 -32
  390. package/src/hooks/useOnKeyDown.ts +19 -19
  391. package/src/hooks/useReducerMachine.ts +60 -60
  392. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  393. package/src/hooks/useScope.ts +52 -52
  394. package/src/hooks/useThrottle.ts +19 -19
  395. package/src/index.ts +20 -20
  396. package/src/utils/assign-ref.ts +27 -27
  397. package/src/utils/can-use-dom.ts +7 -7
  398. package/src/utils/clamp.ts +3 -3
  399. package/src/utils/context.tsx +48 -48
  400. package/src/utils/create-subscription.ts +16 -16
  401. package/src/utils/get-circular-index.ts +7 -7
  402. package/src/utils/index.ts +10 -10
  403. package/src/utils/is-right-click.ts +14 -14
  404. package/src/utils/owner-document.ts +13 -13
  405. package/src/utils/polymorphic.ts +78 -78
  406. package/src/utils/rubber-band-clamp.ts +25 -25
  407. package/src/utils/use-stable-callback.ts +58 -58
  408. package/src/utils/wrap-event.ts +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","menuContext","MenuProvider","Provider","useMenuContext","menuListContext","MenuListProvider","useMenuListContext"],"sources":["../../../src/Menu/context.ts"],"sourcesContent":["import type { OffsetsFunction } from '@popperjs/core/lib/modifiers/offset';\r\nimport type {\r\n Dispatch,\r\n KeyboardEvent,\r\n MouseEvent,\r\n MutableRefObject,\r\n PointerEvent,\r\n SetStateAction,\r\n} from 'react';\r\nimport { createContext, useContext } from 'react';\r\n\r\nexport type ItemObject = { text: string; value: any; id: string | undefined };\r\n\r\n// MenuRoot\r\nexport interface MenuContextProps {\r\n buttonRef: MutableRefObject<HTMLElement | null>;\r\n menuListIdRef: MutableRefObject<undefined | string>;\r\n openWithArrowKeyRef: MutableRefObject<string | null>;\r\n onChange: (\r\n e:\r\n | KeyboardEvent<HTMLElement>\r\n | MouseEvent<HTMLElement>\r\n | PointerEvent<HTMLElement>,\r\n isOpen: boolean\r\n ) => void;\r\n open: boolean;\r\n offsetFn: OffsetsFunction | undefined;\r\n setOffsetFn: Dispatch<SetStateAction<OffsetsFunction | undefined>>;\r\n isContextMenu: MutableRefObject<boolean>;\r\n}\r\n\r\nconst menuContext = createContext<MenuContextProps>(null as any);\r\nexport const { Provider: MenuProvider } = menuContext;\r\nexport const useMenuContext = () => useContext(menuContext);\r\n\r\n// MenuList\r\nexport interface MenuListContextProps {\r\n navigationItem: HTMLElement | undefined;\r\n onNavigate: undefined | ((idx: HTMLElement) => void);\r\n}\r\n\r\nconst menuListContext = createContext<MenuListContextProps>(null as any);\r\nexport const MenuListProvider = menuListContext.Provider;\r\nexport const useMenuListContext = () => useContext(menuListContext);\r\n"],"mappings":"AASA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAsBA,IAAMC,WAAW,gBAAGF,aAAa,CAAmB,IAAnB,CAAjC;AACO,IAAkBG,YAAlB,GAAmCD,WAAnC,CAAQE,QAAR;;AACP,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB;EAAA,OAAMJ,UAAU,CAACC,WAAD,CAAhB;AAAA,CAAvB,C,CAEP;;AAMA,IAAMI,eAAe,gBAAGN,aAAa,CAAuB,IAAvB,CAArC;AACA,OAAO,IAAMO,gBAAgB,GAAGD,eAAe,CAACF,QAAzC;AACP,OAAO,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB;EAAA,OAAMP,UAAU,CAACK,eAAD,CAAhB;AAAA,CAA3B"}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","menuContext","MenuProvider","Provider","useMenuContext","menuListContext","MenuListProvider","useMenuListContext"],"sources":["../../../src/Menu/context.ts"],"sourcesContent":["import type { OffsetsFunction } from '@popperjs/core/lib/modifiers/offset';\nimport type {\n Dispatch,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n PointerEvent,\n SetStateAction,\n} from 'react';\nimport { createContext, useContext } from 'react';\n\nexport type ItemObject = { text: string; value: any; id: string | undefined };\n\n// MenuRoot\nexport interface MenuContextProps {\n buttonRef: MutableRefObject<HTMLElement | null>;\n menuListIdRef: MutableRefObject<undefined | string>;\n openWithArrowKeyRef: MutableRefObject<string | null>;\n onChange: (\n e:\n | KeyboardEvent<HTMLElement>\n | MouseEvent<HTMLElement>\n | PointerEvent<HTMLElement>,\n isOpen: boolean\n ) => void;\n open: boolean;\n offsetFn: OffsetsFunction | undefined;\n setOffsetFn: Dispatch<SetStateAction<OffsetsFunction | undefined>>;\n isContextMenu: MutableRefObject<boolean>;\n}\n\nconst menuContext = createContext<MenuContextProps>(null as any);\nexport const { Provider: MenuProvider } = menuContext;\nexport const useMenuContext = () => useContext(menuContext);\n\n// MenuList\nexport interface MenuListContextProps {\n navigationItem: HTMLElement | undefined;\n onNavigate: undefined | ((idx: HTMLElement) => void);\n}\n\nconst menuListContext = createContext<MenuListContextProps>(null as any);\nexport const MenuListProvider = menuListContext.Provider;\nexport const useMenuListContext = () => useContext(menuListContext);\n"],"mappings":"AASA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAsBA,IAAMC,WAAW,gBAAGF,aAAa,CAAmB,IAAnB,CAAjC;AACO,IAAkBG,YAAlB,GAAmCD,WAAnC,CAAQE,QAAR;;AACP,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB;EAAA,OAAMJ,UAAU,CAACC,WAAD,CAAhB;AAAA,CAAvB,C,CAEP;;AAMA,IAAMI,eAAe,gBAAGN,aAAa,CAAuB,IAAvB,CAArC;AACA,OAAO,IAAMO,gBAAgB,GAAGD,eAAe,CAACF,QAAzC;AACP,OAAO,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB;EAAA,OAAMP,UAAU,CAACK,eAAD,CAAhB;AAAA,CAA3B"}
@@ -1 +1 @@
1
- export declare const countryList: string[];
1
+ export declare const countryList: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"countryList.js","names":["countryList"],"sources":["../../../../src/Menu/fixtures/countryList.ts"],"sourcesContent":["export const countryList = [\r\n 'Afghanistan',\r\n 'Albania',\r\n 'Algeria',\r\n 'Andorra',\r\n 'Angola',\r\n 'Antigua and Barbuda',\r\n 'Argentina',\r\n 'Armenia',\r\n 'Australia',\r\n 'Austria',\r\n 'Azerbaijan',\r\n 'Bahamas',\r\n 'Bahrain',\r\n 'Bangladesh',\r\n 'Barbados',\r\n 'Belarus',\r\n 'Belgium',\r\n 'Belize',\r\n 'Benin',\r\n 'Bhutan',\r\n 'Bolivia',\r\n 'Bosnia and Herzegovina',\r\n 'Botswana',\r\n 'Brazil',\r\n 'Brunei',\r\n 'Bulgaria',\r\n 'Burkina Faso',\r\n 'Burundi',\r\n \"Côte d'Ivoire\",\r\n 'Cabo Verde',\r\n 'Cambodia',\r\n 'Cameroon',\r\n 'Canada',\r\n 'Central African Republic',\r\n 'Central American Republic',\r\n 'Chad',\r\n 'Chile',\r\n 'China',\r\n 'Colombia',\r\n 'Comoros',\r\n 'Congo (Congo-Brazzaville)',\r\n 'Costa Rica',\r\n 'Croatia',\r\n 'Cuba',\r\n 'Cyprus',\r\n 'Czechia (Czech Republic)',\r\n 'Democratic Republic of the Congo',\r\n 'Denmark',\r\n 'Djibouti',\r\n 'Dominica',\r\n 'Dominican Republic',\r\n 'Ecuador',\r\n 'Egypt',\r\n 'El Salvador',\r\n 'Equatorial Guinea',\r\n 'Eritrea',\r\n 'Estonia',\r\n 'Eswatini (fmr. \"Swaziland\")',\r\n 'Ethiopia',\r\n 'Fiji',\r\n 'Finland',\r\n 'France',\r\n 'Gabon',\r\n 'Gambia',\r\n 'Georgia',\r\n 'Germany',\r\n 'Ghana',\r\n 'Greece',\r\n 'Grenada',\r\n 'Guatemala',\r\n 'Guinea',\r\n 'Guinea-Bissau',\r\n 'Guyana',\r\n 'Haiti',\r\n 'Holy See',\r\n 'Honduras',\r\n 'Hungary',\r\n 'Iceland',\r\n 'India',\r\n 'Indonesia',\r\n 'Iran',\r\n 'Iraq',\r\n 'Ireland',\r\n 'Israel',\r\n 'Italy',\r\n 'Jamaica',\r\n 'Japan',\r\n 'Jordan',\r\n 'Kazakhstan',\r\n 'Kenya',\r\n 'Kiribati',\r\n 'Kuwait',\r\n 'Kyrgyzstan',\r\n 'Laos',\r\n 'Latvia',\r\n 'Lebanon',\r\n 'Lesotho',\r\n 'Liberia',\r\n 'Libya',\r\n 'Liechtenstein',\r\n 'Lithuania',\r\n 'Luxembourg',\r\n 'Madagascar',\r\n 'Malawi',\r\n 'Malaysia',\r\n 'Maldives',\r\n 'Mali',\r\n 'Malta',\r\n 'Marshall Islands',\r\n 'Mauritania',\r\n 'Mauritius',\r\n 'Mexico',\r\n 'Micronesia',\r\n 'Moldova',\r\n 'Monaco',\r\n 'Mongolia',\r\n 'Montenegro',\r\n 'Morocco',\r\n 'Mozambique',\r\n 'Myanmar (formerly Burma)',\r\n 'Namibia',\r\n 'Nauru',\r\n 'Nepal',\r\n 'Netherlands',\r\n 'New Zealand',\r\n 'Nicaragua',\r\n 'Niger',\r\n 'Nigeria',\r\n 'North Korea',\r\n 'North Macedonia',\r\n 'Norway',\r\n 'Oman',\r\n 'Pakistan',\r\n 'Palau',\r\n 'Palestine State',\r\n 'Panama',\r\n 'Papua New Guinea',\r\n 'Paraguay',\r\n 'Peru',\r\n 'Philippines',\r\n 'Poland',\r\n 'Portugal',\r\n 'Qatar',\r\n 'Romania',\r\n 'Russia',\r\n 'Rwanda',\r\n 'Saint Kitts and Nevis',\r\n 'Saint Lucia',\r\n 'Saint Vincent and the Grenadines',\r\n 'Samoa',\r\n 'San Marino',\r\n 'Sao Tome and Principe',\r\n 'Saudi Arabia',\r\n 'Senegal',\r\n 'Serbia',\r\n 'Seychelles',\r\n 'Sierra Leone',\r\n 'Singapore',\r\n 'Slovakia',\r\n 'Slovenia',\r\n 'Solomon Islands',\r\n 'Somalia',\r\n 'South Africa',\r\n 'South Korea',\r\n 'South Sudan',\r\n 'Spain',\r\n 'Sri Lanka',\r\n 'Sudan',\r\n 'Suriname',\r\n 'Sweden',\r\n 'Switzerland',\r\n 'Syria',\r\n 'Tajikistan',\r\n 'Tanzania',\r\n 'Thailand',\r\n 'Timor-Leste',\r\n 'Togo',\r\n 'Tonga',\r\n 'Trinidad and Tobago',\r\n 'Tunisia',\r\n 'Turkey',\r\n 'Turkmenistan',\r\n 'Tuvalu',\r\n 'Uganda',\r\n 'Ukraine',\r\n 'United Arab Emirates',\r\n 'United Kingdom',\r\n 'United States of America',\r\n 'Uruguay',\r\n 'Uzbekistan',\r\n 'Vanuatu',\r\n 'Venezuela',\r\n 'Vietnam',\r\n 'Yemen',\r\n 'Zambia',\r\n 'Zimbabwe',\r\n];\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"countryList.js","names":["countryList"],"sources":["../../../../src/Menu/fixtures/countryList.ts"],"sourcesContent":["export const countryList = [\n 'Afghanistan',\n 'Albania',\n 'Algeria',\n 'Andorra',\n 'Angola',\n 'Antigua and Barbuda',\n 'Argentina',\n 'Armenia',\n 'Australia',\n 'Austria',\n 'Azerbaijan',\n 'Bahamas',\n 'Bahrain',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Belgium',\n 'Belize',\n 'Benin',\n 'Bhutan',\n 'Bolivia',\n 'Bosnia and Herzegovina',\n 'Botswana',\n 'Brazil',\n 'Brunei',\n 'Bulgaria',\n 'Burkina Faso',\n 'Burundi',\n \"Côte d'Ivoire\",\n 'Cabo Verde',\n 'Cambodia',\n 'Cameroon',\n 'Canada',\n 'Central African Republic',\n 'Central American Republic',\n 'Chad',\n 'Chile',\n 'China',\n 'Colombia',\n 'Comoros',\n 'Congo (Congo-Brazzaville)',\n 'Costa Rica',\n 'Croatia',\n 'Cuba',\n 'Cyprus',\n 'Czechia (Czech Republic)',\n 'Democratic Republic of the Congo',\n 'Denmark',\n 'Djibouti',\n 'Dominica',\n 'Dominican Republic',\n 'Ecuador',\n 'Egypt',\n 'El Salvador',\n 'Equatorial Guinea',\n 'Eritrea',\n 'Estonia',\n 'Eswatini (fmr. \"Swaziland\")',\n 'Ethiopia',\n 'Fiji',\n 'Finland',\n 'France',\n 'Gabon',\n 'Gambia',\n 'Georgia',\n 'Germany',\n 'Ghana',\n 'Greece',\n 'Grenada',\n 'Guatemala',\n 'Guinea',\n 'Guinea-Bissau',\n 'Guyana',\n 'Haiti',\n 'Holy See',\n 'Honduras',\n 'Hungary',\n 'Iceland',\n 'India',\n 'Indonesia',\n 'Iran',\n 'Iraq',\n 'Ireland',\n 'Israel',\n 'Italy',\n 'Jamaica',\n 'Japan',\n 'Jordan',\n 'Kazakhstan',\n 'Kenya',\n 'Kiribati',\n 'Kuwait',\n 'Kyrgyzstan',\n 'Laos',\n 'Latvia',\n 'Lebanon',\n 'Lesotho',\n 'Liberia',\n 'Libya',\n 'Liechtenstein',\n 'Lithuania',\n 'Luxembourg',\n 'Madagascar',\n 'Malawi',\n 'Malaysia',\n 'Maldives',\n 'Mali',\n 'Malta',\n 'Marshall Islands',\n 'Mauritania',\n 'Mauritius',\n 'Mexico',\n 'Micronesia',\n 'Moldova',\n 'Monaco',\n 'Mongolia',\n 'Montenegro',\n 'Morocco',\n 'Mozambique',\n 'Myanmar (formerly Burma)',\n 'Namibia',\n 'Nauru',\n 'Nepal',\n 'Netherlands',\n 'New Zealand',\n 'Nicaragua',\n 'Niger',\n 'Nigeria',\n 'North Korea',\n 'North Macedonia',\n 'Norway',\n 'Oman',\n 'Pakistan',\n 'Palau',\n 'Palestine State',\n 'Panama',\n 'Papua New Guinea',\n 'Paraguay',\n 'Peru',\n 'Philippines',\n 'Poland',\n 'Portugal',\n 'Qatar',\n 'Romania',\n 'Russia',\n 'Rwanda',\n 'Saint Kitts and Nevis',\n 'Saint Lucia',\n 'Saint Vincent and the Grenadines',\n 'Samoa',\n 'San Marino',\n 'Sao Tome and Principe',\n 'Saudi Arabia',\n 'Senegal',\n 'Serbia',\n 'Seychelles',\n 'Sierra Leone',\n 'Singapore',\n 'Slovakia',\n 'Slovenia',\n 'Solomon Islands',\n 'Somalia',\n 'South Africa',\n 'South Korea',\n 'South Sudan',\n 'Spain',\n 'Sri Lanka',\n 'Sudan',\n 'Suriname',\n 'Sweden',\n 'Switzerland',\n 'Syria',\n 'Tajikistan',\n 'Tanzania',\n 'Thailand',\n 'Timor-Leste',\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunisia',\n 'Turkey',\n 'Turkmenistan',\n 'Tuvalu',\n 'Uganda',\n 'Ukraine',\n 'United Arab Emirates',\n 'United Kingdom',\n 'United States of America',\n 'Uruguay',\n 'Uzbekistan',\n 'Vanuatu',\n 'Venezuela',\n 'Vietnam',\n 'Yemen',\n 'Zambia',\n 'Zimbabwe',\n];\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- export * from './Menu';
2
- export * from './MenuButton';
3
- export * from './ContextMenuTrigger';
4
- export * from './MenuItem';
5
- export * from './MenuList';
6
- export * from './MenuPopover';
1
+ export * from './Menu';
2
+ export * from './MenuButton';
3
+ export * from './ContextMenuTrigger';
4
+ export * from './MenuItem';
5
+ export * from './MenuList';
6
+ export * from './MenuPopover';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/Menu/index.ts"],"sourcesContent":["export * from './Menu';\r\nexport * from './MenuButton';\r\nexport * from './ContextMenuTrigger';\r\nexport * from './MenuItem';\r\nexport * from './MenuList';\r\nexport * from './MenuPopover';\r\n"],"mappings":"AAAA,cAAc,QAAd;AACA,cAAc,cAAd;AACA,cAAc,sBAAd;AACA,cAAc,YAAd;AACA,cAAc,YAAd;AACA,cAAc,eAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Menu/index.ts"],"sourcesContent":["export * from './Menu';\nexport * from './MenuButton';\nexport * from './ContextMenuTrigger';\nexport * from './MenuItem';\nexport * from './MenuList';\nexport * from './MenuPopover';\n"],"mappings":"AAAA,cAAc,QAAd;AACA,cAAc,cAAd;AACA,cAAc,sBAAd;AACA,cAAc,YAAd;AACA,cAAc,YAAd;AACA,cAAc,eAAd"}
@@ -1 +1 @@
1
- export declare function queryScope(type: string, props: Record<string, unknown>): boolean;
1
+ export declare function queryScope(type: string, props: Record<string, unknown>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","names":["queryScope","type","props"],"sources":["../../../src/Menu/scope.ts"],"sourcesContent":["export function queryScope(type: string, props: Record<string, unknown>) {\r\n return (\r\n props['data-menu-item'] === '' &&\r\n props['data-disabled'] !== '' &&\r\n props['data-disabled'] !== true\r\n );\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,UAAT,CAAoBC,IAApB,EAAkCC,KAAlC,EAAkE;EACvE,OACEA,KAAK,CAAC,gBAAD,CAAL,KAA4B,EAA5B,IACAA,KAAK,CAAC,eAAD,CAAL,KAA2B,EAD3B,IAEAA,KAAK,CAAC,eAAD,CAAL,KAA2B,IAH7B;AAKD"}
1
+ {"version":3,"file":"scope.js","names":["queryScope","type","props"],"sources":["../../../src/Menu/scope.ts"],"sourcesContent":["export function queryScope(type: string, props: Record<string, unknown>) {\n return (\n props['data-menu-item'] === '' &&\n props['data-disabled'] !== '' &&\n props['data-disabled'] !== true\n );\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAT,CAAoBC,IAApB,EAAkCC,KAAlC,EAAkE;EACvE,OACEA,KAAK,CAAC,gBAAD,CAAL,KAA4B,EAA5B,IACAA,KAAK,CAAC,eAAD,CAAL,KAA2B,EAD3B,IAEAA,KAAK,CAAC,eAAD,CAAL,KAA2B,IAH7B;AAKD"}
@@ -1,9 +1,9 @@
1
- import type { CSSProperties, ElementType, HTMLAttributes, ReactNode } from 'react';
2
- export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- children?: ReactNode;
6
- style?: CSSProperties;
7
- trapFocus?: boolean;
8
- }
9
- export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { CSSProperties, ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
+ style?: CSSProperties;
7
+ trapFocus?: boolean;
8
+ }
9
+ export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["forwardRef","useRef","useAutoFocus","useFocusReturn","useRemoveBodyScroll","FocusLock","assignMultipleRefs","Modal","ref","as","Comp","children","trapFocus","style","otherProps","modalRef"],"sources":["../../../src/Modal/Modal.tsx"],"sourcesContent":["import type {\r\n CSSProperties,\r\n ElementType,\r\n HTMLAttributes,\r\n ReactNode,\r\n} from 'react';\r\nimport { forwardRef, useRef } from 'react';\r\n\r\nimport { useAutoFocus, useFocusReturn, useRemoveBodyScroll } from '../hooks';\r\nimport { FocusLock } from '../FocusLock';\r\nimport { assignMultipleRefs } from '../utils';\r\n\r\nexport interface ModalProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n style?: CSSProperties;\r\n trapFocus?: boolean;\r\n}\r\n\r\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(\r\n (\r\n { as: Comp = 'div', children, trapFocus = true, style = {}, ...otherProps },\r\n ref\r\n ) => {\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n\r\n useFocusReturn(trapFocus, modalRef);\r\n useRemoveBodyScroll(trapFocus, modalRef);\r\n useAutoFocus(trapFocus, modalRef);\r\n\r\n return (\r\n <FocusLock childRef={modalRef} enabled={trapFocus}>\r\n <Comp\r\n ref={assignMultipleRefs(ref, modalRef)}\r\n data-modal-container=\"\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n style={style}\r\n tabIndex={-1}\r\n {...otherProps}\r\n >\r\n {children}\r\n </Comp>\r\n </FocusLock>\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAMA,SAASA,UAAT,EAAqBC,MAArB,QAAmC,OAAnC;AAEA,SAASC,YAAT,EAAuBC,cAAvB,EAAuCC,mBAAvC,QAAkE,UAAlE;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAUA,OAAO,IAAMC,KAAK,gBAAGP,UAAU,CAC7B,gBAEEQ,GAFF,EAGK;EAAA,mBAFDC,EAEC;EAAA,IAFGC,IAEH,wBAFU,KAEV;EAAA,IAFiBC,QAEjB,QAFiBA,QAEjB;EAAA,0BAF2BC,SAE3B;EAAA,IAF2BA,SAE3B,+BAFuC,IAEvC;EAAA,sBAF6CC,KAE7C;EAAA,IAF6CA,KAE7C,2BAFqD,EAErD;EAAA,IAF4DC,UAE5D;;EACH,IAAMC,QAAQ,GAAGd,MAAM,CAAiB,IAAjB,CAAvB;EAEAE,cAAc,CAACS,SAAD,EAAYG,QAAZ,CAAd;EACAX,mBAAmB,CAACQ,SAAD,EAAYG,QAAZ,CAAnB;EACAb,YAAY,CAACU,SAAD,EAAYG,QAAZ,CAAZ;EAEA,oBACE,KAAC,SAAD;IAAW,QAAQ,EAAEA,QAArB;IAA+B,OAAO,EAAEH,SAAxC;IAAA,uBACE,KAAC,IAAD;MACE,GAAG,EAAEN,kBAAkB,CAACE,GAAD,EAAMO,QAAN,CADzB;MAEE,wBAAqB,EAFvB;MAGE,IAAI,EAAC,QAHP;MAIE,cAAW,MAJb;MAKE,KAAK,EAAEF,KALT;MAME,QAAQ,EAAE,CAAC;IANb,GAOMC,UAPN;MAAA,UASGH;IATH;EADF,EADF;AAeD,CA1B4B,CAAxB"}
1
+ {"version":3,"file":"Modal.js","names":["forwardRef","useRef","useAutoFocus","useFocusReturn","useRemoveBodyScroll","FocusLock","assignMultipleRefs","Modal","ref","as","Comp","children","trapFocus","style","otherProps","modalRef"],"sources":["../../../src/Modal/Modal.tsx"],"sourcesContent":["import type {\n CSSProperties,\n ElementType,\n HTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef, useRef } from 'react';\n\nimport { useAutoFocus, useFocusReturn, useRemoveBodyScroll } from '../hooks';\nimport { FocusLock } from '../FocusLock';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface ModalProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n style?: CSSProperties;\n trapFocus?: boolean;\n}\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(\n (\n { as: Comp = 'div', children, trapFocus = true, style = {}, ...otherProps },\n ref\n ) => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n useFocusReturn(trapFocus, modalRef);\n useRemoveBodyScroll(trapFocus, modalRef);\n useAutoFocus(trapFocus, modalRef);\n\n return (\n <FocusLock childRef={modalRef} enabled={trapFocus}>\n <Comp\n ref={assignMultipleRefs(ref, modalRef)}\n data-modal-container=\"\"\n role=\"dialog\"\n aria-modal=\"true\"\n style={style}\n tabIndex={-1}\n {...otherProps}\n >\n {children}\n </Comp>\n </FocusLock>\n );\n }\n);\n"],"mappings":";;;AAMA,SAASA,UAAT,EAAqBC,MAArB,QAAmC,OAAnC;AAEA,SAASC,YAAT,EAAuBC,cAAvB,EAAuCC,mBAAvC,QAAkE,UAAlE;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAUA,OAAO,IAAMC,KAAK,gBAAGP,UAAU,CAC7B,gBAEEQ,GAFF,EAGK;EAAA,mBAFDC,EAEC;EAAA,IAFGC,IAEH,wBAFU,KAEV;EAAA,IAFiBC,QAEjB,QAFiBA,QAEjB;EAAA,0BAF2BC,SAE3B;EAAA,IAF2BA,SAE3B,+BAFuC,IAEvC;EAAA,sBAF6CC,KAE7C;EAAA,IAF6CA,KAE7C,2BAFqD,EAErD;EAAA,IAF4DC,UAE5D;;EACH,IAAMC,QAAQ,GAAGd,MAAM,CAAiB,IAAjB,CAAvB;EAEAE,cAAc,CAACS,SAAD,EAAYG,QAAZ,CAAd;EACAX,mBAAmB,CAACQ,SAAD,EAAYG,QAAZ,CAAnB;EACAb,YAAY,CAACU,SAAD,EAAYG,QAAZ,CAAZ;EAEA,oBACE,KAAC,SAAD;IAAW,QAAQ,EAAEA,QAArB;IAA+B,OAAO,EAAEH,SAAxC;IAAA,uBACE,KAAC,IAAD;MACE,GAAG,EAAEN,kBAAkB,CAACE,GAAD,EAAMO,QAAN,CADzB;MAEE,wBAAqB,EAFvB;MAGE,IAAI,EAAC,QAHP;MAIE,cAAW,MAJb;MAKE,KAAK,EAAEF,KALT;MAME,QAAQ,EAAE,CAAC;IANb,GAOMC,UAPN;MAAA,UASGH;IATH;EADF,EADF;AAeD,CA1B4B,CAAxB"}
@@ -1,10 +1,10 @@
1
- import type { HTMLAttributes, ElementType, CSSProperties } from 'react';
2
- export interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- onClose?: () => void;
6
- style?: CSSProperties;
7
- disableCloseOnClick?: boolean;
8
- disableEscapeKeyDown?: boolean;
9
- }
10
- export declare const ModalBackdrop: import("react").ForwardRefExoticComponent<ModalBackdropProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { HTMLAttributes, ElementType, CSSProperties } from 'react';
2
+ export interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ onClose?: () => void;
6
+ style?: CSSProperties;
7
+ disableCloseOnClick?: boolean;
8
+ disableEscapeKeyDown?: boolean;
9
+ }
10
+ export declare const ModalBackdrop: import("react").ForwardRefExoticComponent<ModalBackdropProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalBackdrop.js","names":["useRef","forwardRef","assignMultipleRefs","wrapEvent","ModalBackdrop","forwardedRef","as","Comp","onClose","onClick","onMouseDown","onKeyDown","disableCloseOnClick","disableEscapeKeyDown","otherProps","ref","mouseDownTargetRef","handleClick","e","target","currentTarget","current","stopPropagation","handleMouseDown","handleKeyDown","key"],"sources":["../../../src/Modal/ModalBackdrop.tsx"],"sourcesContent":["import type {\r\n HTMLAttributes,\r\n ElementType,\r\n CSSProperties,\r\n MouseEvent,\r\n KeyboardEvent,\r\n} from 'react';\r\nimport { useRef, forwardRef } from 'react';\r\n\r\nimport { assignMultipleRefs } from '../utils/assign-ref';\r\nimport { wrapEvent } from '../utils/wrap-event';\r\n\r\nexport interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n onClose?: () => void;\r\n style?: CSSProperties;\r\n disableCloseOnClick?: boolean;\r\n disableEscapeKeyDown?: boolean;\r\n}\r\n\r\nexport const ModalBackdrop = forwardRef<HTMLDivElement, ModalBackdropProps>(\r\n (\r\n {\r\n as: Comp = 'div',\r\n onClose,\r\n onClick,\r\n onMouseDown,\r\n onKeyDown,\r\n disableCloseOnClick = false,\r\n disableEscapeKeyDown = false,\r\n ...otherProps\r\n },\r\n forwardedRef\r\n ) => {\r\n const ref = useRef();\r\n const mouseDownTargetRef = useRef<EventTarget | null>(null);\r\n\r\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\r\n // Ignore the events not coming from the \"backdrop\"\r\n // We don't want to close the dialog when clicking the dialog content.\r\n if (e.target !== e.currentTarget) {\r\n return;\r\n }\r\n\r\n // Make sure the event starts and ends on the same DOM element.\r\n if (e.target !== mouseDownTargetRef.current) {\r\n return;\r\n }\r\n\r\n mouseDownTargetRef.current = null;\r\n !disableCloseOnClick && onClose?.();\r\n e.stopPropagation();\r\n };\r\n\r\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\r\n mouseDownTargetRef.current = e.target;\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Escape') {\r\n !disableEscapeKeyDown && onClose?.();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n return (\r\n <Comp\r\n ref={assignMultipleRefs(ref, forwardedRef)}\r\n data-modal-root=\"\"\r\n onClick={wrapEvent(onClick, handleClick)}\r\n onMouseDown={wrapEvent(onMouseDown, handleMouseDown)}\r\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAOA,SAASA,MAAT,EAAiBC,UAAjB,QAAmC,OAAnC;AAEA,SAASC,kBAAT,QAAmC,qBAAnC;AACA,SAASC,SAAT,QAA0B,qBAA1B;;AAWA,OAAO,IAAMC,aAAa,gBAAGH,UAAU,CACrC,gBAWEI,YAXF,EAYK;EAAA,mBAVDC,EAUC;EAAA,IAVGC,IAUH,wBAVU,KAUV;EAAA,IATDC,OASC,QATDA,OASC;EAAA,IARDC,OAQC,QARDA,OAQC;EAAA,IAPDC,WAOC,QAPDA,WAOC;EAAA,IANDC,SAMC,QANDA,SAMC;EAAA,iCALDC,mBAKC;EAAA,IALDA,mBAKC,sCALqB,KAKrB;EAAA,iCAJDC,oBAIC;EAAA,IAJDA,oBAIC,sCAJsB,KAItB;EAAA,IAHEC,UAGF;;EACH,IAAMC,GAAG,GAAGf,MAAM,EAAlB;EACA,IAAMgB,kBAAkB,GAAGhB,MAAM,CAAqB,IAArB,CAAjC;;EAEA,IAAMiB,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAmC;IACrD;IACA;IACA,IAAIA,CAAC,CAACC,MAAF,KAAaD,CAAC,CAACE,aAAnB,EAAkC;MAChC;IACD,CALoD,CAOrD;;;IACA,IAAIF,CAAC,CAACC,MAAF,KAAaH,kBAAkB,CAACK,OAApC,EAA6C;MAC3C;IACD;;IAEDL,kBAAkB,CAACK,OAAnB,GAA6B,IAA7B;IACA,CAACT,mBAAD,KAAwBJ,OAAxB,aAAwBA,OAAxB,uBAAwBA,OAAO,EAA/B;IACAU,CAAC,CAACI,eAAF;EACD,CAfD;;EAiBA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACL,CAAD,EAAmC;IACzDF,kBAAkB,CAACK,OAAnB,GAA6BH,CAAC,CAACC,MAA/B;EACD,CAFD;;EAIA,IAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACN,CAAD,EAAsC;IAC1D,IAAIA,CAAC,CAACO,GAAF,KAAU,QAAd,EAAwB;MACtB,CAACZ,oBAAD,KAAyBL,OAAzB,aAAyBA,OAAzB,uBAAyBA,OAAO,EAAhC;MACAU,CAAC,CAACI,eAAF;IACD;EACF,CALD;;EAOA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEpB,kBAAkB,CAACa,GAAD,EAAMV,YAAN,CADzB;IAEE,mBAAgB,EAFlB;IAGE,OAAO,EAAEF,SAAS,CAACM,OAAD,EAAUQ,WAAV,CAHpB;IAIE,WAAW,EAAEd,SAAS,CAACO,WAAD,EAAca,eAAd,CAJxB;IAKE,SAAS,EAAEpB,SAAS,CAACQ,SAAD,EAAYa,aAAZ;EALtB,GAMMV,UANN,EADF;AAUD,CAvDoC,CAAhC"}
1
+ {"version":3,"file":"ModalBackdrop.js","names":["useRef","forwardRef","assignMultipleRefs","wrapEvent","ModalBackdrop","forwardedRef","as","Comp","onClose","onClick","onMouseDown","onKeyDown","disableCloseOnClick","disableEscapeKeyDown","otherProps","ref","mouseDownTargetRef","handleClick","e","target","currentTarget","current","stopPropagation","handleMouseDown","handleKeyDown","key"],"sources":["../../../src/Modal/ModalBackdrop.tsx"],"sourcesContent":["import type {\n HTMLAttributes,\n ElementType,\n CSSProperties,\n MouseEvent,\n KeyboardEvent,\n} from 'react';\nimport { useRef, forwardRef } from 'react';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { wrapEvent } from '../utils/wrap-event';\n\nexport interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onClose?: () => void;\n style?: CSSProperties;\n disableCloseOnClick?: boolean;\n disableEscapeKeyDown?: boolean;\n}\n\nexport const ModalBackdrop = forwardRef<HTMLDivElement, ModalBackdropProps>(\n (\n {\n as: Comp = 'div',\n onClose,\n onClick,\n onMouseDown,\n onKeyDown,\n disableCloseOnClick = false,\n disableEscapeKeyDown = false,\n ...otherProps\n },\n forwardedRef\n ) => {\n const ref = useRef();\n const mouseDownTargetRef = useRef<EventTarget | null>(null);\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n // Ignore the events not coming from the \"backdrop\"\n // We don't want to close the dialog when clicking the dialog content.\n if (e.target !== e.currentTarget) {\n return;\n }\n\n // Make sure the event starts and ends on the same DOM element.\n if (e.target !== mouseDownTargetRef.current) {\n return;\n }\n\n mouseDownTargetRef.current = null;\n !disableCloseOnClick && onClose?.();\n e.stopPropagation();\n };\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n mouseDownTargetRef.current = e.target;\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape') {\n !disableEscapeKeyDown && onClose?.();\n e.stopPropagation();\n }\n };\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n data-modal-root=\"\"\n onClick={wrapEvent(onClick, handleClick)}\n onMouseDown={wrapEvent(onMouseDown, handleMouseDown)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;AAOA,SAASA,MAAT,EAAiBC,UAAjB,QAAmC,OAAnC;AAEA,SAASC,kBAAT,QAAmC,qBAAnC;AACA,SAASC,SAAT,QAA0B,qBAA1B;;AAWA,OAAO,IAAMC,aAAa,gBAAGH,UAAU,CACrC,gBAWEI,YAXF,EAYK;EAAA,mBAVDC,EAUC;EAAA,IAVGC,IAUH,wBAVU,KAUV;EAAA,IATDC,OASC,QATDA,OASC;EAAA,IARDC,OAQC,QARDA,OAQC;EAAA,IAPDC,WAOC,QAPDA,WAOC;EAAA,IANDC,SAMC,QANDA,SAMC;EAAA,iCALDC,mBAKC;EAAA,IALDA,mBAKC,sCALqB,KAKrB;EAAA,iCAJDC,oBAIC;EAAA,IAJDA,oBAIC,sCAJsB,KAItB;EAAA,IAHEC,UAGF;;EACH,IAAMC,GAAG,GAAGf,MAAM,EAAlB;EACA,IAAMgB,kBAAkB,GAAGhB,MAAM,CAAqB,IAArB,CAAjC;;EAEA,IAAMiB,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAmC;IACrD;IACA;IACA,IAAIA,CAAC,CAACC,MAAF,KAAaD,CAAC,CAACE,aAAnB,EAAkC;MAChC;IACD,CALoD,CAOrD;;;IACA,IAAIF,CAAC,CAACC,MAAF,KAAaH,kBAAkB,CAACK,OAApC,EAA6C;MAC3C;IACD;;IAEDL,kBAAkB,CAACK,OAAnB,GAA6B,IAA7B;IACA,CAACT,mBAAD,KAAwBJ,OAAxB,aAAwBA,OAAxB,uBAAwBA,OAAO,EAA/B;IACAU,CAAC,CAACI,eAAF;EACD,CAfD;;EAiBA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACL,CAAD,EAAmC;IACzDF,kBAAkB,CAACK,OAAnB,GAA6BH,CAAC,CAACC,MAA/B;EACD,CAFD;;EAIA,IAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACN,CAAD,EAAsC;IAC1D,IAAIA,CAAC,CAACO,GAAF,KAAU,QAAd,EAAwB;MACtB,CAACZ,oBAAD,KAAyBL,OAAzB,aAAyBA,OAAzB,uBAAyBA,OAAO,EAAhC;MACAU,CAAC,CAACI,eAAF;IACD;EACF,CALD;;EAOA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEpB,kBAAkB,CAACa,GAAD,EAAMV,YAAN,CADzB;IAEE,mBAAgB,EAFlB;IAGE,OAAO,EAAEF,SAAS,CAACM,OAAD,EAAUQ,WAAV,CAHpB;IAIE,WAAW,EAAEd,SAAS,CAACO,WAAD,EAAca,eAAd,CAJxB;IAKE,SAAS,EAAEpB,SAAS,CAACQ,SAAD,EAAYa,aAAZ;EALtB,GAMMV,UANN,EADF;AAUD,CAvDoC,CAAhC"}
@@ -1,2 +1,2 @@
1
- export * from './Modal';
2
- export * from './ModalBackdrop';
1
+ export * from './Modal';
2
+ export * from './ModalBackdrop';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/Modal/index.ts"],"sourcesContent":["export * from './Modal';\r\nexport * from './ModalBackdrop';\r\n"],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,iBAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Modal/index.ts"],"sourcesContent":["export * from './Modal';\nexport * from './ModalBackdrop';\n"],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,iBAAd"}
@@ -1,35 +1,35 @@
1
- import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';
2
- import type { Placement, Modifier, PositioningStrategy, Rect } from '@popperjs/core';
3
- export declare type OffsetsFunction = (arg0: {
4
- popper: Rect;
5
- reference: Rect;
6
- placement: Placement;
7
- }) => [number | null | undefined, number | null | undefined];
8
- export interface PopperProps extends HTMLAttributes<HTMLDivElement> {
9
- as?: ElementType<any>;
10
- innerAs?: ElementType<any>;
11
- anchorEl: RefObject<HTMLElement>;
12
- children?: ReactNode;
13
- placement?: Placement;
14
- strategy?: PositioningStrategy;
15
- modifiers?: Array<Partial<Modifier<any, any>>>;
16
- usePortal?: boolean;
17
- portalSelector?: string;
18
- /**
19
- * Displaces the popper along the reference element.
20
- */
21
- skidding?: number;
22
- /**
23
- * Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.
24
- */
25
- distance?: number;
26
- /**
27
- * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.
28
- */
29
- offsetFn?: OffsetsFunction;
30
- /**
31
- * If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.
32
- */
33
- arrowPadding?: number;
34
- }
35
- export declare const Popper: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PopperProps & import("react").RefAttributes<HTMLDivElement>>>;
1
+ import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';
2
+ import type { Placement, Modifier, PositioningStrategy, Rect } from '@popperjs/core';
3
+ export declare type OffsetsFunction = (arg0: {
4
+ popper: Rect;
5
+ reference: Rect;
6
+ placement: Placement;
7
+ }) => [number | null | undefined, number | null | undefined];
8
+ export interface PopperProps extends HTMLAttributes<HTMLDivElement> {
9
+ as?: ElementType<any>;
10
+ innerAs?: ElementType<any>;
11
+ anchorEl: RefObject<HTMLElement>;
12
+ children?: ReactNode;
13
+ placement?: Placement;
14
+ strategy?: PositioningStrategy;
15
+ modifiers?: Array<Partial<Modifier<any, any>>>;
16
+ usePortal?: boolean;
17
+ portalSelector?: string;
18
+ /**
19
+ * Displaces the popper along the reference element.
20
+ */
21
+ skidding?: number;
22
+ /**
23
+ * Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.
24
+ */
25
+ distance?: number;
26
+ /**
27
+ * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.
28
+ */
29
+ offsetFn?: OffsetsFunction;
30
+ /**
31
+ * If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.
32
+ */
33
+ arrowPadding?: number;
34
+ }
35
+ export declare const Popper: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PopperProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","names":["forwardRef","useRef","useEffect","useLayoutEffect","useMemo","memo","createPopper","assignMultipleRefs","PopperProvider","Portal","useEnhancedEffect","window","emptyModifiers","Popper","forwardedRef","placement","strategy","as","Comp","innerAs","anchorEl","children","modifiers","usePortal","style","portalSelector","distance","skidding","arrowPadding","offsetFn","props","arrowRef","popperRef","popperEngineInstance","defaultModifiers","arrowModifier","name","options","element","padding","offsetModifier","offset","current","destroy","forceUpdate","hidden","contextValue","ret","position","left","top"],"sources":["../../../src/Popper/Popper.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';\r\nimport {\r\n forwardRef,\r\n useRef,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n memo,\r\n} from 'react';\r\nimport type {\r\n Placement,\r\n Modifier,\r\n PositioningStrategy,\r\n Instance,\r\n Rect,\r\n} from '@popperjs/core';\r\nimport { createPopper } from '@popperjs/core';\r\nimport type { OffsetModifier } from '@popperjs/core/lib/modifiers/offset';\r\nimport type { ArrowModifier } from '@popperjs/core/lib/modifiers/arrow';\r\n\r\nimport { assignMultipleRefs } from '../utils/assign-ref';\r\nimport type { PopperContextProps } from './context';\r\nimport { PopperProvider } from './context';\r\nimport { Portal } from '../Portal';\r\n\r\nconst useEnhancedEffect =\r\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\r\n\r\nexport type OffsetsFunction = (arg0: {\r\n popper: Rect;\r\n reference: Rect;\r\n placement: Placement;\r\n}) => [number | null | undefined, number | null | undefined];\r\n\r\nexport interface PopperProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n anchorEl: RefObject<HTMLElement>;\r\n children?: ReactNode;\r\n placement?: Placement;\r\n strategy?: PositioningStrategy;\r\n modifiers?: Array<Partial<Modifier<any, any>>>;\r\n usePortal?: boolean;\r\n portalSelector?: string;\r\n /**\r\n * Displaces the popper along the reference element.\r\n */\r\n skidding?: number;\r\n /**\r\n * Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.\r\n */\r\n distance?: number;\r\n /**\r\n * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.\r\n */\r\n offsetFn?: OffsetsFunction;\r\n /**\r\n * If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.\r\n */\r\n arrowPadding?: number;\r\n}\r\n\r\nconst emptyModifiers: Array<Partial<Modifier<any, any>>> = [];\r\nexport const Popper = memo(\r\n forwardRef<HTMLDivElement, PopperProps>(function Popper(\r\n {\r\n placement = 'bottom',\r\n strategy = 'absolute',\r\n as: Comp = 'div',\r\n innerAs,\r\n anchorEl,\r\n children,\r\n modifiers = emptyModifiers,\r\n usePortal = false,\r\n style = {},\r\n portalSelector = 'body',\r\n distance = 0,\r\n skidding = 0,\r\n arrowPadding = 5,\r\n offsetFn,\r\n ...props\r\n },\r\n forwardedRef\r\n ) {\r\n const arrowRef = useRef<HTMLSpanElement>(null);\r\n\r\n const popperRef = useRef<HTMLDivElement | null>(null);\r\n const popperEngineInstance = useRef<null | Instance>(null);\r\n\r\n const defaultModifiers: Array<Partial<Modifier<any, any>>> = useMemo(() => {\r\n const arrowModifier: Omit<ArrowModifier, 'enabled' | 'fn' | 'phase'> = {\r\n name: 'arrow',\r\n options: {\r\n element: '[data-popper-arrow]',\r\n padding: arrowPadding,\r\n },\r\n };\r\n const offsetModifier: Omit<OffsetModifier, 'enabled' | 'fn' | 'phase'> = {\r\n name: 'offset',\r\n options: {\r\n offset: offsetFn ?? [skidding, distance],\r\n },\r\n };\r\n\r\n return [arrowModifier, offsetModifier];\r\n }, [arrowPadding, distance, skidding, offsetFn]);\r\n\r\n useEnhancedEffect(() => {\r\n if (anchorEl && anchorEl.current && popperRef.current) {\r\n popperEngineInstance.current = createPopper(\r\n anchorEl.current,\r\n popperRef.current,\r\n {\r\n placement,\r\n strategy,\r\n modifiers: [...defaultModifiers, ...modifiers],\r\n }\r\n );\r\n }\r\n\r\n return () => {\r\n popperEngineInstance.current && popperEngineInstance.current.destroy();\r\n popperEngineInstance.current = null;\r\n };\r\n }, [anchorEl, modifiers, placement, strategy, defaultModifiers]);\r\n\r\n useEnhancedEffect(() => {\r\n popperEngineInstance.current?.forceUpdate();\r\n }, [props.hidden || props['aria-hidden']]);\r\n\r\n const contextValue: PopperContextProps = {\r\n arrowRef,\r\n };\r\n\r\n const ret = (\r\n <PopperProvider value={contextValue}>\r\n <Comp\r\n {...props}\r\n as={innerAs}\r\n ref={assignMultipleRefs(popperRef, forwardedRef)}\r\n style={{ position: 'fixed', left: -5000, top: -5000, ...style }}\r\n >\r\n {children}\r\n </Comp>\r\n </PopperProvider>\r\n );\r\n\r\n if (usePortal) {\r\n return <Portal selector={portalSelector}>{ret}</Portal>;\r\n }\r\n\r\n return ret;\r\n })\r\n);\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popper.js","names":["forwardRef","useRef","useEffect","useLayoutEffect","useMemo","memo","createPopper","assignMultipleRefs","PopperProvider","Portal","useEnhancedEffect","window","emptyModifiers","Popper","forwardedRef","placement","strategy","as","Comp","innerAs","anchorEl","children","modifiers","usePortal","style","portalSelector","distance","skidding","arrowPadding","offsetFn","props","arrowRef","popperRef","popperEngineInstance","defaultModifiers","arrowModifier","name","options","element","padding","offsetModifier","offset","current","destroy","forceUpdate","hidden","contextValue","ret","position","left","top"],"sources":["../../../src/Popper/Popper.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';\nimport {\n forwardRef,\n useRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n memo,\n} from 'react';\nimport type {\n Placement,\n Modifier,\n PositioningStrategy,\n Instance,\n Rect,\n} from '@popperjs/core';\nimport { createPopper } from '@popperjs/core';\nimport type { OffsetModifier } from '@popperjs/core/lib/modifiers/offset';\nimport type { ArrowModifier } from '@popperjs/core/lib/modifiers/arrow';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport type { PopperContextProps } from './context';\nimport { PopperProvider } from './context';\nimport { Portal } from '../Portal';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport type OffsetsFunction = (arg0: {\n popper: Rect;\n reference: Rect;\n placement: Placement;\n}) => [number | null | undefined, number | null | undefined];\n\nexport interface PopperProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n anchorEl: RefObject<HTMLElement>;\n children?: ReactNode;\n placement?: Placement;\n strategy?: PositioningStrategy;\n modifiers?: Array<Partial<Modifier<any, any>>>;\n usePortal?: boolean;\n portalSelector?: string;\n /**\n * Displaces the popper along the reference element.\n */\n skidding?: number;\n /**\n * Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.\n */\n distance?: number;\n /**\n * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.\n */\n offsetFn?: OffsetsFunction;\n /**\n * If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.\n */\n arrowPadding?: number;\n}\n\nconst emptyModifiers: Array<Partial<Modifier<any, any>>> = [];\nexport const Popper = memo(\n forwardRef<HTMLDivElement, PopperProps>(function Popper(\n {\n placement = 'bottom',\n strategy = 'absolute',\n as: Comp = 'div',\n innerAs,\n anchorEl,\n children,\n modifiers = emptyModifiers,\n usePortal = false,\n style = {},\n portalSelector = 'body',\n distance = 0,\n skidding = 0,\n arrowPadding = 5,\n offsetFn,\n ...props\n },\n forwardedRef\n ) {\n const arrowRef = useRef<HTMLSpanElement>(null);\n\n const popperRef = useRef<HTMLDivElement | null>(null);\n const popperEngineInstance = useRef<null | Instance>(null);\n\n const defaultModifiers: Array<Partial<Modifier<any, any>>> = useMemo(() => {\n const arrowModifier: Omit<ArrowModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'arrow',\n options: {\n element: '[data-popper-arrow]',\n padding: arrowPadding,\n },\n };\n const offsetModifier: Omit<OffsetModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'offset',\n options: {\n offset: offsetFn ?? [skidding, distance],\n },\n };\n\n return [arrowModifier, offsetModifier];\n }, [arrowPadding, distance, skidding, offsetFn]);\n\n useEnhancedEffect(() => {\n if (anchorEl && anchorEl.current && popperRef.current) {\n popperEngineInstance.current = createPopper(\n anchorEl.current,\n popperRef.current,\n {\n placement,\n strategy,\n modifiers: [...defaultModifiers, ...modifiers],\n }\n );\n }\n\n return () => {\n popperEngineInstance.current && popperEngineInstance.current.destroy();\n popperEngineInstance.current = null;\n };\n }, [anchorEl, modifiers, placement, strategy, defaultModifiers]);\n\n useEnhancedEffect(() => {\n popperEngineInstance.current?.forceUpdate();\n }, [props.hidden || props['aria-hidden']]);\n\n const contextValue: PopperContextProps = {\n arrowRef,\n };\n\n const ret = (\n <PopperProvider value={contextValue}>\n <Comp\n {...props}\n as={innerAs}\n ref={assignMultipleRefs(popperRef, forwardedRef)}\n style={{ position: 'fixed', left: -5000, top: -5000, ...style }}\n >\n {children}\n </Comp>\n </PopperProvider>\n );\n\n if (usePortal) {\n return <Portal selector={portalSelector}>{ret}</Portal>;\n }\n\n return ret;\n })\n);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { ElementType, HTMLAttributes } from 'react';
2
- export interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- }
6
- export declare const PopperArrow: import("react").ForwardRefExoticComponent<PopperArrowProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { ElementType, HTMLAttributes } from 'react';
2
+ export interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ }
6
+ export declare const PopperArrow: import("react").ForwardRefExoticComponent<PopperArrowProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"PopperArrow.js","names":["forwardRef","usePopperContext","assignMultipleRefs","PopperArrow","ref","as","Comp","props","ctx","node","arrowRef","current","Error"],"sources":["../../../src/Popper/PopperArrow.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nimport { usePopperContext } from './context';\r\nimport { assignMultipleRefs } from '../utils/assign-ref';\r\n\r\nexport interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n}\r\n\r\nexport const PopperArrow = forwardRef<HTMLDivElement, PopperArrowProps>(\r\n function PopperArrow({ as: Comp = 'div', ...props }, ref) {\r\n const ctx = usePopperContext();\r\n\r\n if (ctx === null) {\r\n return null;\r\n }\r\n\r\n return (\r\n <Comp\r\n {...props}\r\n ref={(node: HTMLDivElement | null) => {\r\n if (node && ctx.arrowRef.current && ctx.arrowRef.current !== node) {\r\n throw new Error(\r\n 'You can only render one <PopperArrow /> per <Popper> component'\r\n );\r\n }\r\n assignMultipleRefs(ref, ctx.arrowRef)(node);\r\n }}\r\n data-popper-arrow=\"\"\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,gBAAT,QAAiC,WAAjC;AACA,SAASC,kBAAT,QAAmC,qBAAnC;;AAOA,OAAO,IAAMC,WAAW,gBAAGH,UAAU,CACnC,SAASG,WAAT,OAAqDC,KAArD,EAA0D;EAAA,mBAAnCC,EAAmC;EAAA,IAA/BC,IAA+B,wBAAxB,KAAwB;EAAA,IAAdC,KAAc;;EACxD,IAAMC,GAAG,GAAGP,gBAAgB,EAA5B;;EAEA,IAAIO,GAAG,KAAK,IAAZ,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,oBACE,KAAC,IAAD,wBACMD,KADN;IAEE,GAAG,EAAE,aAACE,IAAD,EAAiC;MACpC,IAAIA,IAAI,IAAID,GAAG,CAACE,QAAJ,CAAaC,OAArB,IAAgCH,GAAG,CAACE,QAAJ,CAAaC,OAAb,KAAyBF,IAA7D,EAAmE;QACjE,MAAM,IAAIG,KAAJ,CACJ,gEADI,CAAN;MAGD;;MACDV,kBAAkB,CAACE,KAAD,EAAMI,GAAG,CAACE,QAAV,CAAlB,CAAsCD,IAAtC;IACD,CATH;IAUE,qBAAkB;EAVpB,GADF;AAcD,CAtBkC,CAA9B"}
1
+ {"version":3,"file":"PopperArrow.js","names":["forwardRef","usePopperContext","assignMultipleRefs","PopperArrow","ref","as","Comp","props","ctx","node","arrowRef","current","Error"],"sources":["../../../src/Popper/PopperArrow.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { usePopperContext } from './context';\nimport { assignMultipleRefs } from '../utils/assign-ref';\n\nexport interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n}\n\nexport const PopperArrow = forwardRef<HTMLDivElement, PopperArrowProps>(\n function PopperArrow({ as: Comp = 'div', ...props }, ref) {\n const ctx = usePopperContext();\n\n if (ctx === null) {\n return null;\n }\n\n return (\n <Comp\n {...props}\n ref={(node: HTMLDivElement | null) => {\n if (node && ctx.arrowRef.current && ctx.arrowRef.current !== node) {\n throw new Error(\n 'You can only render one <PopperArrow /> per <Popper> component'\n );\n }\n assignMultipleRefs(ref, ctx.arrowRef)(node);\n }}\n data-popper-arrow=\"\"\n />\n );\n }\n);\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,gBAAT,QAAiC,WAAjC;AACA,SAASC,kBAAT,QAAmC,qBAAnC;;AAOA,OAAO,IAAMC,WAAW,gBAAGH,UAAU,CACnC,SAASG,WAAT,OAAqDC,KAArD,EAA0D;EAAA,mBAAnCC,EAAmC;EAAA,IAA/BC,IAA+B,wBAAxB,KAAwB;EAAA,IAAdC,KAAc;;EACxD,IAAMC,GAAG,GAAGP,gBAAgB,EAA5B;;EAEA,IAAIO,GAAG,KAAK,IAAZ,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,oBACE,KAAC,IAAD,wBACMD,KADN;IAEE,GAAG,EAAE,aAACE,IAAD,EAAiC;MACpC,IAAIA,IAAI,IAAID,GAAG,CAACE,QAAJ,CAAaC,OAArB,IAAgCH,GAAG,CAACE,QAAJ,CAAaC,OAAb,KAAyBF,IAA7D,EAAmE;QACjE,MAAM,IAAIG,KAAJ,CACJ,gEADI,CAAN;MAGD;;MACDV,kBAAkB,CAACE,KAAD,EAAMI,GAAG,CAACE,QAAV,CAAlB,CAAsCD,IAAtC;IACD,CATH;IAUE,qBAAkB;EAVpB,GADF;AAcD,CAtBkC,CAA9B"}
@@ -1,6 +1,6 @@
1
- import type { MutableRefObject } from 'react';
2
- export interface PopperContextProps {
3
- arrowRef: MutableRefObject<HTMLSpanElement | null>;
4
- }
5
- export declare const PopperProvider: import("react").Provider<PopperContextProps | null>;
6
- export declare const usePopperContext: () => PopperContextProps | null;
1
+ import type { MutableRefObject } from 'react';
2
+ export interface PopperContextProps {
3
+ arrowRef: MutableRefObject<HTMLSpanElement | null>;
4
+ }
5
+ export declare const PopperProvider: import("react").Provider<PopperContextProps | null>;
6
+ export declare const usePopperContext: () => PopperContextProps | null;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","context","PopperProvider","Provider","usePopperContext"],"sources":["../../../src/Popper/context.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\r\nimport { createContext, useContext } from 'react';\r\n\r\nexport interface PopperContextProps {\r\n arrowRef: MutableRefObject<HTMLSpanElement | null>;\r\n}\r\n\r\nconst context = createContext<PopperContextProps | null>(null);\r\nexport const PopperProvider = context.Provider;\r\nexport const usePopperContext = () => useContext(context);\r\n"],"mappings":"AACA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAMA,IAAMC,OAAO,gBAAGF,aAAa,CAA4B,IAA5B,CAA7B;AACA,OAAO,IAAMG,cAAc,GAAGD,OAAO,CAACE,QAA/B;AACP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;EAAA,OAAMJ,UAAU,CAACC,OAAD,CAAhB;AAAA,CAAzB"}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","context","PopperProvider","Provider","usePopperContext"],"sources":["../../../src/Popper/context.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface PopperContextProps {\n arrowRef: MutableRefObject<HTMLSpanElement | null>;\n}\n\nconst context = createContext<PopperContextProps | null>(null);\nexport const PopperProvider = context.Provider;\nexport const usePopperContext = () => useContext(context);\n"],"mappings":"AACA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAMA,IAAMC,OAAO,gBAAGF,aAAa,CAA4B,IAA5B,CAA7B;AACA,OAAO,IAAMG,cAAc,GAAGD,OAAO,CAACE,QAA/B;AACP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;EAAA,OAAMJ,UAAU,CAACC,OAAD,CAAhB;AAAA,CAAzB"}
@@ -1,3 +1,3 @@
1
- export * from './Popper';
2
- export * from './PopperArrow';
3
- export * from './context';
1
+ export * from './Popper';
2
+ export * from './PopperArrow';
3
+ export * from './context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/Popper/index.ts"],"sourcesContent":["export * from './Popper';\r\nexport * from './PopperArrow';\r\nexport * from './context';\r\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Popper/index.ts"],"sourcesContent":["export * from './Popper';\nexport * from './PopperArrow';\nexport * from './context';\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd"}
@@ -1,6 +1,7 @@
1
- import type { FC, ReactNode } from 'react';
2
- export interface PortalProps {
3
- children?: ReactNode;
4
- selector?: string;
5
- }
6
- export declare const Portal: FC<PortalProps>;
1
+ import { type FC, type ReactNode } from 'react';
2
+ import type { PortalSelectorFn } from './PortalSelectorProvider';
3
+ export interface PortalProps {
4
+ children?: ReactNode;
5
+ selector?: PortalSelectorFn;
6
+ }
7
+ export declare const Portal: FC<PortalProps>;
@@ -1,15 +1,18 @@
1
+ import { useContext } from 'react';
1
2
  import { createPortal } from 'react-dom';
3
+ import { PortalSelectorContext } from './PortalSelectorProvider';
2
4
  import { jsx as _jsx } from "react/jsx-runtime";
3
5
  export var Portal = function Portal(_ref) {
4
6
  var children = _ref.children,
5
- _ref$selector = _ref.selector,
6
- selector = _ref$selector === void 0 ? 'body' : _ref$selector;
7
+ selectorProp = _ref.selector;
8
+ var selectorCtx = useContext(PortalSelectorContext);
7
9
 
8
10
  if (typeof window === 'undefined') {
9
11
  return null;
10
12
  }
11
13
 
12
- var dom = document.querySelector(selector);
14
+ var selector = selectorProp || selectorCtx || 'body';
15
+ var dom = typeof selector === 'string' ? document.querySelector(selector) : selector();
13
16
 
14
17
  if (dom) {
15
18
  return /*#__PURE__*/createPortal( /*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","names":["createPortal","Portal","children","selector","window","dom","document","querySelector"],"sources":["../../../src/Portal/Portal.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\r\nimport { createPortal } from 'react-dom';\r\n\r\nexport interface PortalProps {\r\n children?: ReactNode;\r\n selector?: string;\r\n}\r\n\r\nexport const Portal: FC<PortalProps> = ({ children, selector = 'body' }) => {\r\n if (typeof window === 'undefined') {\r\n return null;\r\n }\r\n\r\n const dom = document.querySelector(selector);\r\n if (dom) {\r\n return createPortal(<div data-portal=\"\">{children}</div>, dom);\r\n }\r\n\r\n return null;\r\n};\r\n"],"mappings":"AACA,SAASA,YAAT,QAA6B,WAA7B;;AAOA,OAAO,IAAMC,MAAuB,GAAG,SAA1BA,MAA0B,OAAqC;EAAA,IAAlCC,QAAkC,QAAlCA,QAAkC;EAAA,yBAAxBC,QAAwB;EAAA,IAAxBA,QAAwB,8BAAb,MAAa;;EAC1E,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;IACjC,OAAO,IAAP;EACD;;EAED,IAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuBJ,QAAvB,CAAZ;;EACA,IAAIE,GAAJ,EAAS;IACP,oBAAOL,YAAY,eAAC;MAAK,eAAY,EAAjB;MAAA,UAAqBE;IAArB,EAAD,EAAuCG,GAAvC,CAAnB;EACD;;EAED,OAAO,IAAP;AACD,CAXM"}
1
+ {"version":3,"file":"Portal.js","names":["useContext","createPortal","PortalSelectorContext","Portal","children","selectorProp","selector","selectorCtx","window","dom","document","querySelector"],"sources":["../../../src/Portal/Portal.tsx"],"sourcesContent":["import { useContext, type FC, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { PortalSelectorFn } from './PortalSelectorProvider';\nimport { PortalSelectorContext } from './PortalSelectorProvider';\n\nexport interface PortalProps {\n children?: ReactNode;\n selector?: PortalSelectorFn;\n}\n\nexport const Portal: FC<PortalProps> = ({\n children,\n selector: selectorProp,\n}) => {\n const selectorCtx = useContext(PortalSelectorContext);\n if (typeof window === 'undefined') {\n return null;\n }\n\n const selector = selectorProp || selectorCtx || 'body';\n const dom =\n typeof selector === 'string'\n ? document.querySelector(selector)\n : selector();\n if (dom) {\n return createPortal(<div data-portal=\"\">{children}</div>, dom);\n }\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,UAAT,QAAoD,OAApD;AACA,SAASC,YAAT,QAA6B,WAA7B;AAGA,SAASC,qBAAT,QAAsC,0BAAtC;;AAOA,OAAO,IAAMC,MAAuB,GAAG,SAA1BA,MAA0B,OAGjC;EAAA,IAFJC,QAEI,QAFJA,QAEI;EAAA,IADMC,YACN,QADJC,QACI;EACJ,IAAMC,WAAW,GAAGP,UAAU,CAACE,qBAAD,CAA9B;;EACA,IAAI,OAAOM,MAAP,KAAkB,WAAtB,EAAmC;IACjC,OAAO,IAAP;EACD;;EAED,IAAMF,QAAQ,GAAGD,YAAY,IAAIE,WAAhB,IAA+B,MAAhD;EACA,IAAME,GAAG,GACP,OAAOH,QAAP,KAAoB,QAApB,GACII,QAAQ,CAACC,aAAT,CAAuBL,QAAvB,CADJ,GAEIA,QAAQ,EAHd;;EAIA,IAAIG,GAAJ,EAAS;IACP,oBAAOR,YAAY,eAAC;MAAK,eAAY,EAAjB;MAAA,UAAqBG;IAArB,EAAD,EAAuCK,GAAvC,CAAnB;EACD;;EAED,OAAO,IAAP;AACD,CAnBM"}
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from 'react';
2
+ export declare type PortalSelectorFn = string | (() => Element | null);
3
+ export declare const PortalSelectorContext: import("react").Context<PortalSelectorFn | null>;
4
+ export declare type PortalSelectorProviderProps = {
5
+ selector: PortalSelectorFn;
6
+ children?: ReactNode | ReactNode[];
7
+ };
8
+ export declare const PortalSelectorProvider: ({ selector, children, }: PortalSelectorProviderProps) => JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { createContext } from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export var PortalSelectorContext = /*#__PURE__*/createContext(null);
4
+ PortalSelectorContext.displayName = 'PortalSelectorContext';
5
+ export var PortalSelectorProvider = function PortalSelectorProvider(_ref) {
6
+ var selector = _ref.selector,
7
+ children = _ref.children;
8
+ return /*#__PURE__*/_jsx(PortalSelectorContext.Provider, {
9
+ value: selector,
10
+ children: children
11
+ });
12
+ };
13
+ //# sourceMappingURL=PortalSelectorProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalSelectorProvider.js","names":["createContext","PortalSelectorContext","displayName","PortalSelectorProvider","selector","children"],"sources":["../../../src/Portal/PortalSelectorProvider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport type { ReactNode } from 'react';\n\nexport type PortalSelectorFn = string | (() => Element | null);\nexport const PortalSelectorContext = createContext<PortalSelectorFn | null>(\n null\n);\nPortalSelectorContext.displayName = 'PortalSelectorContext';\n\nexport type PortalSelectorProviderProps = {\n selector: PortalSelectorFn;\n children?: ReactNode | ReactNode[];\n};\n\nexport const PortalSelectorProvider = ({\n selector,\n children,\n}: PortalSelectorProviderProps) => {\n return (\n <PortalSelectorContext.Provider value={selector}>\n {children}\n </PortalSelectorContext.Provider>\n );\n};\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,OAA9B;;AAIA,OAAO,IAAMC,qBAAqB,gBAAGD,aAAa,CAChD,IADgD,CAA3C;AAGPC,qBAAqB,CAACC,WAAtB,GAAoC,uBAApC;AAOA,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,OAGH;EAAA,IAFjCC,QAEiC,QAFjCA,QAEiC;EAAA,IADjCC,QACiC,QADjCA,QACiC;EACjC,oBACE,KAAC,qBAAD,CAAuB,QAAvB;IAAgC,KAAK,EAAED,QAAvC;IAAA,UACGC;EADH,EADF;AAKD,CATM"}
@@ -1 +1,2 @@
1
- export * from './Portal';
1
+ export * from './Portal';
2
+ export { PortalSelectorProvider, type PortalSelectorProviderProps, type PortalSelectorFn, } from './PortalSelectorProvider';
@@ -1,2 +1,3 @@
1
1
  export * from './Portal';
2
+ export { PortalSelectorProvider } from './PortalSelectorProvider';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/Portal/index.ts"],"sourcesContent":["export * from './Portal';\r\n"],"mappings":"AAAA,cAAc,UAAd"}
1
+ {"version":3,"file":"index.js","names":["PortalSelectorProvider"],"sources":["../../../src/Portal/index.ts"],"sourcesContent":["export * from './Portal';\nexport {\n PortalSelectorProvider,\n type PortalSelectorProviderProps,\n type PortalSelectorFn,\n} from './PortalSelectorProvider';\n"],"mappings":"AAAA,cAAc,UAAd;AACA,SACEA,sBADF,QAIO,0BAJP"}
@@ -1,10 +1,10 @@
1
- import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
2
- import type { RadioValue } from './context';
3
- export interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
4
- as?: ElementType<any>;
5
- innerAs?: ElementType<any>;
6
- children?: ReactNode;
7
- checked?: boolean;
8
- value: RadioValue;
9
- }
10
- export declare const RadioButton: import("react").ForwardRefExoticComponent<RadioButtonProps & import("react").RefAttributes<HTMLInputElement>>;
1
+ import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
2
+ import type { RadioValue } from './context';
3
+ export interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
4
+ as?: ElementType<any>;
5
+ innerAs?: ElementType<any>;
6
+ children?: ReactNode;
7
+ checked?: boolean;
8
+ value: RadioValue;
9
+ }
10
+ export declare const RadioButton: import("react").ForwardRefExoticComponent<RadioButtonProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.js","names":["forwardRef","useRadioGroupContext","wrapEvent","RadioButton","props","forwardedRef","as","Comp","valueProp","value","onChangeProp","onChange","checkedProp","checked","nameProp","name","otherProps","radioGroupContext","handleChange","e","String"],"sources":["../../../src/RadioButton/RadioButton.tsx"],"sourcesContent":["import type {\r\n ChangeEvent,\r\n ElementType,\r\n InputHTMLAttributes,\r\n ReactNode,\r\n} from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nimport type { RadioValue } from './context';\r\nimport { useRadioGroupContext } from './context';\r\nimport { wrapEvent } from '../utils';\r\n\r\nexport interface RadioButtonProps\r\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n checked?: boolean;\r\n value: RadioValue;\r\n}\r\n\r\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\r\n function RadioButton(props, forwardedRef) {\r\n const {\r\n as: Comp = 'input',\r\n value: valueProp,\r\n onChange: onChangeProp,\r\n checked: checkedProp,\r\n name: nameProp,\r\n ...otherProps\r\n } = props;\r\n const radioGroupContext = useRadioGroupContext();\r\n\r\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n radioGroupContext?.onChange?.(e, valueProp);\r\n };\r\n\r\n const checked = radioGroupContext\r\n ? radioGroupContext.value === valueProp\r\n : checkedProp;\r\n\r\n return (\r\n <Comp\r\n ref={forwardedRef}\r\n type=\"radio\"\r\n checked={checked}\r\n aria-checked={String(checked)}\r\n name={radioGroupContext ? radioGroupContext.name : nameProp}\r\n onChange={wrapEvent(onChangeProp, handleChange)}\r\n value={valueProp}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAMA,SAASA,UAAT,QAA2B,OAA3B;AAGA,SAASC,oBAAT,QAAqC,WAArC;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAWA,OAAO,IAAMC,WAAW,gBAAGH,UAAU,CACnC,SAASG,WAAT,CAAqBC,KAArB,EAA4BC,YAA5B,EAA0C;EACxC,gBAOID,KAPJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,OADb;EAAA,IAESC,SAFT,GAOIJ,KAPJ,CAEEK,KAFF;EAAA,IAGYC,YAHZ,GAOIN,KAPJ,CAGEO,QAHF;EAAA,IAIWC,WAJX,GAOIR,KAPJ,CAIES,OAJF;EAAA,IAKQC,QALR,GAOIV,KAPJ,CAKEW,IALF;EAAA,IAMKC,UANL,4BAOIZ,KAPJ;;EAQA,IAAMa,iBAAiB,GAAGhB,oBAAoB,EAA9C;;EAEA,IAAMiB,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAsC;IAAA;;IACzDF,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,qCAAAA,iBAAiB,CAAEN,QAAnB,qFAAAM,iBAAiB,EAAaE,CAAb,EAAgBX,SAAhB,CAAjB;EACD,CAFD;;EAIA,IAAMK,OAAO,GAAGI,iBAAiB,GAC7BA,iBAAiB,CAACR,KAAlB,KAA4BD,SADC,GAE7BI,WAFJ;EAIA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEP,YADP;IAEE,IAAI,EAAC,OAFP;IAGE,OAAO,EAAEQ,OAHX;IAIE,gBAAcO,MAAM,CAACP,OAAD,CAJtB;IAKE,IAAI,EAAEI,iBAAiB,GAAGA,iBAAiB,CAACF,IAArB,GAA4BD,QALrD;IAME,QAAQ,EAAEZ,SAAS,CAACQ,YAAD,EAAeQ,YAAf,CANrB;IAOE,KAAK,EAAEV;EAPT,GAQMQ,UARN,EADF;AAYD,CAhCkC,CAA9B"}
1
+ {"version":3,"file":"RadioButton.js","names":["forwardRef","useRadioGroupContext","wrapEvent","RadioButton","props","forwardedRef","as","Comp","valueProp","value","onChangeProp","onChange","checkedProp","checked","nameProp","name","otherProps","radioGroupContext","handleChange","e","String"],"sources":["../../../src/RadioButton/RadioButton.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ElementType,\n InputHTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport type { RadioValue } from './context';\nimport { useRadioGroupContext } from './context';\nimport { wrapEvent } from '../utils';\n\nexport interface RadioButtonProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n checked?: boolean;\n value: RadioValue;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n function RadioButton(props, forwardedRef) {\n const {\n as: Comp = 'input',\n value: valueProp,\n onChange: onChangeProp,\n checked: checkedProp,\n name: nameProp,\n ...otherProps\n } = props;\n const radioGroupContext = useRadioGroupContext();\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n radioGroupContext?.onChange?.(e, valueProp);\n };\n\n const checked = radioGroupContext\n ? radioGroupContext.value === valueProp\n : checkedProp;\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"radio\"\n checked={checked}\n aria-checked={String(checked)}\n name={radioGroupContext ? radioGroupContext.name : nameProp}\n onChange={wrapEvent(onChangeProp, handleChange)}\n value={valueProp}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;AAMA,SAASA,UAAT,QAA2B,OAA3B;AAGA,SAASC,oBAAT,QAAqC,WAArC;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAWA,OAAO,IAAMC,WAAW,gBAAGH,UAAU,CACnC,SAASG,WAAT,CAAqBC,KAArB,EAA4BC,YAA5B,EAA0C;EACxC,gBAOID,KAPJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,OADb;EAAA,IAESC,SAFT,GAOIJ,KAPJ,CAEEK,KAFF;EAAA,IAGYC,YAHZ,GAOIN,KAPJ,CAGEO,QAHF;EAAA,IAIWC,WAJX,GAOIR,KAPJ,CAIES,OAJF;EAAA,IAKQC,QALR,GAOIV,KAPJ,CAKEW,IALF;EAAA,IAMKC,UANL,4BAOIZ,KAPJ;;EAQA,IAAMa,iBAAiB,GAAGhB,oBAAoB,EAA9C;;EAEA,IAAMiB,YAAY,GAAG,SAAfA,YAAe,CAACC,CAAD,EAAsC;IAAA;;IACzDF,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,qCAAAA,iBAAiB,CAAEN,QAAnB,qFAAAM,iBAAiB,EAAaE,CAAb,EAAgBX,SAAhB,CAAjB;EACD,CAFD;;EAIA,IAAMK,OAAO,GAAGI,iBAAiB,GAC7BA,iBAAiB,CAACR,KAAlB,KAA4BD,SADC,GAE7BI,WAFJ;EAIA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEP,YADP;IAEE,IAAI,EAAC,OAFP;IAGE,OAAO,EAAEQ,OAHX;IAIE,gBAAcO,MAAM,CAACP,OAAD,CAJtB;IAKE,IAAI,EAAEI,iBAAiB,GAAGA,iBAAiB,CAACF,IAArB,GAA4BD,QALrD;IAME,QAAQ,EAAEZ,SAAS,CAACQ,YAAD,EAAeQ,YAAf,CANrB;IAOE,KAAK,EAAEV;EAPT,GAQMQ,UARN,EADF;AAYD,CAhCkC,CAA9B"}
@@ -1,12 +1,12 @@
1
- import type { ChangeEvent, ElementType, HTMLAttributes, ReactNode } from 'react';
2
- import type { RadioValue } from './context';
3
- export interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {
4
- as?: ElementType<any>;
5
- innerAs?: ElementType<any>;
6
- children?: ReactNode;
7
- value?: RadioValue;
8
- defaultValue?: RadioValue;
9
- name?: string;
10
- onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
11
- }
12
- export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { ChangeEvent, ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import type { RadioValue } from './context';
3
+ export interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {
4
+ as?: ElementType<any>;
5
+ innerAs?: ElementType<any>;
6
+ children?: ReactNode;
7
+ value?: RadioValue;
8
+ defaultValue?: RadioValue;
9
+ name?: string;
10
+ onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
11
+ }
12
+ export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["forwardRef","useId","RadioGroupProvider","useControlledState","RadioGroup","props","forwardedRef","as","Comp","onChangeProp","onChange","valueProp","value","nameProp","name","defaultValue","otherProps","setValue","e","fallbackId"],"sources":["../../../src/RadioButton/RadioGroup.tsx"],"sourcesContent":["import type {\r\n ChangeEvent,\r\n ElementType,\r\n HTMLAttributes,\r\n ReactNode,\r\n} from 'react';\r\nimport { forwardRef, useId } from 'react';\r\n\r\nimport type { RadioValue } from './context';\r\nimport { RadioGroupProvider } from './context';\r\nimport { useControlledState } from '../hooks';\r\n\r\nexport interface RadioGroupProps\r\n extends Omit<\r\n HTMLAttributes<HTMLDivElement>,\r\n 'onChange' | 'value' | 'defaultValue'\r\n > {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n value?: RadioValue;\r\n defaultValue?: RadioValue;\r\n name?: string;\r\n onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;\r\n}\r\n\r\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\r\n function RadioGroup(props, forwardedRef) {\r\n const {\r\n as: Comp = 'div',\r\n onChange: onChangeProp,\r\n value: valueProp,\r\n name: nameProp,\r\n defaultValue,\r\n ...otherProps\r\n } = props;\r\n const [value, onChange] = useControlledState(\r\n valueProp,\r\n onChangeProp,\r\n defaultValue,\r\n (setValue) => (e, value) => {\r\n setValue(value);\r\n }\r\n );\r\n\r\n const fallbackId = useId();\r\n\r\n return (\r\n <RadioGroupProvider\r\n value={{\r\n value,\r\n onChange,\r\n name: nameProp || fallbackId,\r\n }}\r\n >\r\n <Comp ref={forwardedRef} role=\"radiogroup\" {...otherProps} />\r\n </RadioGroupProvider>\r\n );\r\n }\r\n);\r\n"],"mappings":";;;;AAMA,SAASA,UAAT,EAAqBC,KAArB,QAAkC,OAAlC;AAGA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAgBA,OAAO,IAAMC,UAAU,gBAAGJ,UAAU,CAClC,SAASI,UAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAAyC;EACvC,gBAOID,KAPJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,KADb;EAAA,IAEYC,YAFZ,GAOIJ,KAPJ,CAEEK,QAFF;EAAA,IAGSC,SAHT,GAOIN,KAPJ,CAGEO,KAHF;EAAA,IAIQC,QAJR,GAOIR,KAPJ,CAIES,IAJF;EAAA,IAKEC,YALF,GAOIV,KAPJ,CAKEU,YALF;EAAA,IAMKC,UANL,4BAOIX,KAPJ;;EAQA,0BAA0BF,kBAAkB,CAC1CQ,SAD0C,EAE1CF,YAF0C,EAG1CM,YAH0C,EAI1C,UAACE,QAAD;IAAA,OAAc,UAACC,CAAD,EAAIN,KAAJ,EAAc;MAC1BK,QAAQ,CAACL,KAAD,CAAR;IACD,CAFD;EAAA,CAJ0C,CAA5C;EAAA;EAAA,IAAOA,KAAP;EAAA,IAAcF,QAAd;;EASA,IAAMS,UAAU,GAAGlB,KAAK,EAAxB;EAEA,oBACE,KAAC,kBAAD;IACE,KAAK,EAAE;MACLW,KAAK,EAALA,KADK;MAELF,QAAQ,EAARA,QAFK;MAGLI,IAAI,EAAED,QAAQ,IAAIM;IAHb,CADT;IAAA,uBAOE,KAAC,IAAD;MAAM,GAAG,EAAEb,YAAX;MAAyB,IAAI,EAAC;IAA9B,GAA+CU,UAA/C;EAPF,EADF;AAWD,CAhCiC,CAA7B"}
1
+ {"version":3,"file":"RadioGroup.js","names":["forwardRef","useId","RadioGroupProvider","useControlledState","RadioGroup","props","forwardedRef","as","Comp","onChangeProp","onChange","valueProp","value","nameProp","name","defaultValue","otherProps","setValue","e","fallbackId"],"sources":["../../../src/RadioButton/RadioGroup.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ElementType,\n HTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef, useId } from 'react';\n\nimport type { RadioValue } from './context';\nimport { RadioGroupProvider } from './context';\nimport { useControlledState } from '../hooks';\n\nexport interface RadioGroupProps\n extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onChange' | 'value' | 'defaultValue'\n > {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n value?: RadioValue;\n defaultValue?: RadioValue;\n name?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n function RadioGroup(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onChange: onChangeProp,\n value: valueProp,\n name: nameProp,\n defaultValue,\n ...otherProps\n } = props;\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp,\n defaultValue,\n (setValue) => (e, value) => {\n setValue(value);\n }\n );\n\n const fallbackId = useId();\n\n return (\n <RadioGroupProvider\n value={{\n value,\n onChange,\n name: nameProp || fallbackId,\n }}\n >\n <Comp ref={forwardedRef} role=\"radiogroup\" {...otherProps} />\n </RadioGroupProvider>\n );\n }\n);\n"],"mappings":";;;;AAMA,SAASA,UAAT,EAAqBC,KAArB,QAAkC,OAAlC;AAGA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAgBA,OAAO,IAAMC,UAAU,gBAAGJ,UAAU,CAClC,SAASI,UAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAAyC;EACvC,gBAOID,KAPJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,KADb;EAAA,IAEYC,YAFZ,GAOIJ,KAPJ,CAEEK,QAFF;EAAA,IAGSC,SAHT,GAOIN,KAPJ,CAGEO,KAHF;EAAA,IAIQC,QAJR,GAOIR,KAPJ,CAIES,IAJF;EAAA,IAKEC,YALF,GAOIV,KAPJ,CAKEU,YALF;EAAA,IAMKC,UANL,4BAOIX,KAPJ;;EAQA,0BAA0BF,kBAAkB,CAC1CQ,SAD0C,EAE1CF,YAF0C,EAG1CM,YAH0C,EAI1C,UAACE,QAAD;IAAA,OAAc,UAACC,CAAD,EAAIN,KAAJ,EAAc;MAC1BK,QAAQ,CAACL,KAAD,CAAR;IACD,CAFD;EAAA,CAJ0C,CAA5C;EAAA;EAAA,IAAOA,KAAP;EAAA,IAAcF,QAAd;;EASA,IAAMS,UAAU,GAAGlB,KAAK,EAAxB;EAEA,oBACE,KAAC,kBAAD;IACE,KAAK,EAAE;MACLW,KAAK,EAALA,KADK;MAELF,QAAQ,EAARA,QAFK;MAGLI,IAAI,EAAED,QAAQ,IAAIM;IAHb,CADT;IAAA,uBAOE,KAAC,IAAD;MAAM,GAAG,EAAEb,YAAX;MAAyB,IAAI,EAAC;IAA9B,GAA+CU,UAA/C;EAPF,EADF;AAWD,CAhCiC,CAA7B"}
@@ -1,9 +1,9 @@
1
- import type { ChangeEvent } from 'react';
2
- export declare type RadioValue = string | number | boolean;
3
- export interface RadioGroupContextProps {
4
- value: RadioValue | undefined;
5
- onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
6
- name: string | undefined;
7
- }
8
- export declare const RadioGroupProvider: import("react").Provider<RadioGroupContextProps | undefined>;
9
- export declare const useRadioGroupContext: () => RadioGroupContextProps | undefined;
1
+ import type { ChangeEvent } from 'react';
2
+ export declare type RadioValue = string | number | boolean;
3
+ export interface RadioGroupContextProps {
4
+ value: RadioValue | undefined;
5
+ onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
6
+ name: string | undefined;
7
+ }
8
+ export declare const RadioGroupProvider: import("react").Provider<RadioGroupContextProps | undefined>;
9
+ export declare const useRadioGroupContext: () => RadioGroupContextProps | undefined;