@basic-ui/core 0.0.54 → 0.0.56

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 (410) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +364 -591
  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 +20 -29
  6. package/build/esm/Accordion/Accordion.js.map +1 -1
  7. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  8. package/build/esm/Accordion/AccordionBody.js +18 -32
  9. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  10. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  11. package/build/esm/Accordion/AccordionHeader.js +37 -74
  12. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  13. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  14. package/build/esm/Accordion/AccordionItem.js +19 -22
  15. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  16. package/build/esm/Accordion/context.d.ts +19 -19
  17. package/build/esm/Accordion/context.js +16 -13
  18. package/build/esm/Accordion/context.js.map +1 -1
  19. package/build/esm/Accordion/index.d.ts +4 -4
  20. package/build/esm/Accordion/index.js.map +1 -1
  21. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  22. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  23. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  24. package/build/esm/CheckBox/CheckBox.js +15 -25
  25. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  26. package/build/esm/CheckBox/index.d.ts +1 -1
  27. package/build/esm/CheckBox/index.js.map +1 -1
  28. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  29. package/build/esm/ComboBox/Combobox.js +52 -59
  30. package/build/esm/ComboBox/Combobox.js.map +1 -1
  31. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  32. package/build/esm/ComboBox/ComboboxButton.js +23 -28
  33. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  34. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  35. package/build/esm/ComboBox/ComboboxInput.js +67 -70
  36. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  37. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  38. package/build/esm/ComboBox/ComboboxLabel.js +15 -17
  39. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  40. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  41. package/build/esm/ComboBox/ComboboxList.js +19 -20
  42. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  43. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  44. package/build/esm/ComboBox/ComboboxOption.js +41 -45
  45. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  46. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  47. package/build/esm/ComboBox/ComboboxPopover.js +22 -21
  48. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  49. package/build/esm/ComboBox/cities.d.ts +5 -5
  50. package/build/esm/ComboBox/cities.js.map +1 -1
  51. package/build/esm/ComboBox/context.d.ts +30 -30
  52. package/build/esm/ComboBox/context.js +5 -6
  53. package/build/esm/ComboBox/context.js.map +1 -1
  54. package/build/esm/ComboBox/hooks.d.ts +37 -37
  55. package/build/esm/ComboBox/hooks.js +175 -148
  56. package/build/esm/ComboBox/hooks.js.map +1 -1
  57. package/build/esm/ComboBox/index.d.ts +8 -8
  58. package/build/esm/ComboBox/index.js.map +1 -1
  59. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  60. package/build/esm/ComboBox/makeHash.js +3 -6
  61. package/build/esm/ComboBox/makeHash.js.map +1 -1
  62. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  63. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  64. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  65. package/build/esm/FocusLock/FocusLock.js +26 -32
  66. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  67. package/build/esm/FocusLock/index.d.ts +1 -1
  68. package/build/esm/FocusLock/index.js.map +1 -1
  69. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  70. package/build/esm/FocusLock/tabUtils.js +5 -7
  71. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  72. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  73. package/build/esm/FocusLock/useFocusLock.js +14 -19
  74. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  75. package/build/esm/List/List.d.ts +7 -7
  76. package/build/esm/List/List.js +9 -11
  77. package/build/esm/List/List.js.map +1 -1
  78. package/build/esm/List/ListItem.d.ts +7 -7
  79. package/build/esm/List/ListItem.js +9 -11
  80. package/build/esm/List/ListItem.js.map +1 -1
  81. package/build/esm/List/context.d.ts +4 -4
  82. package/build/esm/List/context.js +6 -6
  83. package/build/esm/List/context.js.map +1 -1
  84. package/build/esm/List/index.d.ts +2 -2
  85. package/build/esm/List/index.js.map +1 -1
  86. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  87. package/build/esm/Menu/ContextMenuTrigger.js +32 -37
  88. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  89. package/build/esm/Menu/Menu.d.ts +10 -10
  90. package/build/esm/Menu/Menu.js +33 -49
  91. package/build/esm/Menu/Menu.js.map +1 -1
  92. package/build/esm/Menu/MenuButton.d.ts +11 -11
  93. package/build/esm/Menu/MenuButton.js +28 -44
  94. package/build/esm/Menu/MenuButton.js.map +1 -1
  95. package/build/esm/Menu/MenuItem.d.ts +8 -8
  96. package/build/esm/Menu/MenuItem.js +29 -38
  97. package/build/esm/Menu/MenuItem.js.map +1 -1
  98. package/build/esm/Menu/MenuList.d.ts +7 -7
  99. package/build/esm/Menu/MenuList.js +61 -116
  100. package/build/esm/Menu/MenuList.js.map +1 -1
  101. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  102. package/build/esm/Menu/MenuPopover.js +16 -19
  103. package/build/esm/Menu/MenuPopover.js.map +1 -1
  104. package/build/esm/Menu/context.d.ts +25 -25
  105. package/build/esm/Menu/context.js +14 -12
  106. package/build/esm/Menu/context.js.map +1 -1
  107. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  108. package/build/esm/Menu/fixtures/countryList.js +1 -1
  109. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  110. package/build/esm/Menu/index.d.ts +6 -6
  111. package/build/esm/Menu/index.js.map +1 -1
  112. package/build/esm/Menu/scope.d.ts +1 -1
  113. package/build/esm/Menu/scope.js.map +1 -1
  114. package/build/esm/Modal/Modal.d.ts +9 -9
  115. package/build/esm/Modal/Modal.js +13 -18
  116. package/build/esm/Modal/Modal.js.map +1 -1
  117. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  118. package/build/esm/Modal/ModalBackdrop.js +24 -33
  119. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  120. package/build/esm/Modal/index.d.ts +2 -2
  121. package/build/esm/Modal/index.js.map +1 -1
  122. package/build/esm/Popper/Popper.d.ts +35 -35
  123. package/build/esm/Popper/Popper.js +44 -60
  124. package/build/esm/Popper/Popper.js.map +1 -1
  125. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  126. package/build/esm/Popper/PopperArrow.js +11 -16
  127. package/build/esm/Popper/PopperArrow.js.map +1 -1
  128. package/build/esm/Popper/context.d.ts +6 -6
  129. package/build/esm/Popper/context.js +3 -5
  130. package/build/esm/Popper/context.js.map +1 -1
  131. package/build/esm/Popper/index.d.ts +3 -3
  132. package/build/esm/Popper/index.js.map +1 -1
  133. package/build/esm/Portal/Portal.d.ts +7 -7
  134. package/build/esm/Portal/Portal.js +9 -11
  135. package/build/esm/Portal/Portal.js.map +1 -1
  136. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -8
  137. package/build/esm/Portal/PortalSelectorProvider.js +6 -4
  138. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -1
  139. package/build/esm/Portal/index.d.ts +2 -2
  140. package/build/esm/Portal/index.js.map +1 -1
  141. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  142. package/build/esm/RadioButton/RadioButton.js +17 -23
  143. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  144. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  145. package/build/esm/RadioButton/RadioGroup.js +19 -28
  146. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  147. package/build/esm/RadioButton/context.d.ts +9 -9
  148. package/build/esm/RadioButton/context.js +8 -6
  149. package/build/esm/RadioButton/context.js.map +1 -1
  150. package/build/esm/RadioButton/index.d.ts +2 -2
  151. package/build/esm/RadioButton/index.js.map +1 -1
  152. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  153. package/build/esm/SkipNav/SkipNav.js +9 -11
  154. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  155. package/build/esm/SkipNav/index.d.ts +1 -1
  156. package/build/esm/SkipNav/index.js.map +1 -1
  157. package/build/esm/Slider/Slider.d.ts +197 -197
  158. package/build/esm/Slider/Slider.js +422 -489
  159. package/build/esm/Slider/Slider.js.map +1 -1
  160. package/build/esm/Slider/index.d.ts +1 -1
  161. package/build/esm/Slider/index.js.map +1 -1
  162. package/build/esm/Spinner/Spinner.d.ts +12 -12
  163. package/build/esm/Spinner/Spinner.js +31 -59
  164. package/build/esm/Spinner/Spinner.js.map +1 -1
  165. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  166. package/build/esm/Spinner/SpinnerButton.js +14 -19
  167. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  168. package/build/esm/Spinner/context.d.ts +12 -12
  169. package/build/esm/Spinner/context.js +8 -7
  170. package/build/esm/Spinner/context.js.map +1 -1
  171. package/build/esm/Spinner/index.d.ts +2 -2
  172. package/build/esm/Spinner/index.js.map +1 -1
  173. package/build/esm/Tabs/Tab.d.ts +7 -7
  174. package/build/esm/Tabs/Tab.js +32 -50
  175. package/build/esm/Tabs/Tab.js.map +1 -1
  176. package/build/esm/Tabs/TabList.d.ts +9 -9
  177. package/build/esm/Tabs/TabList.js +24 -34
  178. package/build/esm/Tabs/TabList.js.map +1 -1
  179. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  180. package/build/esm/Tabs/TabPanel.js +16 -23
  181. package/build/esm/Tabs/TabPanel.js.map +1 -1
  182. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  183. package/build/esm/Tabs/TabPanels.js +15 -20
  184. package/build/esm/Tabs/TabPanels.js.map +1 -1
  185. package/build/esm/Tabs/Tabs.d.ts +10 -10
  186. package/build/esm/Tabs/Tabs.js +17 -33
  187. package/build/esm/Tabs/Tabs.js.map +1 -1
  188. package/build/esm/Tabs/context.d.ts +17 -17
  189. package/build/esm/Tabs/context.js +16 -13
  190. package/build/esm/Tabs/context.js.map +1 -1
  191. package/build/esm/Tabs/index.d.ts +5 -5
  192. package/build/esm/Tabs/index.js.map +1 -1
  193. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  194. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  195. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  196. package/build/esm/Tooltip/Tooltip.js +20 -30
  197. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  198. package/build/esm/Tooltip/index.d.ts +1 -1
  199. package/build/esm/Tooltip/index.js.map +1 -1
  200. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  201. package/build/esm/Tooltip/stateMachine.js +95 -81
  202. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  203. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  204. package/build/esm/Tooltip/useTooltip.js +38 -50
  205. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  206. package/build/esm/hooks/index.d.ts +13 -13
  207. package/build/esm/hooks/index.js.map +1 -1
  208. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  209. package/build/esm/hooks/useAutoFocus.js +3 -3
  210. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  211. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  212. package/build/esm/hooks/useChildrenCounter.js +6 -8
  213. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  214. package/build/esm/hooks/useControlledState.d.ts +3 -3
  215. package/build/esm/hooks/useControlledState.js +6 -16
  216. package/build/esm/hooks/useControlledState.js.map +1 -1
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js +8 -12
  219. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  220. package/build/esm/hooks/useFocusState.d.ts +11 -11
  221. package/build/esm/hooks/useFocusState.js +9 -15
  222. package/build/esm/hooks/useFocusState.js.map +1 -1
  223. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  224. package/build/esm/hooks/useGestureHandlers.js +80 -100
  225. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js +7 -15
  228. package/build/esm/hooks/useMeasure.js.map +1 -1
  229. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  230. package/build/esm/hooks/useOnClickOutside.js +4 -6
  231. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  232. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  233. package/build/esm/hooks/useOnKeyDown.js +3 -4
  234. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  235. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  236. package/build/esm/hooks/useReducerMachine.js +15 -26
  237. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  238. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  239. package/build/esm/hooks/useRemoveBodyScroll.js +9 -14
  240. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  241. package/build/esm/hooks/useScope.d.ts +11 -11
  242. package/build/esm/hooks/useScope.js +12 -14
  243. package/build/esm/hooks/useScope.js.map +1 -1
  244. package/build/esm/hooks/useThrottle.d.ts +1 -1
  245. package/build/esm/hooks/useThrottle.js +5 -10
  246. package/build/esm/hooks/useThrottle.js.map +1 -1
  247. package/build/esm/index.d.ts +15 -15
  248. package/build/esm/index.js +4 -2
  249. package/build/esm/index.js.map +1 -1
  250. package/build/esm/styles.d.js +2 -0
  251. package/build/esm/styles.d.js.map +1 -0
  252. package/build/esm/utils/assign-ref.d.ts +3 -3
  253. package/build/esm/utils/assign-ref.js +3 -5
  254. package/build/esm/utils/assign-ref.js.map +1 -1
  255. package/build/esm/utils/can-use-dom.d.ts +1 -1
  256. package/build/esm/utils/can-use-dom.js.map +1 -1
  257. package/build/esm/utils/clamp.d.ts +1 -1
  258. package/build/esm/utils/clamp.js.map +1 -1
  259. package/build/esm/utils/context.d.ts +7 -7
  260. package/build/esm/utils/context.js +13 -20
  261. package/build/esm/utils/context.js.map +1 -1
  262. package/build/esm/utils/create-subscription.d.ts +4 -4
  263. package/build/esm/utils/create-subscription.js +5 -10
  264. package/build/esm/utils/create-subscription.js.map +1 -1
  265. package/build/esm/utils/get-circular-index.d.ts +1 -1
  266. package/build/esm/utils/get-circular-index.js +0 -1
  267. package/build/esm/utils/get-circular-index.js.map +1 -1
  268. package/build/esm/utils/index.d.ts +10 -10
  269. package/build/esm/utils/index.js.map +1 -1
  270. package/build/esm/utils/is-right-click.d.ts +6 -6
  271. package/build/esm/utils/is-right-click.js +4 -4
  272. package/build/esm/utils/is-right-click.js.map +1 -1
  273. package/build/esm/utils/owner-document.d.ts +7 -7
  274. package/build/esm/utils/owner-document.js +6 -6
  275. package/build/esm/utils/owner-document.js.map +1 -1
  276. package/build/esm/utils/polymorphic.d.ts +39 -39
  277. package/build/esm/utils/polymorphic.js.map +1 -1
  278. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  279. package/build/esm/utils/rubber-band-clamp.js +2 -5
  280. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  281. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  282. package/build/esm/utils/use-stable-callback.js +24 -26
  283. package/build/esm/utils/use-stable-callback.js.map +1 -1
  284. package/build/esm/utils/wrap-event.d.ts +3 -3
  285. package/build/esm/utils/wrap-event.js +2 -5
  286. package/build/esm/utils/wrap-event.js.map +1 -1
  287. package/build/tsconfig-build.tsbuildinfo +1 -1
  288. package/package.json +6 -6
  289. package/src/Accordion/Accordion.story.tsx +74 -74
  290. package/src/Accordion/Accordion.tsx +59 -59
  291. package/src/Accordion/AccordionBody.tsx +52 -52
  292. package/src/Accordion/AccordionHeader.tsx +166 -167
  293. package/src/Accordion/AccordionItem.tsx +50 -50
  294. package/src/Accordion/context.ts +37 -37
  295. package/src/Accordion/index.ts +4 -4
  296. package/src/Accordion/scopeQuery.ts +7 -7
  297. package/src/Accordion/styles.css +21 -21
  298. package/src/CheckBox/CheckBox.tsx +41 -41
  299. package/src/CheckBox/index.ts +1 -1
  300. package/src/ComboBox/ComboBox.story.tsx +120 -120
  301. package/src/ComboBox/Combobox.tsx +148 -148
  302. package/src/ComboBox/ComboboxButton.tsx +61 -61
  303. package/src/ComboBox/ComboboxInput.tsx +187 -187
  304. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  305. package/src/ComboBox/ComboboxList.tsx +47 -47
  306. package/src/ComboBox/ComboboxOption.tsx +110 -111
  307. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  308. package/src/ComboBox/cities.ts +23194 -23194
  309. package/src/ComboBox/context.ts +35 -35
  310. package/src/ComboBox/hooks.tsx +448 -451
  311. package/src/ComboBox/index.ts +8 -8
  312. package/src/ComboBox/makeHash.ts +19 -19
  313. package/src/ComboBox/scopeQuery.ts +6 -6
  314. package/src/ComboBox/styles.css +32 -32
  315. package/src/FocusLock/FocusLock.tsx +66 -66
  316. package/src/FocusLock/index.ts +1 -1
  317. package/src/FocusLock/tabUtils.ts +40 -40
  318. package/src/FocusLock/useFocusLock.ts +55 -56
  319. package/src/List/List.story.tsx +18 -18
  320. package/src/List/List.tsx +17 -17
  321. package/src/List/ListItem.tsx +23 -23
  322. package/src/List/context.ts +19 -19
  323. package/src/List/index.ts +2 -2
  324. package/src/Menu/ContextMenu.story.tsx +73 -73
  325. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  326. package/src/Menu/Menu.story.tsx +160 -160
  327. package/src/Menu/Menu.tsx +82 -83
  328. package/src/Menu/MenuButton.tsx +83 -83
  329. package/src/Menu/MenuComplex.story.tsx +58 -58
  330. package/src/Menu/MenuItem.tsx +87 -88
  331. package/src/Menu/MenuList.tsx +254 -254
  332. package/src/Menu/MenuPopover.tsx +35 -35
  333. package/src/Menu/context.ts +44 -44
  334. package/src/Menu/fixtures/countryList.ts +198 -198
  335. package/src/Menu/index.ts +6 -6
  336. package/src/Menu/scope.ts +7 -7
  337. package/src/Menu/styles.css +42 -42
  338. package/src/Modal/Modal.story.tsx +262 -258
  339. package/src/Modal/Modal.tsx +48 -48
  340. package/src/Modal/ModalBackdrop.tsx +78 -78
  341. package/src/Modal/NavDrawer.story.tsx +161 -158
  342. package/src/Modal/index.ts +2 -2
  343. package/src/Modal/styles.css +46 -46
  344. package/src/Popper/Popper.story.tsx +279 -263
  345. package/src/Popper/Popper.tsx +1 -1
  346. package/src/Popper/PopperArrow.tsx +35 -35
  347. package/src/Popper/context.ts +10 -10
  348. package/src/Popper/index.ts +3 -3
  349. package/src/Popper/styles.css +60 -60
  350. package/src/RadioButton/RadioButton.story.tsx +78 -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 +1115 -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 +53 -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/useControlledState.ts +1 -6
  386. package/src/hooks/useFocusReturn.ts +43 -43
  387. package/src/hooks/useFocusState.ts +30 -30
  388. package/src/hooks/useGestureHandlers.ts +282 -286
  389. package/src/hooks/useMeasure.ts +33 -33
  390. package/src/hooks/useOnClickOutside.ts +32 -32
  391. package/src/hooks/useOnKeyDown.ts +19 -19
  392. package/src/hooks/useReducerMachine.ts +60 -60
  393. package/src/hooks/useRemoveBodyScroll.ts +38 -39
  394. package/src/hooks/useScope.ts +52 -52
  395. package/src/hooks/useThrottle.ts +19 -19
  396. package/src/index.ts +20 -20
  397. package/src/styles.d.ts +1 -0
  398. package/src/utils/assign-ref.ts +27 -27
  399. package/src/utils/can-use-dom.ts +7 -7
  400. package/src/utils/clamp.ts +3 -3
  401. package/src/utils/context.tsx +48 -48
  402. package/src/utils/create-subscription.ts +16 -16
  403. package/src/utils/get-circular-index.ts +7 -7
  404. package/src/utils/index.ts +10 -10
  405. package/src/utils/is-right-click.ts +14 -14
  406. package/src/utils/owner-document.ts +13 -13
  407. package/src/utils/polymorphic.ts +82 -78
  408. package/src/utils/rubber-band-clamp.ts +25 -25
  409. package/src/utils/use-stable-callback.ts +57 -58
  410. package/src/utils/wrap-event.ts +22 -22
@@ -1 +1 @@
1
- export declare function makeHash(str: string): number;
1
+ export declare function makeHash(str: string): number;
@@ -6,18 +6,15 @@
6
6
  // don't know how it works, tbqh)
7
7
  // https://stackoverflow.com/questions/6122571/simple-non-secure-hash-function-for-javascript
8
8
  export function makeHash(str) {
9
- var hash = 0;
10
-
9
+ let hash = 0;
11
10
  if (str.length === 0) {
12
11
  return hash;
13
12
  }
14
-
15
- for (var i = 0; i < str.length; i++) {
16
- var char = str.charCodeAt(i);
13
+ for (let i = 0; i < str.length; i++) {
14
+ const char = str.charCodeAt(i);
17
15
  hash = (hash << 5) - hash + char;
18
16
  hash = hash & hash;
19
17
  }
20
-
21
18
  return hash;
22
19
  }
23
20
  //# sourceMappingURL=makeHash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeHash.js","names":["makeHash","str","hash","length","i","char","charCodeAt"],"sources":["../../../src/ComboBox/makeHash.ts"],"sourcesContent":["// We don't want to track the active descendant with indexes because nothing is\r\n// more annoying in a combobox than having it change values RIGHT AS YOU HIT\r\n// ENTER. That only happens if you use the index as your data, rather than\r\n// *your data as your data*. We use this to generate a unique ID based on the\r\n// value of each item. This function is short, sweet, and good enough™ (I also\r\n// don't know how it works, tbqh)\r\n// https://stackoverflow.com/questions/6122571/simple-non-secure-hash-function-for-javascript\r\nexport function makeHash(str: string) {\r\n let hash = 0;\r\n if (str.length === 0) {\r\n return hash;\r\n }\r\n for (let i = 0; i < str.length; i++) {\r\n const char = str.charCodeAt(i);\r\n hash = (hash << 5) - hash + char;\r\n hash = hash & hash;\r\n }\r\n return hash;\r\n}\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,QAAT,CAAkBC,GAAlB,EAA+B;EACpC,IAAIC,IAAI,GAAG,CAAX;;EACA,IAAID,GAAG,CAACE,MAAJ,KAAe,CAAnB,EAAsB;IACpB,OAAOD,IAAP;EACD;;EACD,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,GAAG,CAACE,MAAxB,EAAgCC,CAAC,EAAjC,EAAqC;IACnC,IAAMC,IAAI,GAAGJ,GAAG,CAACK,UAAJ,CAAeF,CAAf,CAAb;IACAF,IAAI,GAAG,CAACA,IAAI,IAAI,CAAT,IAAcA,IAAd,GAAqBG,IAA5B;IACAH,IAAI,GAAGA,IAAI,GAAGA,IAAd;EACD;;EACD,OAAOA,IAAP;AACD"}
1
+ {"version":3,"file":"makeHash.js","names":["makeHash","str","hash","length","i","char","charCodeAt"],"sources":["../../../src/ComboBox/makeHash.ts"],"sourcesContent":["// We don't want to track the active descendant with indexes because nothing is\n// more annoying in a combobox than having it change values RIGHT AS YOU HIT\n// ENTER. That only happens if you use the index as your data, rather than\n// *your data as your data*. We use this to generate a unique ID based on the\n// value of each item. This function is short, sweet, and good enough™ (I also\n// don't know how it works, tbqh)\n// https://stackoverflow.com/questions/6122571/simple-non-secure-hash-function-for-javascript\nexport function makeHash(str: string) {\n let hash = 0;\n if (str.length === 0) {\n return hash;\n }\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash;\n }\n return hash;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,QAAQA,CAACC,GAAW,EAAE;EACpC,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAID,GAAG,CAACE,MAAM,KAAK,CAAC,EAAE;IACpB,OAAOD,IAAI;EACb;EACA,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,GAAG,CAACE,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnC,MAAMC,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAACF,CAAC,CAAC;IAC9BF,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGG,IAAI;IAChCH,IAAI,GAAGA,IAAI,GAAGA,IAAI;EACpB;EACA,OAAOA,IAAI;AACb","ignoreList":[]}
@@ -1 +1 @@
1
- export declare function scopeQuery(nodeType: string, props: Record<string, unknown>): boolean;
1
+ export declare function scopeQuery(nodeType: string, props: Record<string, unknown>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"scopeQuery.js","names":["scopeQuery","nodeType","props"],"sources":["../../../src/ComboBox/scopeQuery.ts"],"sourcesContent":["export function scopeQuery(\r\n nodeType: string,\r\n props: Record<string, unknown>\r\n): boolean {\r\n return props['data-reach-combobox-option'] === '';\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,UAAT,CACLC,QADK,EAELC,KAFK,EAGI;EACT,OAAOA,KAAK,CAAC,4BAAD,CAAL,KAAwC,EAA/C;AACD"}
1
+ {"version":3,"file":"scopeQuery.js","names":["scopeQuery","nodeType","props"],"sources":["../../../src/ComboBox/scopeQuery.ts"],"sourcesContent":["export function scopeQuery(\n nodeType: string,\n props: Record<string, unknown>\n): boolean {\n return props['data-reach-combobox-option'] === '';\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAUA,CACxBC,QAAgB,EAChBC,KAA8B,EACrB;EACT,OAAOA,KAAK,CAAC,4BAA4B,CAAC,KAAK,EAAE;AACnD","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import type { ElementType, FC, HTMLAttributes, MutableRefObject, ReactNode } from 'react';
2
- export interface FocusLockProps extends HTMLAttributes<HTMLDivElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- children?: ReactNode;
6
- childRef: MutableRefObject<HTMLElement | null>;
7
- enabled?: boolean;
8
- }
9
- export declare const FocusLock: FC<FocusLockProps>;
1
+ import type { ElementType, FC, HTMLAttributes, MutableRefObject, ReactNode } from 'react';
2
+ export interface FocusLockProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
+ childRef: MutableRefObject<HTMLElement | null>;
7
+ enabled?: boolean;
8
+ }
9
+ export declare const FocusLock: FC<FocusLockProps>;
@@ -1,54 +1,48 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["as", "childRef", "enabled", "style", "children"];
4
1
  import { useRef } from 'react';
5
2
  import { useFocusLock } from './useFocusLock';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { Fragment as _Fragment } from "react/jsx-runtime";
8
- import { jsxs as _jsxs } from "react/jsx-runtime";
9
- export var FocusLock = function FocusLock(props) {
10
- var _props$as = props.as,
11
- Comp = _props$as === void 0 ? 'div' : _props$as,
12
- childRef = props.childRef,
13
- _props$enabled = props.enabled,
14
- enabled = _props$enabled === void 0 ? false : _props$enabled,
15
- _props$style = props.style,
16
- style = _props$style === void 0 ? {} : _props$style,
17
- children = props.children,
18
- otherProps = _objectWithoutProperties(props, _excluded);
19
-
20
- var lockStartRef = useRef(null);
21
- var lockEndRef = useRef(null);
3
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
4
+ export const FocusLock = function FocusLock(props) {
5
+ const {
6
+ as: Comp = 'div',
7
+ childRef,
8
+ enabled = false,
9
+ style = {},
10
+ children,
11
+ ...otherProps
12
+ } = props;
13
+ const lockStartRef = useRef(null);
14
+ const lockEndRef = useRef(null);
22
15
  useFocusLock(childRef, {
23
- enabled: enabled,
24
- lockStartRef: lockStartRef,
25
- lockEndRef: lockEndRef
16
+ enabled,
17
+ lockStartRef,
18
+ lockEndRef
26
19
  });
27
-
28
- var lockStyle = _extends({
20
+ const lockStyle = {
29
21
  width: 1,
30
22
  height: 0,
31
23
  padding: 0,
32
24
  overflow: 'hidden',
33
25
  position: 'fixed',
34
26
  top: 1,
35
- left: 1
36
- }, style);
37
-
27
+ left: 1,
28
+ ...style
29
+ };
38
30
  return /*#__PURE__*/_jsxs(_Fragment, {
39
- children: [/*#__PURE__*/_jsx(Comp, _extends({
31
+ children: [/*#__PURE__*/_jsx(Comp, {
40
32
  ref: lockStartRef,
41
33
  "data-focus-lock-start": "",
42
34
  "aria-hidden": true,
43
35
  tabIndex: 0,
44
- style: lockStyle
45
- }, otherProps)), children, /*#__PURE__*/_jsx(Comp, _extends({
36
+ style: lockStyle,
37
+ ...otherProps
38
+ }), children, /*#__PURE__*/_jsx(Comp, {
46
39
  ref: lockEndRef,
47
40
  "data-focus-lock-end": "",
48
41
  "aria-hidden": true,
49
42
  tabIndex: 0,
50
- style: lockStyle
51
- }, otherProps))]
43
+ style: lockStyle,
44
+ ...otherProps
45
+ })]
52
46
  });
53
47
  };
54
48
  //# sourceMappingURL=FocusLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FocusLock.js","names":["useRef","useFocusLock","FocusLock","props","as","Comp","childRef","enabled","style","children","otherProps","lockStartRef","lockEndRef","lockStyle","width","height","padding","overflow","position","top","left"],"sources":["../../../src/FocusLock/FocusLock.tsx"],"sourcesContent":["import type {\r\n ElementType,\r\n FC,\r\n HTMLAttributes,\r\n MutableRefObject,\r\n ReactNode,\r\n} from 'react';\r\nimport { useRef } from 'react';\r\n\r\nimport { useFocusLock } from './useFocusLock';\r\n\r\nexport interface FocusLockProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n childRef: MutableRefObject<HTMLElement | null>;\r\n enabled?: boolean;\r\n}\r\n\r\nexport const FocusLock: FC<FocusLockProps> = function FocusLock(props) {\r\n const {\r\n as: Comp = 'div',\r\n childRef,\r\n enabled = false,\r\n style = {},\r\n children,\r\n ...otherProps\r\n } = props;\r\n const lockStartRef = useRef<HTMLElement>(null);\r\n const lockEndRef = useRef<HTMLElement>(null);\r\n\r\n useFocusLock(childRef, { enabled, lockStartRef, lockEndRef });\r\n\r\n const lockStyle = {\r\n width: 1,\r\n height: 0,\r\n padding: 0,\r\n overflow: 'hidden',\r\n position: 'fixed',\r\n top: 1,\r\n left: 1,\r\n ...style,\r\n };\r\n\r\n return (\r\n <>\r\n <Comp\r\n ref={lockStartRef}\r\n data-focus-lock-start=\"\"\r\n aria-hidden={true}\r\n tabIndex={0}\r\n style={lockStyle}\r\n {...otherProps}\r\n />\r\n {children}\r\n <Comp\r\n ref={lockEndRef}\r\n data-focus-lock-end=\"\"\r\n aria-hidden={true}\r\n tabIndex={0}\r\n style={lockStyle}\r\n {...otherProps}\r\n />\r\n </>\r\n );\r\n};\r\n"],"mappings":";;;AAOA,SAASA,MAAT,QAAuB,OAAvB;AAEA,SAASC,YAAT,QAA6B,gBAA7B;;;;AAUA,OAAO,IAAMC,SAA6B,GAAG,SAASA,SAAT,CAAmBC,KAAnB,EAA0B;EACrE,gBAOIA,KAPJ,CACEC,EADF;EAAA,IACMC,IADN,0BACa,KADb;EAAA,IAEEC,QAFF,GAOIH,KAPJ,CAEEG,QAFF;EAAA,qBAOIH,KAPJ,CAGEI,OAHF;EAAA,IAGEA,OAHF,+BAGY,KAHZ;EAAA,mBAOIJ,KAPJ,CAIEK,KAJF;EAAA,IAIEA,KAJF,6BAIU,EAJV;EAAA,IAKEC,QALF,GAOIN,KAPJ,CAKEM,QALF;EAAA,IAMKC,UANL,4BAOIP,KAPJ;;EAQA,IAAMQ,YAAY,GAAGX,MAAM,CAAc,IAAd,CAA3B;EACA,IAAMY,UAAU,GAAGZ,MAAM,CAAc,IAAd,CAAzB;EAEAC,YAAY,CAACK,QAAD,EAAW;IAAEC,OAAO,EAAPA,OAAF;IAAWI,YAAY,EAAZA,YAAX;IAAyBC,UAAU,EAAVA;EAAzB,CAAX,CAAZ;;EAEA,IAAMC,SAAS;IACbC,KAAK,EAAE,CADM;IAEbC,MAAM,EAAE,CAFK;IAGbC,OAAO,EAAE,CAHI;IAIbC,QAAQ,EAAE,QAJG;IAKbC,QAAQ,EAAE,OALG;IAMbC,GAAG,EAAE,CANQ;IAObC,IAAI,EAAE;EAPO,GAQVZ,KARU,CAAf;;EAWA,oBACE;IAAA,wBACE,KAAC,IAAD;MACE,GAAG,EAAEG,YADP;MAEE,yBAAsB,EAFxB;MAGE,eAAa,IAHf;MAIE,QAAQ,EAAE,CAJZ;MAKE,KAAK,EAAEE;IALT,GAMMH,UANN,EADF,EASGD,QATH,eAUE,KAAC,IAAD;MACE,GAAG,EAAEG,UADP;MAEE,uBAAoB,EAFtB;MAGE,eAAa,IAHf;MAIE,QAAQ,EAAE,CAJZ;MAKE,KAAK,EAAEC;IALT,GAMMH,UANN,EAVF;EAAA,EADF;AAqBD,CA9CM"}
1
+ {"version":3,"file":"FocusLock.js","names":["useRef","useFocusLock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FocusLock","props","as","Comp","childRef","enabled","style","children","otherProps","lockStartRef","lockEndRef","lockStyle","width","height","padding","overflow","position","top","left","ref","tabIndex"],"sources":["../../../src/FocusLock/FocusLock.tsx"],"sourcesContent":["import type {\n ElementType,\n FC,\n HTMLAttributes,\n MutableRefObject,\n ReactNode,\n} from 'react';\nimport { useRef } from 'react';\n\nimport { useFocusLock } from './useFocusLock';\n\nexport interface FocusLockProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n childRef: MutableRefObject<HTMLElement | null>;\n enabled?: boolean;\n}\n\nexport const FocusLock: FC<FocusLockProps> = function FocusLock(props) {\n const {\n as: Comp = 'div',\n childRef,\n enabled = false,\n style = {},\n children,\n ...otherProps\n } = props;\n const lockStartRef = useRef<HTMLElement>(null);\n const lockEndRef = useRef<HTMLElement>(null);\n\n useFocusLock(childRef, { enabled, lockStartRef, lockEndRef });\n\n const lockStyle = {\n width: 1,\n height: 0,\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: 1,\n left: 1,\n ...style,\n };\n\n return (\n <>\n <Comp\n ref={lockStartRef}\n data-focus-lock-start=\"\"\n aria-hidden={true}\n tabIndex={0}\n style={lockStyle}\n {...otherProps}\n />\n {children}\n <Comp\n ref={lockEndRef}\n data-focus-lock-end=\"\"\n aria-hidden={true}\n tabIndex={0}\n style={lockStyle}\n {...otherProps}\n />\n </>\n );\n};\n"],"mappings":"AAOA,SAASA,MAAM,QAAQ,OAAO;AAE9B,SAASC,YAAY,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAU9C,OAAO,MAAMC,SAA6B,GAAG,SAASA,SAASA,CAACC,KAAK,EAAE;EACrE,MAAM;IACJC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAChBC,QAAQ;IACRC,OAAO,GAAG,KAAK;IACfC,KAAK,GAAG,CAAC,CAAC;IACVC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAGP,KAAK;EACT,MAAMQ,YAAY,GAAGjB,MAAM,CAAc,IAAI,CAAC;EAC9C,MAAMkB,UAAU,GAAGlB,MAAM,CAAc,IAAI,CAAC;EAE5CC,YAAY,CAACW,QAAQ,EAAE;IAAEC,OAAO;IAAEI,YAAY;IAAEC;EAAW,CAAC,CAAC;EAE7D,MAAMC,SAAS,GAAG;IAChBC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE,OAAO;IACjBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACP,GAAGZ;EACL,CAAC;EAED,oBACEP,KAAA,CAAAF,SAAA;IAAAU,QAAA,gBACEZ,IAAA,CAACQ,IAAI;MACHgB,GAAG,EAAEV,YAAa;MAClB,yBAAsB,EAAE;MACxB,eAAa,IAAK;MAClBW,QAAQ,EAAE,CAAE;MACZd,KAAK,EAAEK,SAAU;MAAA,GACbH;IAAU,CACf,CAAC,EACDD,QAAQ,eACTZ,IAAA,CAACQ,IAAI;MACHgB,GAAG,EAAET,UAAW;MAChB,uBAAoB,EAAE;MACtB,eAAa,IAAK;MAClBU,QAAQ,EAAE,CAAE;MACZd,KAAK,EAAEK,SAAU;MAAA,GACbH;IAAU,CACf,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- export * from './FocusLock';
1
+ export * from './FocusLock';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/FocusLock/index.ts"],"sourcesContent":["export * from './FocusLock';\r\n"],"mappings":"AAAA,cAAc,aAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/FocusLock/index.ts"],"sourcesContent":["export * from './FocusLock';\n"],"mappings":"AAAA,cAAc,aAAa","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- export declare const tabblable: string;
2
- export declare const getTabblableNodes: (parentNode: HTMLElement | null) => HTMLElement[];
3
- export declare function focusOnChildNode(parentNode: HTMLElement, itemIndex: 0 | -1): void;
1
+ export declare const tabblable: string;
2
+ export declare const getTabblableNodes: (parentNode: HTMLElement | null) => HTMLElement[];
3
+ export declare function focusOnChildNode(parentNode: HTMLElement, itemIndex: 0 | -1): void;
@@ -1,20 +1,18 @@
1
- export var tabblable = ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'].join(',');
2
- /* This is naive and will not consider tabIndex */
1
+ export const tabblable = ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'].join(',');
3
2
 
4
- export var getTabblableNodes = function getTabblableNodes(parentNode) {
3
+ /* This is naive and will not consider tabIndex */
4
+ export const getTabblableNodes = parentNode => {
5
5
  if (!parentNode) {
6
6
  return [];
7
7
  }
8
-
9
8
  return Array.from(parentNode.querySelectorAll(tabblable));
10
9
  };
11
10
  export function focusOnChildNode(parentNode, itemIndex) {
12
- var elements = getTabblableNodes(parentNode);
13
-
11
+ const elements = getTabblableNodes(parentNode);
14
12
  if (elements.length > 0) {
15
13
  elements[itemIndex === -1 ? elements.length - 1 : 0].focus();
16
14
  } else {
17
- var currentTabIndex = parentNode.tabIndex;
15
+ const currentTabIndex = parentNode.tabIndex;
18
16
  parentNode.tabIndex = 0;
19
17
  parentNode.focus();
20
18
  parentNode.tabIndex = currentTabIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"tabUtils.js","names":["tabblable","join","getTabblableNodes","parentNode","Array","from","querySelectorAll","focusOnChildNode","itemIndex","elements","length","focus","currentTabIndex","tabIndex"],"sources":["../../../src/FocusLock/tabUtils.ts"],"sourcesContent":["export const tabblable = [\r\n 'button:enabled:not([readonly])',\r\n 'select:enabled:not([readonly])',\r\n 'textarea:enabled:not([readonly])',\r\n 'input:enabled:not([readonly])',\r\n\r\n 'a[href]',\r\n 'area[href]',\r\n\r\n 'iframe',\r\n 'object',\r\n 'embed',\r\n\r\n '[tabindex]',\r\n '[contenteditable]',\r\n '[autofocus]',\r\n].join(',');\r\n\r\n/* This is naive and will not consider tabIndex */\r\nexport const getTabblableNodes = (\r\n parentNode: HTMLElement | null\r\n): HTMLElement[] => {\r\n if (!parentNode) {\r\n return [];\r\n }\r\n\r\n return Array.from(parentNode.querySelectorAll(tabblable));\r\n};\r\n\r\nexport function focusOnChildNode(parentNode: HTMLElement, itemIndex: 0 | -1) {\r\n const elements = getTabblableNodes(parentNode);\r\n if (elements.length > 0) {\r\n elements[itemIndex === -1 ? elements.length - 1 : 0].focus();\r\n } else {\r\n const currentTabIndex = parentNode.tabIndex;\r\n parentNode.tabIndex = 0;\r\n parentNode.focus();\r\n parentNode.tabIndex = currentTabIndex;\r\n }\r\n}\r\n"],"mappings":"AAAA,OAAO,IAAMA,SAAS,GAAG,CACvB,gCADuB,EAEvB,gCAFuB,EAGvB,kCAHuB,EAIvB,+BAJuB,EAMvB,SANuB,EAOvB,YAPuB,EASvB,QATuB,EAUvB,QAVuB,EAWvB,OAXuB,EAavB,YAbuB,EAcvB,mBAduB,EAevB,aAfuB,EAgBvBC,IAhBuB,CAgBlB,GAhBkB,CAAlB;AAkBP;;AACA,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,UAD+B,EAEb;EAClB,IAAI,CAACA,UAAL,EAAiB;IACf,OAAO,EAAP;EACD;;EAED,OAAOC,KAAK,CAACC,IAAN,CAAWF,UAAU,CAACG,gBAAX,CAA4BN,SAA5B,CAAX,CAAP;AACD,CARM;AAUP,OAAO,SAASO,gBAAT,CAA0BJ,UAA1B,EAAmDK,SAAnD,EAAsE;EAC3E,IAAMC,QAAQ,GAAGP,iBAAiB,CAACC,UAAD,CAAlC;;EACA,IAAIM,QAAQ,CAACC,MAAT,GAAkB,CAAtB,EAAyB;IACvBD,QAAQ,CAACD,SAAS,KAAK,CAAC,CAAf,GAAmBC,QAAQ,CAACC,MAAT,GAAkB,CAArC,GAAyC,CAA1C,CAAR,CAAqDC,KAArD;EACD,CAFD,MAEO;IACL,IAAMC,eAAe,GAAGT,UAAU,CAACU,QAAnC;IACAV,UAAU,CAACU,QAAX,GAAsB,CAAtB;IACAV,UAAU,CAACQ,KAAX;IACAR,UAAU,CAACU,QAAX,GAAsBD,eAAtB;EACD;AACF"}
1
+ {"version":3,"file":"tabUtils.js","names":["tabblable","join","getTabblableNodes","parentNode","Array","from","querySelectorAll","focusOnChildNode","itemIndex","elements","length","focus","currentTabIndex","tabIndex"],"sources":["../../../src/FocusLock/tabUtils.ts"],"sourcesContent":["export const tabblable = [\n 'button:enabled:not([readonly])',\n 'select:enabled:not([readonly])',\n 'textarea:enabled:not([readonly])',\n 'input:enabled:not([readonly])',\n\n 'a[href]',\n 'area[href]',\n\n 'iframe',\n 'object',\n 'embed',\n\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n].join(',');\n\n/* This is naive and will not consider tabIndex */\nexport const getTabblableNodes = (\n parentNode: HTMLElement | null\n): HTMLElement[] => {\n if (!parentNode) {\n return [];\n }\n\n return Array.from(parentNode.querySelectorAll(tabblable));\n};\n\nexport function focusOnChildNode(parentNode: HTMLElement, itemIndex: 0 | -1) {\n const elements = getTabblableNodes(parentNode);\n if (elements.length > 0) {\n elements[itemIndex === -1 ? elements.length - 1 : 0].focus();\n } else {\n const currentTabIndex = parentNode.tabIndex;\n parentNode.tabIndex = 0;\n parentNode.focus();\n parentNode.tabIndex = currentTabIndex;\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG,CACvB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,+BAA+B,EAE/B,SAAS,EACT,YAAY,EAEZ,QAAQ,EACR,QAAQ,EACR,OAAO,EAEP,YAAY,EACZ,mBAAmB,EACnB,aAAa,CACd,CAACC,IAAI,CAAC,GAAG,CAAC;;AAEX;AACA,OAAO,MAAMC,iBAAiB,GAC5BC,UAA8B,IACZ;EAClB,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,EAAE;EACX;EAEA,OAAOC,KAAK,CAACC,IAAI,CAACF,UAAU,CAACG,gBAAgB,CAACN,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,OAAO,SAASO,gBAAgBA,CAACJ,UAAuB,EAAEK,SAAiB,EAAE;EAC3E,MAAMC,QAAQ,GAAGP,iBAAiB,CAACC,UAAU,CAAC;EAC9C,IAAIM,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;IACvBD,QAAQ,CAACD,SAAS,KAAK,CAAC,CAAC,GAAGC,QAAQ,CAACC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EAC9D,CAAC,MAAM;IACL,MAAMC,eAAe,GAAGT,UAAU,CAACU,QAAQ;IAC3CV,UAAU,CAACU,QAAQ,GAAG,CAAC;IACvBV,UAAU,CAACQ,KAAK,CAAC,CAAC;IAClBR,UAAU,CAACU,QAAQ,GAAGD,eAAe;EACvC;AACF","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { MutableRefObject } from 'react';
2
- export interface FocusLockOptions {
3
- enabled: boolean;
4
- lockStartRef: MutableRefObject<HTMLElement | null>;
5
- lockEndRef: MutableRefObject<HTMLElement | null>;
6
- }
7
- export declare function useFocusLock(ref: MutableRefObject<HTMLElement | null>, opts: FocusLockOptions): void;
1
+ import type { MutableRefObject } from 'react';
2
+ export interface FocusLockOptions {
3
+ enabled: boolean;
4
+ lockStartRef: MutableRefObject<HTMLElement | null>;
5
+ lockEndRef: MutableRefObject<HTMLElement | null>;
6
+ }
7
+ export declare function useFocusLock(ref: MutableRefObject<HTMLElement | null>, opts: FocusLockOptions): void;
@@ -1,25 +1,22 @@
1
1
  import { useEffect } from 'react';
2
2
  import { focusOnChildNode } from './tabUtils';
3
- var focusLockStack = [];
3
+ const focusLockStack = [];
4
4
  export function useFocusLock(ref, opts) {
5
- var _opts$enabled = opts.enabled,
6
- enabled = _opts$enabled === void 0 ? true : _opts$enabled,
7
- lockStartRef = opts.lockStartRef,
8
- lockEndRef = opts.lockEndRef;
9
- useEffect(function () {
10
- var rootEl = ref.current;
11
-
5
+ const {
6
+ enabled = true,
7
+ lockStartRef,
8
+ lockEndRef
9
+ } = opts;
10
+ useEffect(() => {
11
+ const rootEl = ref.current;
12
12
  if (enabled && rootEl) {
13
13
  focusLockStack.push(rootEl);
14
-
15
- var listener = function listener(event) {
16
- var isActiveFocusLock = focusLockStack[focusLockStack.length - 1] === rootEl;
17
-
14
+ const listener = event => {
15
+ const isActiveFocusLock = focusLockStack[focusLockStack.length - 1] === rootEl;
18
16
  if (!isActiveFocusLock) {
19
17
  // Not the currently focused lock. Forget about it.
20
18
  return;
21
19
  }
22
-
23
20
  if (event.target === lockEndRef.current) {
24
21
  focusOnChildNode(rootEl, 0);
25
22
  } else if (event.target === lockStartRef.current) {
@@ -29,15 +26,13 @@ export function useFocusLock(ref, opts) {
29
26
  focusOnChildNode(rootEl, 0);
30
27
  }
31
28
  };
32
-
33
29
  document.addEventListener('focusin', listener);
34
- return function () {
35
- document.removeEventListener('focusin', listener); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36
-
30
+ return () => {
31
+ document.removeEventListener('focusin', listener);
37
32
  focusLockStack.pop();
38
33
  };
39
- } // eslint-disable-next-line react-hooks/exhaustive-deps
40
-
34
+ }
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
41
36
  }, [enabled]);
42
37
  }
43
38
  //# sourceMappingURL=useFocusLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusLock.js","names":["useEffect","focusOnChildNode","focusLockStack","useFocusLock","ref","opts","enabled","lockStartRef","lockEndRef","rootEl","current","push","listener","event","isActiveFocusLock","length","target","document","contains","preventDefault","addEventListener","removeEventListener","pop"],"sources":["../../../src/FocusLock/useFocusLock.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\r\nimport { useEffect } from 'react';\r\n\r\nimport { focusOnChildNode } from './tabUtils';\r\n\r\nexport interface FocusLockOptions {\r\n enabled: boolean;\r\n lockStartRef: MutableRefObject<HTMLElement | null>;\r\n lockEndRef: MutableRefObject<HTMLElement | null>;\r\n}\r\n\r\nconst focusLockStack: HTMLElement[] = [];\r\nexport function useFocusLock(\r\n ref: MutableRefObject<HTMLElement | null>,\r\n opts: FocusLockOptions\r\n) {\r\n const { enabled = true, lockStartRef, lockEndRef } = opts;\r\n\r\n useEffect(() => {\r\n const rootEl = ref.current;\r\n if (enabled && rootEl) {\r\n focusLockStack.push(rootEl);\r\n\r\n const listener = (event: FocusEvent) => {\r\n const isActiveFocusLock =\r\n focusLockStack[focusLockStack.length - 1] === rootEl;\r\n if (!isActiveFocusLock) {\r\n // Not the currently focused lock. Forget about it.\r\n return;\r\n }\r\n\r\n if (event.target === lockEndRef.current) {\r\n focusOnChildNode(rootEl, 0);\r\n } else if (event.target === lockStartRef.current) {\r\n focusOnChildNode(rootEl, -1);\r\n } else if (\r\n document !== event.target &&\r\n rootEl !== event.target &&\r\n !rootEl.contains(event.target as any)\r\n ) {\r\n event.preventDefault();\r\n focusOnChildNode(rootEl, 0);\r\n }\r\n };\r\n\r\n document.addEventListener('focusin', listener);\r\n return () => {\r\n document.removeEventListener('focusin', listener);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n focusLockStack.pop();\r\n };\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [enabled]);\r\n}\r\n"],"mappings":"AACA,SAASA,SAAT,QAA0B,OAA1B;AAEA,SAASC,gBAAT,QAAiC,YAAjC;AAQA,IAAMC,cAA6B,GAAG,EAAtC;AACA,OAAO,SAASC,YAAT,CACLC,GADK,EAELC,IAFK,EAGL;EACA,oBAAqDA,IAArD,CAAQC,OAAR;EAAA,IAAQA,OAAR,8BAAkB,IAAlB;EAAA,IAAwBC,YAAxB,GAAqDF,IAArD,CAAwBE,YAAxB;EAAA,IAAsCC,UAAtC,GAAqDH,IAArD,CAAsCG,UAAtC;EAEAR,SAAS,CAAC,YAAM;IACd,IAAMS,MAAM,GAAGL,GAAG,CAACM,OAAnB;;IACA,IAAIJ,OAAO,IAAIG,MAAf,EAAuB;MACrBP,cAAc,CAACS,IAAf,CAAoBF,MAApB;;MAEA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAuB;QACtC,IAAMC,iBAAiB,GACrBZ,cAAc,CAACA,cAAc,CAACa,MAAf,GAAwB,CAAzB,CAAd,KAA8CN,MADhD;;QAEA,IAAI,CAACK,iBAAL,EAAwB;UACtB;UACA;QACD;;QAED,IAAID,KAAK,CAACG,MAAN,KAAiBR,UAAU,CAACE,OAAhC,EAAyC;UACvCT,gBAAgB,CAACQ,MAAD,EAAS,CAAT,CAAhB;QACD,CAFD,MAEO,IAAII,KAAK,CAACG,MAAN,KAAiBT,YAAY,CAACG,OAAlC,EAA2C;UAChDT,gBAAgB,CAACQ,MAAD,EAAS,CAAC,CAAV,CAAhB;QACD,CAFM,MAEA,IACLQ,QAAQ,KAAKJ,KAAK,CAACG,MAAnB,IACAP,MAAM,KAAKI,KAAK,CAACG,MADjB,IAEA,CAACP,MAAM,CAACS,QAAP,CAAgBL,KAAK,CAACG,MAAtB,CAHI,EAIL;UACAH,KAAK,CAACM,cAAN;UACAlB,gBAAgB,CAACQ,MAAD,EAAS,CAAT,CAAhB;QACD;MACF,CApBD;;MAsBAQ,QAAQ,CAACG,gBAAT,CAA0B,SAA1B,EAAqCR,QAArC;MACA,OAAO,YAAM;QACXK,QAAQ,CAACI,mBAAT,CAA6B,SAA7B,EAAwCT,QAAxC,EADW,CAGX;;QACAV,cAAc,CAACoB,GAAf;MACD,CALD;IAMD,CAlCa,CAmCd;;EACD,CApCQ,EAoCN,CAAChB,OAAD,CApCM,CAAT;AAqCD"}
1
+ {"version":3,"file":"useFocusLock.js","names":["useEffect","focusOnChildNode","focusLockStack","useFocusLock","ref","opts","enabled","lockStartRef","lockEndRef","rootEl","current","push","listener","event","isActiveFocusLock","length","target","document","contains","preventDefault","addEventListener","removeEventListener","pop"],"sources":["../../../src/FocusLock/useFocusLock.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\nimport { useEffect } from 'react';\n\nimport { focusOnChildNode } from './tabUtils';\n\nexport interface FocusLockOptions {\n enabled: boolean;\n lockStartRef: MutableRefObject<HTMLElement | null>;\n lockEndRef: MutableRefObject<HTMLElement | null>;\n}\n\nconst focusLockStack: HTMLElement[] = [];\nexport function useFocusLock(\n ref: MutableRefObject<HTMLElement | null>,\n opts: FocusLockOptions\n) {\n const { enabled = true, lockStartRef, lockEndRef } = opts;\n\n useEffect(() => {\n const rootEl = ref.current;\n if (enabled && rootEl) {\n focusLockStack.push(rootEl);\n\n const listener = (event: FocusEvent) => {\n const isActiveFocusLock =\n focusLockStack[focusLockStack.length - 1] === rootEl;\n if (!isActiveFocusLock) {\n // Not the currently focused lock. Forget about it.\n return;\n }\n\n if (event.target === lockEndRef.current) {\n focusOnChildNode(rootEl, 0);\n } else if (event.target === lockStartRef.current) {\n focusOnChildNode(rootEl, -1);\n } else if (\n document !== event.target &&\n rootEl !== event.target &&\n !rootEl.contains(event.target as any)\n ) {\n event.preventDefault();\n focusOnChildNode(rootEl, 0);\n }\n };\n\n document.addEventListener('focusin', listener);\n return () => {\n document.removeEventListener('focusin', listener);\n\n focusLockStack.pop();\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled]);\n}\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,gBAAgB,QAAQ,YAAY;AAQ7C,MAAMC,cAA6B,GAAG,EAAE;AACxC,OAAO,SAASC,YAAYA,CAC1BC,GAAyC,EACzCC,IAAsB,EACtB;EACA,MAAM;IAAEC,OAAO,GAAG,IAAI;IAAEC,YAAY;IAAEC;EAAW,CAAC,GAAGH,IAAI;EAEzDL,SAAS,CAAC,MAAM;IACd,MAAMS,MAAM,GAAGL,GAAG,CAACM,OAAO;IAC1B,IAAIJ,OAAO,IAAIG,MAAM,EAAE;MACrBP,cAAc,CAACS,IAAI,CAACF,MAAM,CAAC;MAE3B,MAAMG,QAAQ,GAAIC,KAAiB,IAAK;QACtC,MAAMC,iBAAiB,GACrBZ,cAAc,CAACA,cAAc,CAACa,MAAM,GAAG,CAAC,CAAC,KAAKN,MAAM;QACtD,IAAI,CAACK,iBAAiB,EAAE;UACtB;UACA;QACF;QAEA,IAAID,KAAK,CAACG,MAAM,KAAKR,UAAU,CAACE,OAAO,EAAE;UACvCT,gBAAgB,CAACQ,MAAM,EAAE,CAAC,CAAC;QAC7B,CAAC,MAAM,IAAII,KAAK,CAACG,MAAM,KAAKT,YAAY,CAACG,OAAO,EAAE;UAChDT,gBAAgB,CAACQ,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,MAAM,IACLQ,QAAQ,KAAKJ,KAAK,CAACG,MAAM,IACzBP,MAAM,KAAKI,KAAK,CAACG,MAAM,IACvB,CAACP,MAAM,CAACS,QAAQ,CAACL,KAAK,CAACG,MAAa,CAAC,EACrC;UACAH,KAAK,CAACM,cAAc,CAAC,CAAC;UACtBlB,gBAAgB,CAACQ,MAAM,EAAE,CAAC,CAAC;QAC7B;MACF,CAAC;MAEDQ,QAAQ,CAACG,gBAAgB,CAAC,SAAS,EAAER,QAAQ,CAAC;MAC9C,OAAO,MAAM;QACXK,QAAQ,CAACI,mBAAmB,CAAC,SAAS,EAAET,QAAQ,CAAC;QAEjDV,cAAc,CAACoB,GAAG,CAAC,CAAC;MACtB,CAAC;IACH;IACA;EACF,CAAC,EAAE,CAAChB,OAAO,CAAC,CAAC;AACf","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
- export interface ListProps extends HTMLAttributes<HTMLUListElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- children?: ReactNode;
6
- }
7
- export declare const List: import("react").ForwardRefExoticComponent<ListProps & import("react").RefAttributes<HTMLUListElement>>;
1
+ import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ export interface ListProps extends HTMLAttributes<HTMLUListElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const List: import("react").ForwardRefExoticComponent<ListProps & import("react").RefAttributes<HTMLUListElement>>;
@@ -1,15 +1,13 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["as"];
4
1
  import { forwardRef } from 'react';
5
2
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export var List = /*#__PURE__*/forwardRef(function List(props, forwardedRef) {
7
- var _props$as = props.as,
8
- Comp = _props$as === void 0 ? 'ul' : _props$as,
9
- otherProps = _objectWithoutProperties(props, _excluded);
10
-
11
- return /*#__PURE__*/_jsx(Comp, _extends({
12
- ref: forwardedRef
13
- }, otherProps));
3
+ export const List = /*#__PURE__*/forwardRef(function List(props, forwardedRef) {
4
+ const {
5
+ as: Comp = 'ul',
6
+ ...otherProps
7
+ } = props;
8
+ return /*#__PURE__*/_jsx(Comp, {
9
+ ref: forwardedRef,
10
+ ...otherProps
11
+ });
14
12
  });
15
13
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","names":["forwardRef","List","props","forwardedRef","as","Comp","otherProps"],"sources":["../../../src/List/List.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nexport interface ListProps extends HTMLAttributes<HTMLUListElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const List = forwardRef<HTMLUListElement, ListProps>(function List(\r\n props,\r\n forwardedRef\r\n) {\r\n const { as: Comp = 'ul', ...otherProps } = props;\r\n\r\n return <Comp ref={forwardedRef} {...otherProps} />;\r\n});\r\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;;AAQA,OAAO,IAAMC,IAAI,gBAAGD,UAAU,CAA8B,SAASC,IAAT,CAC1DC,KAD0D,EAE1DC,YAF0D,EAG1D;EACA,gBAA2CD,KAA3C,CAAQE,EAAR;EAAA,IAAYC,IAAZ,0BAAmB,IAAnB;EAAA,IAA4BC,UAA5B,4BAA2CJ,KAA3C;;EAEA,oBAAO,KAAC,IAAD;IAAM,GAAG,EAAEC;EAAX,GAA6BG,UAA7B,EAAP;AACD,CAP6B,CAAvB"}
1
+ {"version":3,"file":"List.js","names":["forwardRef","jsx","_jsx","List","props","forwardedRef","as","Comp","otherProps","ref"],"sources":["../../../src/List/List.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nexport interface ListProps extends HTMLAttributes<HTMLUListElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const List = forwardRef<HTMLUListElement, ListProps>(function List(\n props,\n forwardedRef\n) {\n const { as: Comp = 'ul', ...otherProps } = props;\n\n return <Comp ref={forwardedRef} {...otherProps} />;\n});\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQnC,OAAO,MAAMC,IAAI,gBAAGH,UAAU,CAA8B,SAASG,IAAIA,CACvEC,KAAK,EACLC,YAAY,EACZ;EACA,MAAM;IAAEC,EAAE,EAAEC,IAAI,GAAG,IAAI;IAAE,GAAGC;EAAW,CAAC,GAAGJ,KAAK;EAEhD,oBAAOF,IAAA,CAACK,IAAI;IAACE,GAAG,EAAEJ,YAAa;IAAA,GAAKG;EAAU,CAAG,CAAC;AACpD,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
- export interface ListItemProps extends HTMLAttributes<HTMLLIElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- children?: ReactNode;
6
- }
7
- export declare const ListItem: import("react").ForwardRefExoticComponent<ListItemProps & import("react").RefAttributes<HTMLLIElement>>;
1
+ import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ export interface ListItemProps extends HTMLAttributes<HTMLLIElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const ListItem: import("react").ForwardRefExoticComponent<ListItemProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -1,17 +1,15 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["as"];
4
1
  import { forwardRef } from 'react';
5
2
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export var ListItem = /*#__PURE__*/forwardRef(function ListItem(props, forwardedRef) {
7
- var _props$as = props.as,
8
- Comp = _props$as === void 0 ? 'li' : _props$as,
9
- otherProps = _objectWithoutProperties(props, _excluded);
10
-
11
- return /*#__PURE__*/_jsx(Comp, _extends({
3
+ export const ListItem = /*#__PURE__*/forwardRef(function ListItem(props, forwardedRef) {
4
+ const {
5
+ as: Comp = 'li',
6
+ ...otherProps
7
+ } = props;
8
+ return /*#__PURE__*/_jsx(Comp, {
12
9
  tabIndex: -1,
13
10
  "data-list-item": "",
14
- ref: forwardedRef
15
- }, otherProps));
11
+ ref: forwardedRef,
12
+ ...otherProps
13
+ });
16
14
  });
17
15
  //# sourceMappingURL=ListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","names":["forwardRef","ListItem","props","forwardedRef","as","Comp","otherProps"],"sources":["../../../src/List/ListItem.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nexport interface ListItemProps extends HTMLAttributes<HTMLLIElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const ListItem = forwardRef<HTMLLIElement, ListItemProps>(\r\n function ListItem(props, forwardedRef) {\r\n const { as: Comp = 'li', ...otherProps } = props;\r\n\r\n return (\r\n <Comp\r\n tabIndex={-1}\r\n data-list-item=\"\"\r\n ref={forwardedRef}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;;AAQA,OAAO,IAAMC,QAAQ,gBAAGD,UAAU,CAChC,SAASC,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;EACrC,gBAA2CD,KAA3C,CAAQE,EAAR;EAAA,IAAYC,IAAZ,0BAAmB,IAAnB;EAAA,IAA4BC,UAA5B,4BAA2CJ,KAA3C;;EAEA,oBACE,KAAC,IAAD;IACE,QAAQ,EAAE,CAAC,CADb;IAEE,kBAAe,EAFjB;IAGE,GAAG,EAAEC;EAHP,GAIMG,UAJN,EADF;AAQD,CAZ+B,CAA3B"}
1
+ {"version":3,"file":"ListItem.js","names":["forwardRef","jsx","_jsx","ListItem","props","forwardedRef","as","Comp","otherProps","tabIndex","ref"],"sources":["../../../src/List/ListItem.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nexport interface ListItemProps extends HTMLAttributes<HTMLLIElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const ListItem = forwardRef<HTMLLIElement, ListItemProps>(\n function ListItem(props, forwardedRef) {\n const { as: Comp = 'li', ...otherProps } = props;\n\n return (\n <Comp\n tabIndex={-1}\n data-list-item=\"\"\n ref={forwardedRef}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQnC,OAAO,MAAMC,QAAQ,gBAAGH,UAAU,CAChC,SAASG,QAAQA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACrC,MAAM;IAAEC,EAAE,EAAEC,IAAI,GAAG,IAAI;IAAE,GAAGC;EAAW,CAAC,GAAGJ,KAAK;EAEhD,oBACEF,IAAA,CAACK,IAAI;IACHE,QAAQ,EAAE,CAAC,CAAE;IACb,kBAAe,EAAE;IACjBC,GAAG,EAAEL,YAAa;IAAA,GACdG;EAAU,CACf,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export interface ListContextProps {
2
- id: string | undefined;
3
- }
4
- export declare const useListContext: () => ListContextProps;
1
+ export interface ListContextProps {
2
+ id: string | undefined;
3
+ }
4
+ export declare const useListContext: () => ListContextProps;
@@ -1,14 +1,14 @@
1
- import { createContext, useContext } from 'react'; // List Component
1
+ import { createContext, useContext } from 'react';
2
2
 
3
- var ListContext = /*#__PURE__*/createContext(null);
4
- ListContext.displayName = 'ListContext';
5
- export var useListContext = function useListContext() {
6
- var ctx = useContext(ListContext);
3
+ // List Component
7
4
 
5
+ const ListContext = /*#__PURE__*/createContext(null);
6
+ ListContext.displayName = 'ListContext';
7
+ export const useListContext = () => {
8
+ const ctx = useContext(ListContext);
8
9
  if (!ctx) {
9
10
  throw new Error('useListContext must be used within a ListContext.Provider');
10
11
  }
11
-
12
12
  return ctx;
13
13
  };
14
14
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","ListContext","displayName","useListContext","ctx","Error"],"sources":["../../../src/List/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\r\n\r\n// List Component\r\nexport interface ListContextProps {\r\n id: string | undefined;\r\n}\r\n\r\nconst ListContext = createContext<ListContextProps | null>(null);\r\nListContext.displayName = 'ListContext';\r\n\r\nexport const useListContext = (): ListContextProps => {\r\n const ctx = useContext(ListContext);\r\n if (!ctx) {\r\n throw new Error(\r\n 'useListContext must be used within a ListContext.Provider'\r\n );\r\n }\r\n return ctx;\r\n};\r\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C,C,CAEA;;AAKA,IAAMC,WAAW,gBAAGF,aAAa,CAA0B,IAA1B,CAAjC;AACAE,WAAW,CAACC,WAAZ,GAA0B,aAA1B;AAEA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAwB;EACpD,IAAMC,GAAG,GAAGJ,UAAU,CAACC,WAAD,CAAtB;;EACA,IAAI,CAACG,GAAL,EAAU;IACR,MAAM,IAAIC,KAAJ,CACJ,2DADI,CAAN;EAGD;;EACD,OAAOD,GAAP;AACD,CARM"}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","ListContext","displayName","useListContext","ctx","Error"],"sources":["../../../src/List/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n// List Component\nexport interface ListContextProps {\n id: string | undefined;\n}\n\nconst ListContext = createContext<ListContextProps | null>(null);\nListContext.displayName = 'ListContext';\n\nexport const useListContext = (): ListContextProps => {\n const ctx = useContext(ListContext);\n if (!ctx) {\n throw new Error(\n 'useListContext must be used within a ListContext.Provider'\n );\n }\n return ctx;\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAEjD;;AAKA,MAAMC,WAAW,gBAAGF,aAAa,CAA0B,IAAI,CAAC;AAChEE,WAAW,CAACC,WAAW,GAAG,aAAa;AAEvC,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAwB;EACpD,MAAMC,GAAG,GAAGJ,UAAU,CAACC,WAAW,CAAC;EACnC,IAAI,CAACG,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CACb,2DACF,CAAC;EACH;EACA,OAAOD,GAAG;AACZ,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export * from './List';
2
- export * from './ListItem';
1
+ export * from './List';
2
+ export * from './ListItem';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/List/index.ts"],"sourcesContent":["export * from './List';\r\nexport * from './ListItem';\r\n"],"mappings":"AAAA,cAAc,QAAd;AACA,cAAc,YAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/List/index.ts"],"sourcesContent":["export * from './List';\nexport * from './ListItem';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,YAAY","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import type { ElementType, HTMLAttributes } from 'react';
2
- export declare type ContextMenuTriggerProps = HTMLAttributes<HTMLElement> & {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- disabled?: boolean;
6
- };
7
- export declare const ContextMenuTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
8
- as?: ElementType<any> | undefined;
9
- innerAs?: ElementType<any> | undefined;
10
- disabled?: boolean | undefined;
11
- } & import("react").RefAttributes<HTMLElement>>;
1
+ import type { ElementType, HTMLAttributes } from 'react';
2
+ export type ContextMenuTriggerProps = HTMLAttributes<HTMLElement> & {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ disabled?: boolean;
6
+ };
7
+ export declare const ContextMenuTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
8
+ as?: ElementType<any>;
9
+ innerAs?: ElementType<any>;
10
+ disabled?: boolean;
11
+ } & import("react").RefAttributes<HTMLElement>>;