@basic-ui/core 0.0.36 → 0.0.39

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 (348) hide show
  1. package/build/cjs/index.js +84 -83
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/Accordion.d.ts +1 -1
  4. package/build/esm/Accordion/Accordion.js +23 -17
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +1 -1
  7. package/build/esm/Accordion/AccordionBody.js +24 -15
  8. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  9. package/build/esm/Accordion/AccordionHeader.d.ts +1 -1
  10. package/build/esm/Accordion/AccordionHeader.js +46 -31
  11. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  12. package/build/esm/Accordion/AccordionItem.d.ts +1 -1
  13. package/build/esm/Accordion/AccordionItem.js +18 -18
  14. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  15. package/build/esm/Accordion/context.d.ts +1 -1
  16. package/build/esm/Accordion/context.js +12 -10
  17. package/build/esm/Accordion/context.js.map +1 -1
  18. package/build/esm/Accordion/index.d.ts +0 -0
  19. package/build/esm/Accordion/index.js +0 -0
  20. package/build/esm/Accordion/index.js.map +0 -0
  21. package/build/esm/Accordion/scopeQuery.d.ts +0 -0
  22. package/build/esm/Accordion/scopeQuery.js +0 -0
  23. package/build/esm/Accordion/scopeQuery.js.map +0 -0
  24. package/build/esm/CheckBox/CheckBox.d.ts +1 -1
  25. package/build/esm/CheckBox/CheckBox.js +20 -12
  26. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  27. package/build/esm/CheckBox/index.d.ts +0 -0
  28. package/build/esm/CheckBox/index.js +0 -0
  29. package/build/esm/CheckBox/index.js.map +0 -0
  30. package/build/esm/ComboBox/Combobox.d.ts +1 -1
  31. package/build/esm/ComboBox/Combobox.js +55 -48
  32. package/build/esm/ComboBox/Combobox.js.map +1 -1
  33. package/build/esm/ComboBox/ComboboxButton.d.ts +1 -1
  34. package/build/esm/ComboBox/ComboboxButton.js +20 -20
  35. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  36. package/build/esm/ComboBox/ComboboxInput.d.ts +1 -1
  37. package/build/esm/ComboBox/ComboboxInput.js +53 -50
  38. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  39. package/build/esm/ComboBox/ComboboxLabel.d.ts +1 -1
  40. package/build/esm/ComboBox/ComboboxLabel.js +12 -12
  41. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  42. package/build/esm/ComboBox/ComboboxList.d.ts +1 -1
  43. package/build/esm/ComboBox/ComboboxList.js +16 -17
  44. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  45. package/build/esm/ComboBox/ComboboxOption.d.ts +1 -1
  46. package/build/esm/ComboBox/ComboboxOption.js +32 -34
  47. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  48. package/build/esm/ComboBox/ComboboxPopover.d.ts +1 -1
  49. package/build/esm/ComboBox/ComboboxPopover.js +16 -17
  50. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  51. package/build/esm/ComboBox/cities.d.ts +0 -0
  52. package/build/esm/ComboBox/cities.js +0 -0
  53. package/build/esm/ComboBox/cities.js.map +0 -0
  54. package/build/esm/ComboBox/context.d.ts +3 -3
  55. package/build/esm/ComboBox/context.js +6 -5
  56. package/build/esm/ComboBox/context.js.map +1 -1
  57. package/build/esm/ComboBox/hooks.d.ts +1 -1
  58. package/build/esm/ComboBox/hooks.js +82 -115
  59. package/build/esm/ComboBox/hooks.js.map +1 -1
  60. package/build/esm/ComboBox/index.d.ts +0 -0
  61. package/build/esm/ComboBox/index.js +0 -0
  62. package/build/esm/ComboBox/index.js.map +0 -0
  63. package/build/esm/ComboBox/makeHash.d.ts +0 -0
  64. package/build/esm/ComboBox/makeHash.js +3 -3
  65. package/build/esm/ComboBox/makeHash.js.map +1 -1
  66. package/build/esm/ComboBox/scopeQuery.d.ts +0 -0
  67. package/build/esm/ComboBox/scopeQuery.js +0 -0
  68. package/build/esm/ComboBox/scopeQuery.js.map +0 -0
  69. package/build/esm/FocusLock/FocusLock.d.ts +1 -1
  70. package/build/esm/FocusLock/FocusLock.js +18 -16
  71. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  72. package/build/esm/FocusLock/index.d.ts +0 -0
  73. package/build/esm/FocusLock/index.js +0 -0
  74. package/build/esm/FocusLock/index.js.map +0 -0
  75. package/build/esm/FocusLock/tabUtils.d.ts +1 -0
  76. package/build/esm/FocusLock/tabUtils.js +14 -2
  77. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  78. package/build/esm/FocusLock/useFocusLock.d.ts +0 -0
  79. package/build/esm/FocusLock/useFocusLock.js +14 -22
  80. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  81. package/build/esm/List/List.d.ts +1 -1
  82. package/build/esm/List/List.js +6 -6
  83. package/build/esm/List/List.js.map +1 -1
  84. package/build/esm/List/ListItem.d.ts +1 -1
  85. package/build/esm/List/ListItem.js +6 -6
  86. package/build/esm/List/ListItem.js.map +1 -1
  87. package/build/esm/List/context.d.ts +0 -0
  88. package/build/esm/List/context.js +3 -3
  89. package/build/esm/List/context.js.map +1 -1
  90. package/build/esm/List/index.d.ts +0 -0
  91. package/build/esm/List/index.js +0 -0
  92. package/build/esm/List/index.js.map +0 -0
  93. package/build/esm/Menu/Menu.d.ts +1 -1
  94. package/build/esm/Menu/Menu.js +31 -23
  95. package/build/esm/Menu/Menu.js.map +1 -1
  96. package/build/esm/Menu/MenuButton.d.ts +1 -1
  97. package/build/esm/Menu/MenuButton.js +29 -25
  98. package/build/esm/Menu/MenuButton.js.map +1 -1
  99. package/build/esm/Menu/MenuItem.d.ts +1 -1
  100. package/build/esm/Menu/MenuItem.js +26 -27
  101. package/build/esm/Menu/MenuItem.js.map +1 -1
  102. package/build/esm/Menu/MenuList.d.ts +1 -1
  103. package/build/esm/Menu/MenuList.js +62 -45
  104. package/build/esm/Menu/MenuList.js.map +1 -1
  105. package/build/esm/Menu/MenuPopover.d.ts +2 -2
  106. package/build/esm/Menu/MenuPopover.js +9 -10
  107. package/build/esm/Menu/MenuPopover.js.map +1 -1
  108. package/build/esm/Menu/context.d.ts +1 -1
  109. package/build/esm/Menu/context.js +11 -8
  110. package/build/esm/Menu/context.js.map +1 -1
  111. package/build/esm/Menu/index.d.ts +0 -0
  112. package/build/esm/Menu/index.js +0 -0
  113. package/build/esm/Menu/index.js.map +0 -0
  114. package/build/esm/Menu/scope.d.ts +0 -0
  115. package/build/esm/Menu/scope.js +0 -0
  116. package/build/esm/Menu/scope.js.map +0 -0
  117. package/build/esm/Modal/Modal.d.ts +2 -2
  118. package/build/esm/Modal/Modal.js +14 -12
  119. package/build/esm/Modal/Modal.js.map +1 -1
  120. package/build/esm/Modal/ModalBackdrop.d.ts +1 -1
  121. package/build/esm/Modal/ModalBackdrop.js +21 -19
  122. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  123. package/build/esm/Modal/index.d.ts +0 -0
  124. package/build/esm/Modal/index.js +0 -0
  125. package/build/esm/Modal/index.js.map +0 -0
  126. package/build/esm/Popper/Popper.d.ts +2 -2
  127. package/build/esm/Popper/Popper.js +51 -36
  128. package/build/esm/Popper/Popper.js.map +1 -1
  129. package/build/esm/Popper/PopperArrow.d.ts +1 -1
  130. package/build/esm/Popper/PopperArrow.js +9 -9
  131. package/build/esm/Popper/PopperArrow.js.map +1 -1
  132. package/build/esm/Popper/context.d.ts +1 -1
  133. package/build/esm/Popper/context.js +5 -3
  134. package/build/esm/Popper/context.js.map +1 -1
  135. package/build/esm/Popper/index.d.ts +0 -0
  136. package/build/esm/Popper/index.js +0 -0
  137. package/build/esm/Popper/index.js.map +0 -0
  138. package/build/esm/Portal/Portal.d.ts +1 -1
  139. package/build/esm/Portal/Portal.js +6 -5
  140. package/build/esm/Portal/Portal.js.map +1 -1
  141. package/build/esm/Portal/index.d.ts +0 -0
  142. package/build/esm/Portal/index.js +0 -0
  143. package/build/esm/Portal/index.js.map +0 -0
  144. package/build/esm/RadioButton/RadioButton.d.ts +2 -2
  145. package/build/esm/RadioButton/RadioButton.js +13 -13
  146. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  147. package/build/esm/RadioButton/RadioGroup.d.ts +2 -2
  148. package/build/esm/RadioButton/RadioGroup.js +25 -18
  149. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  150. package/build/esm/RadioButton/context.d.ts +0 -0
  151. package/build/esm/RadioButton/context.js +6 -5
  152. package/build/esm/RadioButton/context.js.map +1 -1
  153. package/build/esm/RadioButton/index.d.ts +0 -0
  154. package/build/esm/RadioButton/index.js +0 -0
  155. package/build/esm/RadioButton/index.js.map +0 -0
  156. package/build/esm/SkipNav/SkipNav.d.ts +1 -1
  157. package/build/esm/SkipNav/SkipNav.js +6 -6
  158. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  159. package/build/esm/SkipNav/index.d.ts +0 -0
  160. package/build/esm/SkipNav/index.js +0 -0
  161. package/build/esm/SkipNav/index.js.map +0 -0
  162. package/build/esm/Spinner/Spinner.d.ts +1 -1
  163. package/build/esm/Spinner/Spinner.js +42 -31
  164. package/build/esm/Spinner/Spinner.js.map +1 -1
  165. package/build/esm/Spinner/SpinnerButton.d.ts +1 -1
  166. package/build/esm/Spinner/SpinnerButton.js +12 -12
  167. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  168. package/build/esm/Spinner/context.d.ts +0 -0
  169. package/build/esm/Spinner/context.js +6 -5
  170. package/build/esm/Spinner/context.js.map +1 -1
  171. package/build/esm/Spinner/index.d.ts +0 -0
  172. package/build/esm/Spinner/index.js +0 -0
  173. package/build/esm/Spinner/index.js.map +0 -0
  174. package/build/esm/Tabs/Tab.d.ts +1 -1
  175. package/build/esm/Tabs/Tab.js +30 -29
  176. package/build/esm/Tabs/Tab.js.map +1 -1
  177. package/build/esm/Tabs/TabList.d.ts +1 -1
  178. package/build/esm/Tabs/TabList.js +27 -23
  179. package/build/esm/Tabs/TabList.js.map +1 -1
  180. package/build/esm/Tabs/TabPanel.d.ts +1 -1
  181. package/build/esm/Tabs/TabPanel.js +13 -12
  182. package/build/esm/Tabs/TabPanel.js.map +1 -1
  183. package/build/esm/Tabs/TabPanels.d.ts +1 -1
  184. package/build/esm/Tabs/TabPanels.js +14 -12
  185. package/build/esm/Tabs/TabPanels.js.map +1 -1
  186. package/build/esm/Tabs/Tabs.d.ts +1 -1
  187. package/build/esm/Tabs/Tabs.js +28 -14
  188. package/build/esm/Tabs/Tabs.js.map +1 -1
  189. package/build/esm/Tabs/context.d.ts +1 -1
  190. package/build/esm/Tabs/context.js +12 -10
  191. package/build/esm/Tabs/context.js.map +1 -1
  192. package/build/esm/Tabs/index.d.ts +0 -0
  193. package/build/esm/Tabs/index.js +0 -0
  194. package/build/esm/Tabs/index.js.map +0 -0
  195. package/build/esm/Tabs/scopeQuery.d.ts +0 -0
  196. package/build/esm/Tabs/scopeQuery.js +0 -0
  197. package/build/esm/Tabs/scopeQuery.js.map +0 -0
  198. package/build/esm/Tooltip/Tooltip.d.ts +2 -1
  199. package/build/esm/Tooltip/Tooltip.js +17 -15
  200. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  201. package/build/esm/Tooltip/index.d.ts +0 -0
  202. package/build/esm/Tooltip/index.js +0 -0
  203. package/build/esm/Tooltip/index.js.map +0 -0
  204. package/build/esm/Tooltip/stateMachine.d.ts +0 -0
  205. package/build/esm/Tooltip/stateMachine.js +56 -80
  206. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  207. package/build/esm/Tooltip/useTooltip.d.ts +1 -1
  208. package/build/esm/Tooltip/useTooltip.js +32 -31
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +0 -1
  211. package/build/esm/hooks/index.js +0 -1
  212. package/build/esm/hooks/index.js.map +1 -1
  213. package/build/esm/hooks/useAutoFocus.d.ts +0 -0
  214. package/build/esm/hooks/useAutoFocus.js +6 -2
  215. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  216. package/build/esm/hooks/useChildrenCounter.d.ts +1 -1
  217. package/build/esm/hooks/useChildrenCounter.js +6 -4
  218. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  219. package/build/esm/hooks/useControlledState.d.ts +1 -1
  220. package/build/esm/hooks/useControlledState.js +7 -2
  221. package/build/esm/hooks/useControlledState.js.map +1 -1
  222. package/build/esm/hooks/useFocusReturn.d.ts +2 -1
  223. package/build/esm/hooks/useFocusReturn.js +25 -14
  224. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  225. package/build/esm/hooks/useFocusState.d.ts +0 -0
  226. package/build/esm/hooks/useFocusState.js +13 -9
  227. package/build/esm/hooks/useFocusState.js.map +1 -1
  228. package/build/esm/hooks/useGestureHandlers.d.ts +0 -0
  229. package/build/esm/hooks/useGestureHandlers.js +59 -63
  230. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  231. package/build/esm/hooks/useMeasure.d.ts +0 -0
  232. package/build/esm/hooks/useMeasure.js +13 -7
  233. package/build/esm/hooks/useMeasure.js.map +1 -1
  234. package/build/esm/hooks/useOnClickOutside.d.ts +0 -0
  235. package/build/esm/hooks/useOnClickOutside.js +5 -4
  236. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  237. package/build/esm/hooks/useOnKeyDown.d.ts +0 -0
  238. package/build/esm/hooks/useOnKeyDown.js +4 -3
  239. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  240. package/build/esm/hooks/useReducerMachine.d.ts +1 -1
  241. package/build/esm/hooks/useReducerMachine.js +13 -10
  242. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  243. package/build/esm/hooks/useRemoveBodyScroll.d.ts +0 -0
  244. package/build/esm/hooks/useRemoveBodyScroll.js +14 -21
  245. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  246. package/build/esm/hooks/useScope.d.ts +1 -1
  247. package/build/esm/hooks/useScope.js +10 -12
  248. package/build/esm/hooks/useScope.js.map +1 -1
  249. package/build/esm/hooks/useThrottle.d.ts +0 -0
  250. package/build/esm/hooks/useThrottle.js +10 -5
  251. package/build/esm/hooks/useThrottle.js.map +1 -1
  252. package/build/esm/index.d.ts +0 -0
  253. package/build/esm/index.js +0 -0
  254. package/build/esm/index.js.map +0 -0
  255. package/build/esm/utils/assignRef.d.ts +1 -1
  256. package/build/esm/utils/assignRef.js +7 -3
  257. package/build/esm/utils/assignRef.js.map +1 -1
  258. package/build/esm/utils/clamp.d.ts +0 -0
  259. package/build/esm/utils/clamp.js +0 -0
  260. package/build/esm/utils/clamp.js.map +0 -0
  261. package/build/esm/utils/createSubscription.d.ts +0 -0
  262. package/build/esm/utils/createSubscription.js +7 -5
  263. package/build/esm/utils/createSubscription.js.map +1 -1
  264. package/build/esm/utils/getCircularIndex.d.ts +0 -0
  265. package/build/esm/utils/getCircularIndex.js +0 -0
  266. package/build/esm/utils/getCircularIndex.js.map +0 -0
  267. package/build/esm/utils/index.d.ts +0 -0
  268. package/build/esm/utils/index.js +0 -0
  269. package/build/esm/utils/index.js.map +0 -0
  270. package/build/esm/utils/rubberBandClamp.d.ts +0 -0
  271. package/build/esm/utils/rubberBandClamp.js +5 -2
  272. package/build/esm/utils/rubberBandClamp.js.map +1 -1
  273. package/build/esm/utils/wrapEvent.d.ts +0 -0
  274. package/build/esm/utils/wrapEvent.js +7 -3
  275. package/build/esm/utils/wrapEvent.js.map +1 -1
  276. package/build/tsconfig.tsbuildinfo +1 -7151
  277. package/package.json +13 -13
  278. package/src/Accordion/Accordion.story.tsx +6 -4
  279. package/src/Accordion/Accordion.tsx +4 -2
  280. package/src/Accordion/AccordionBody.tsx +4 -4
  281. package/src/Accordion/AccordionHeader.tsx +7 -8
  282. package/src/Accordion/AccordionItem.tsx +5 -4
  283. package/src/Accordion/context.ts +2 -1
  284. package/src/CheckBox/CheckBox.tsx +2 -1
  285. package/src/ComboBox/ComboBox.story.tsx +11 -9
  286. package/src/ComboBox/Combobox.tsx +9 -11
  287. package/src/ComboBox/ComboboxButton.tsx +4 -9
  288. package/src/ComboBox/ComboboxInput.tsx +2 -1
  289. package/src/ComboBox/ComboboxLabel.tsx +2 -1
  290. package/src/ComboBox/ComboboxList.tsx +2 -1
  291. package/src/ComboBox/ComboboxOption.tsx +1 -1
  292. package/src/ComboBox/ComboboxPopover.tsx +2 -1
  293. package/src/ComboBox/context.ts +4 -3
  294. package/src/ComboBox/hooks.tsx +6 -9
  295. package/src/FocusLock/FocusLock.tsx +2 -1
  296. package/src/FocusLock/tabUtils.ts +12 -0
  297. package/src/FocusLock/useFocusLock.ts +5 -11
  298. package/src/List/List.story.tsx +5 -4
  299. package/src/List/List.tsx +1 -1
  300. package/src/List/ListItem.tsx +1 -1
  301. package/src/Menu/Menu.story.tsx +15 -13
  302. package/src/Menu/Menu.tsx +5 -4
  303. package/src/Menu/MenuButton.tsx +7 -11
  304. package/src/Menu/MenuItem.tsx +6 -7
  305. package/src/Menu/MenuList.tsx +4 -8
  306. package/src/Menu/MenuPopover.tsx +4 -2
  307. package/src/Menu/context.ts +2 -1
  308. package/src/Modal/Modal.story.tsx +35 -19
  309. package/src/Modal/Modal.tsx +6 -4
  310. package/src/Modal/ModalBackdrop.tsx +2 -1
  311. package/src/Modal/NavDrawer.story.tsx +8 -7
  312. package/src/Popper/Popper.story.tsx +15 -19
  313. package/src/Popper/Popper.tsx +12 -7
  314. package/src/Popper/PopperArrow.tsx +2 -1
  315. package/src/Popper/context.ts +2 -1
  316. package/src/Portal/Portal.tsx +1 -1
  317. package/src/RadioButton/RadioButton.story.tsx +13 -9
  318. package/src/RadioButton/RadioButton.tsx +4 -2
  319. package/src/RadioButton/RadioGroup.tsx +6 -4
  320. package/src/SkipNav/SkipNav.tsx +1 -1
  321. package/src/Spinner/Spinner.story.tsx +6 -5
  322. package/src/Spinner/Spinner.tsx +2 -1
  323. package/src/Spinner/SpinnerButton.tsx +2 -1
  324. package/src/Tabs/Tab.story.tsx +10 -8
  325. package/src/Tabs/Tab.tsx +4 -4
  326. package/src/Tabs/TabList.tsx +11 -3
  327. package/src/Tabs/TabPanel.tsx +2 -1
  328. package/src/Tabs/TabPanels.tsx +1 -1
  329. package/src/Tabs/Tabs.tsx +2 -1
  330. package/src/Tabs/context.ts +2 -1
  331. package/src/Tooltip/Tooltip.story.tsx +8 -6
  332. package/src/Tooltip/Tooltip.tsx +3 -7
  333. package/src/Tooltip/stateMachine.ts +1 -1
  334. package/src/Tooltip/useTooltip.ts +4 -3
  335. package/src/hooks/index.ts +0 -1
  336. package/src/hooks/useAutoFocus.ts +9 -1
  337. package/src/hooks/useChildrenCounter.ts +2 -1
  338. package/src/hooks/useControlledState.ts +3 -1
  339. package/src/hooks/useFocusReturn.ts +33 -13
  340. package/src/hooks/useFocusState.ts +1 -0
  341. package/src/hooks/useReducerMachine.ts +2 -1
  342. package/src/hooks/useRemoveBodyScroll.ts +10 -18
  343. package/src/hooks/useScope.ts +2 -1
  344. package/src/utils/assignRef.ts +1 -1
  345. package/build/esm/hooks/useId.d.ts +0 -3
  346. package/build/esm/hooks/useId.js +0 -16
  347. package/build/esm/hooks/useId.js.map +0 -1
  348. package/src/hooks/useId.ts +0 -18
@@ -1,31 +1,42 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
4
  import { forwardRef, useState, useRef } from 'react';
5
+ import * as React from 'react';
4
6
  import { SpinnerProvider } from './context';
5
7
  import { clamp as clampFunc } from '../utils/clamp';
6
8
  import { wrapEvent, assignMultipleRefs } from '../utils';
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
- export const Spinner = /*#__PURE__*/forwardRef(function Spinner(props, forwardedRef) {
9
- const {
10
- as: Comp = 'div',
11
- minValue = -1000,
12
- maxValue = 1000,
13
- stepSize = 10,
14
- value = 0,
15
- onChange,
16
- onKeyDown,
17
- onBlur,
18
- onFocus
19
- } = props,
20
- otherProps = _objectWithoutPropertiesLoose(props, ["as", "minValue", "maxValue", "stepSize", "value", "onChange", "onKeyDown", "onBlur", "onFocus"]);
21
-
22
- const [spinnerHasFocus, setSpinnerHasFocus] = useState(false);
23
- const ref = useRef();
24
-
25
- const clamp = value => clampFunc(value, minValue, maxValue);
26
-
27
- const handleKeyDown = e => {
28
- let nextValue = value;
10
+ export var Spinner = /*#__PURE__*/forwardRef(function Spinner(props, forwardedRef) {
11
+ var _props$as = props.as,
12
+ Comp = _props$as === void 0 ? 'div' : _props$as,
13
+ _props$minValue = props.minValue,
14
+ minValue = _props$minValue === void 0 ? -1000 : _props$minValue,
15
+ _props$maxValue = props.maxValue,
16
+ maxValue = _props$maxValue === void 0 ? 1000 : _props$maxValue,
17
+ _props$stepSize = props.stepSize,
18
+ stepSize = _props$stepSize === void 0 ? 10 : _props$stepSize,
19
+ _props$value = props.value,
20
+ value = _props$value === void 0 ? 0 : _props$value,
21
+ onChange = props.onChange,
22
+ onKeyDown = props.onKeyDown,
23
+ onBlur = props.onBlur,
24
+ onFocus = props.onFocus,
25
+ otherProps = _objectWithoutProperties(props, ["as", "minValue", "maxValue", "stepSize", "value", "onChange", "onKeyDown", "onBlur", "onFocus"]);
26
+
27
+ var _useState = useState(false),
28
+ _useState2 = _slicedToArray(_useState, 2),
29
+ spinnerHasFocus = _useState2[0],
30
+ setSpinnerHasFocus = _useState2[1];
31
+
32
+ var ref = useRef();
33
+
34
+ var clamp = function clamp(value) {
35
+ return clampFunc(value, minValue, maxValue);
36
+ };
37
+
38
+ var handleKeyDown = function handleKeyDown(e) {
39
+ var nextValue = value;
29
40
 
30
41
  switch (e.key) {
31
42
  case 'ArrowUp':
@@ -66,23 +77,23 @@ export const Spinner = /*#__PURE__*/forwardRef(function Spinner(props, forwarded
66
77
  }
67
78
  };
68
79
 
69
- const handleFocus = () => {
80
+ var handleFocus = function handleFocus() {
70
81
  setSpinnerHasFocus(true);
71
82
  };
72
83
 
73
- const handleBlur = () => {
84
+ var handleBlur = function handleBlur() {
74
85
  setSpinnerHasFocus(false);
75
86
  };
76
87
 
77
88
  return /*#__PURE__*/_jsx(SpinnerProvider, {
78
89
  value: {
79
- minValue,
80
- value,
81
- maxValue,
82
- stepSize,
83
- onChange,
84
- clamp,
85
- spinnerHasFocus
90
+ minValue: minValue,
91
+ value: value,
92
+ maxValue: maxValue,
93
+ stepSize: stepSize,
94
+ onChange: onChange,
95
+ clamp: clamp,
96
+ spinnerHasFocus: spinnerHasFocus
86
97
  },
87
98
  children: /*#__PURE__*/_jsx(Comp, _extends({
88
99
  ref: assignMultipleRefs(forwardedRef, ref),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Spinner/Spinner.tsx"],"names":["forwardRef","useState","useRef","SpinnerProvider","clamp","clampFunc","wrapEvent","assignMultipleRefs","Spinner","props","forwardedRef","as","Comp","minValue","maxValue","stepSize","value","onChange","onKeyDown","onBlur","onFocus","otherProps","spinnerHasFocus","setSpinnerHasFocus","ref","handleKeyDown","e","nextValue","key","current","focus","preventDefault","handleFocus","handleBlur"],"mappings":"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","sourcesContent":["import { forwardRef, useState, useRef } from 'react';\nimport type * as React from 'react';\nimport { SpinnerProvider } from './context';\nimport { clamp as clampFunc } from '../utils/clamp';\nimport { wrapEvent, assignMultipleRefs } from '../utils';\n\nexport interface SpinnerProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n value?: number;\n minValue?: number;\n maxValue?: number;\n stepSize?: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLDivElement>,\n value: number\n ) => void;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(props, forwardedRef) {\n const {\n as: Comp = 'div',\n minValue = -1000,\n maxValue = 1000,\n stepSize = 10,\n value = 0,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n ...otherProps\n } = props;\n const [spinnerHasFocus, setSpinnerHasFocus] = useState(false);\n const ref = useRef<HTMLDivElement>();\n\n const clamp = (value: number) => clampFunc(value, minValue, maxValue);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n let nextValue = value;\n switch (e.key) {\n case 'ArrowUp':\n nextValue += 1;\n break;\n case 'ArrowDown':\n nextValue -= 1;\n break;\n case 'Home':\n nextValue = minValue;\n break;\n case 'End':\n nextValue = maxValue;\n break;\n case 'PageUp':\n nextValue += stepSize;\n break;\n case 'PageDown':\n nextValue -= stepSize;\n break;\n default:\n return;\n }\n\n ref.current && ref.current.focus();\n nextValue = clamp(nextValue);\n if (nextValue !== value) {\n e.preventDefault(); // prevent scrolling\n onChange && onChange(e, nextValue);\n }\n };\n\n const handleFocus = () => {\n setSpinnerHasFocus(true);\n };\n\n const handleBlur = () => {\n setSpinnerHasFocus(false);\n };\n\n return (\n <SpinnerProvider\n value={{\n minValue,\n value,\n maxValue,\n stepSize,\n onChange,\n clamp,\n spinnerHasFocus,\n }}\n >\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n data-spinner-root=\"\"\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={minValue}\n aria-valuemax={maxValue}\n tabIndex={0}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n {...otherProps}\n />\n </SpinnerProvider>\n );\n }\n);\n"],"file":"Spinner.js"}
1
+ {"version":3,"sources":["../../../src/Spinner/Spinner.tsx"],"names":["forwardRef","useState","useRef","React","SpinnerProvider","clamp","clampFunc","wrapEvent","assignMultipleRefs","Spinner","props","forwardedRef","as","Comp","minValue","maxValue","stepSize","value","onChange","onKeyDown","onBlur","onFocus","otherProps","spinnerHasFocus","setSpinnerHasFocus","ref","handleKeyDown","e","nextValue","key","current","focus","preventDefault","handleFocus","handleBlur"],"mappings":"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","sourcesContent":["import { forwardRef, useState, useRef } from 'react';\nimport * as React from 'react';\n\nimport { SpinnerProvider } from './context';\nimport { clamp as clampFunc } from '../utils/clamp';\nimport { wrapEvent, assignMultipleRefs } from '../utils';\n\nexport interface SpinnerProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n value?: number;\n minValue?: number;\n maxValue?: number;\n stepSize?: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLDivElement>,\n value: number\n ) => void;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(props, forwardedRef) {\n const {\n as: Comp = 'div',\n minValue = -1000,\n maxValue = 1000,\n stepSize = 10,\n value = 0,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n ...otherProps\n } = props;\n const [spinnerHasFocus, setSpinnerHasFocus] = useState(false);\n const ref = useRef<HTMLDivElement>();\n\n const clamp = (value: number) => clampFunc(value, minValue, maxValue);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n let nextValue = value;\n switch (e.key) {\n case 'ArrowUp':\n nextValue += 1;\n break;\n case 'ArrowDown':\n nextValue -= 1;\n break;\n case 'Home':\n nextValue = minValue;\n break;\n case 'End':\n nextValue = maxValue;\n break;\n case 'PageUp':\n nextValue += stepSize;\n break;\n case 'PageDown':\n nextValue -= stepSize;\n break;\n default:\n return;\n }\n\n ref.current && ref.current.focus();\n nextValue = clamp(nextValue);\n if (nextValue !== value) {\n e.preventDefault(); // prevent scrolling\n onChange && onChange(e, nextValue);\n }\n };\n\n const handleFocus = () => {\n setSpinnerHasFocus(true);\n };\n\n const handleBlur = () => {\n setSpinnerHasFocus(false);\n };\n\n return (\n <SpinnerProvider\n value={{\n minValue,\n value,\n maxValue,\n stepSize,\n onChange,\n clamp,\n spinnerHasFocus,\n }}\n >\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n data-spinner-root=\"\"\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={minValue}\n aria-valuemax={maxValue}\n tabIndex={0}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n {...otherProps}\n />\n </SpinnerProvider>\n );\n }\n);\n"],"file":"Spinner.js"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  export interface SpinnerButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
3
3
  as?: React.ElementType<any>;
4
4
  innerAs?: React.ElementType<any>;
@@ -1,29 +1,29 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { forwardRef } from 'react';
4
+ import * as React from 'react';
4
5
  import { useSpinnerContext } from './context';
5
6
  import { wrapEvent } from '../utils';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const SpinnerButton = /*#__PURE__*/forwardRef(function SpinnerButton(props, forwardedRef) {
8
- const {
9
- as: Comp = 'button',
10
- type,
11
- onClick
12
- } = props,
13
- otherProps = _objectWithoutPropertiesLoose(props, ["as", "type", "onClick"]);
8
+ export var SpinnerButton = /*#__PURE__*/forwardRef(function SpinnerButton(props, forwardedRef) {
9
+ var _props$as = props.as,
10
+ Comp = _props$as === void 0 ? 'button' : _props$as,
11
+ type = props.type,
12
+ onClick = props.onClick,
13
+ otherProps = _objectWithoutProperties(props, ["as", "type", "onClick"]);
14
14
 
15
- const spinnerContext = useSpinnerContext();
15
+ var spinnerContext = useSpinnerContext();
16
16
 
17
17
  if (!spinnerContext) {
18
18
  throw new Error('Missing <Spinner /> in component tree');
19
19
  }
20
20
 
21
- const handleClick = e => {
22
- const delta = type === 'next' ? 1 : -1;
21
+ var handleClick = function handleClick(e) {
22
+ var delta = type === 'next' ? 1 : -1;
23
23
  spinnerContext.onChange && spinnerContext.onChange(e, spinnerContext.value + delta);
24
24
  };
25
25
 
26
- const disabled = type === 'next' ? spinnerContext.value + 1 > spinnerContext.maxValue : spinnerContext.value - 1 < spinnerContext.minValue;
26
+ var disabled = type === 'next' ? spinnerContext.value + 1 > spinnerContext.maxValue : spinnerContext.value - 1 < spinnerContext.minValue;
27
27
  return /*#__PURE__*/_jsx(Comp, _extends({}, otherProps, {
28
28
  type: "button",
29
29
  ref: forwardedRef,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Spinner/SpinnerButton.tsx"],"names":["forwardRef","useSpinnerContext","wrapEvent","SpinnerButton","props","forwardedRef","as","Comp","type","onClick","otherProps","spinnerContext","Error","handleClick","e","delta","onChange","value","disabled","maxValue","minValue","spinnerHasFocus","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,iBAAT,QAAkC,WAAlC;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAUA,OAAO,MAAMC,aAAa,gBAAGH,UAAU,CACrC,SAASG,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAC1C,QAAM;AAAEC,IAAAA,EAAE,EAAEC,IAAI,GAAG,QAAb;AAAuBC,IAAAA,IAAvB;AAA6BC,IAAAA;AAA7B,MAAwDL,KAA9D;AAAA,QAA+CM,UAA/C,iCAA8DN,KAA9D;;AACA,QAAMO,cAAc,GAAGV,iBAAiB,EAAxC;;AAEA,MAAI,CAACU,cAAL,EAAqB;AACnB,UAAM,IAAIC,KAAJ,CAAU,uCAAV,CAAN;AACD;;AAED,QAAMC,WAAW,GAAIC,CAAD,IAA4C;AAC9D,UAAMC,KAAK,GAAGP,IAAI,KAAK,MAAT,GAAkB,CAAlB,GAAsB,CAAC,CAArC;AAEAG,IAAAA,cAAc,CAACK,QAAf,IACEL,cAAc,CAACK,QAAf,CAAwBF,CAAxB,EAA2BH,cAAc,CAACM,KAAf,GAAuBF,KAAlD,CADF;AAED,GALD;;AAOA,QAAMG,QAAQ,GACZV,IAAI,KAAK,MAAT,GACIG,cAAc,CAACM,KAAf,GAAuB,CAAvB,GAA2BN,cAAc,CAACQ,QAD9C,GAEIR,cAAc,CAACM,KAAf,GAAuB,CAAvB,GAA2BN,cAAc,CAACS,QAHhD;AAKA,sBACE,KAAC,IAAD,eACMV,UADN;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,GAAG,EAAEL,YAHP;AAIE,IAAA,QAAQ,EAAE,CAAC,CAJb;AAKE,2BAAoB,EALtB;AAME,8BAAwBM,cAAc,CAACU,eAAf,GAAiC,EAAjC,GAAsCC,SANhE;AAOE,IAAA,QAAQ,EAAEJ,QAPZ;AAQE,IAAA,OAAO,EAAEhB,SAAS,CAACO,OAAD,EAAUI,WAAV;AARpB,KADF;AAYD,CAjCoC,CAAhC","sourcesContent":["import { forwardRef } from 'react';\nimport type * as React from 'react';\nimport { useSpinnerContext } from './context';\nimport { wrapEvent } from '../utils';\n\nexport interface SpinnerButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n type: 'next' | 'previous';\n}\n\nexport const SpinnerButton = forwardRef<HTMLButtonElement, SpinnerButtonProps>(\n function SpinnerButton(props, forwardedRef) {\n const { as: Comp = 'button', type, onClick, ...otherProps } = props;\n const spinnerContext = useSpinnerContext();\n\n if (!spinnerContext) {\n throw new Error('Missing <Spinner /> in component tree');\n }\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const delta = type === 'next' ? 1 : -1;\n\n spinnerContext.onChange &&\n spinnerContext.onChange(e, spinnerContext.value + delta);\n };\n\n const disabled =\n type === 'next'\n ? spinnerContext.value + 1 > spinnerContext.maxValue\n : spinnerContext.value - 1 < spinnerContext.minValue;\n\n return (\n <Comp\n {...otherProps}\n type=\"button\"\n ref={forwardedRef}\n tabIndex={-1}\n data-spinner-button=\"\"\n data-spinner-has-focus={spinnerContext.spinnerHasFocus ? '' : undefined}\n disabled={disabled}\n onClick={wrapEvent(onClick, handleClick)}\n />\n );\n }\n);\n"],"file":"SpinnerButton.js"}
1
+ {"version":3,"sources":["../../../src/Spinner/SpinnerButton.tsx"],"names":["forwardRef","React","useSpinnerContext","wrapEvent","SpinnerButton","props","forwardedRef","as","Comp","type","onClick","otherProps","spinnerContext","Error","handleClick","e","delta","onChange","value","disabled","maxValue","minValue","spinnerHasFocus","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,iBAAT,QAAkC,WAAlC;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAUA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,SAASI,aAAT,CAAuBC,KAAvB,EAA8BC,YAA9B,EAA4C;AAAA,kBACoBD,KADpB,CAClCE,EADkC;AAAA,MAC9BC,IAD8B,0BACvB,QADuB;AAAA,MACbC,IADa,GACoBJ,KADpB,CACbI,IADa;AAAA,MACPC,OADO,GACoBL,KADpB,CACPK,OADO;AAAA,MACKC,UADL,4BACoBN,KADpB;;AAE1C,MAAMO,cAAc,GAAGV,iBAAiB,EAAxC;;AAEA,MAAI,CAACU,cAAL,EAAqB;AACnB,UAAM,IAAIC,KAAJ,CAAU,uCAAV,CAAN;AACD;;AAED,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAA4C;AAC9D,QAAMC,KAAK,GAAGP,IAAI,KAAK,MAAT,GAAkB,CAAlB,GAAsB,CAAC,CAArC;AAEAG,IAAAA,cAAc,CAACK,QAAf,IACEL,cAAc,CAACK,QAAf,CAAwBF,CAAxB,EAA2BH,cAAc,CAACM,KAAf,GAAuBF,KAAlD,CADF;AAED,GALD;;AAOA,MAAMG,QAAQ,GACZV,IAAI,KAAK,MAAT,GACIG,cAAc,CAACM,KAAf,GAAuB,CAAvB,GAA2BN,cAAc,CAACQ,QAD9C,GAEIR,cAAc,CAACM,KAAf,GAAuB,CAAvB,GAA2BN,cAAc,CAACS,QAHhD;AAKA,sBACE,KAAC,IAAD,eACMV,UADN;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,GAAG,EAAEL,YAHP;AAIE,IAAA,QAAQ,EAAE,CAAC,CAJb;AAKE,2BAAoB,EALtB;AAME,8BAAwBM,cAAc,CAACU,eAAf,GAAiC,EAAjC,GAAsCC,SANhE;AAOE,IAAA,QAAQ,EAAEJ,QAPZ;AAQE,IAAA,OAAO,EAAEhB,SAAS,CAACO,OAAD,EAAUI,WAAV;AARpB,KADF;AAYD,CAjCoC,CAAhC","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useSpinnerContext } from './context';\nimport { wrapEvent } from '../utils';\n\nexport interface SpinnerButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n type: 'next' | 'previous';\n}\n\nexport const SpinnerButton = forwardRef<HTMLButtonElement, SpinnerButtonProps>(\n function SpinnerButton(props, forwardedRef) {\n const { as: Comp = 'button', type, onClick, ...otherProps } = props;\n const spinnerContext = useSpinnerContext();\n\n if (!spinnerContext) {\n throw new Error('Missing <Spinner /> in component tree');\n }\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const delta = type === 'next' ? 1 : -1;\n\n spinnerContext.onChange &&\n spinnerContext.onChange(e, spinnerContext.value + delta);\n };\n\n const disabled =\n type === 'next'\n ? spinnerContext.value + 1 > spinnerContext.maxValue\n : spinnerContext.value - 1 < spinnerContext.minValue;\n\n return (\n <Comp\n {...otherProps}\n type=\"button\"\n ref={forwardedRef}\n tabIndex={-1}\n data-spinner-button=\"\"\n data-spinner-has-focus={spinnerContext.spinnerHasFocus ? '' : undefined}\n disabled={disabled}\n onClick={wrapEvent(onClick, handleClick)}\n />\n );\n }\n);\n"],"file":"SpinnerButton.js"}
File without changes
@@ -1,8 +1,9 @@
1
1
  import { createContext, useContext } from 'react'; // Spinner Component
2
2
 
3
- const spinbuttonContext = /*#__PURE__*/createContext(null);
4
- export const {
5
- Provider: SpinnerProvider
6
- } = spinbuttonContext;
7
- export const useSpinnerContext = () => useContext(spinbuttonContext);
3
+ var spinbuttonContext = /*#__PURE__*/createContext(null);
4
+ var SpinnerProvider = spinbuttonContext.Provider;
5
+ export { SpinnerProvider };
6
+ export var useSpinnerContext = function useSpinnerContext() {
7
+ return useContext(spinbuttonContext);
8
+ };
8
9
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Spinner/context.ts"],"names":["createContext","useContext","spinbuttonContext","Provider","SpinnerProvider","useSpinnerContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C,C,CAEA;;AAgBA,MAAMC,iBAAiB,gBAAGF,aAAa,CAA6B,IAA7B,CAAvC;AACA,OAAO,MAAM;AAAEG,EAAAA,QAAQ,EAAEC;AAAZ,IAAgCF,iBAAtC;AACP,OAAO,MAAMG,iBAAiB,GAAG,MAAMJ,UAAU,CAACC,iBAAD,CAA1C","sourcesContent":["import { createContext, useContext } from 'react';\n\n// Spinner Component\nexport interface SpinnerContextProps {\n value: number;\n minValue: number;\n maxValue: number;\n stepSize: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLDivElement>,\n value: number\n ) => void;\n clamp: (value: number) => number;\n spinnerHasFocus: boolean;\n}\n\nconst spinbuttonContext = createContext<SpinnerContextProps | null>(null);\nexport const { Provider: SpinnerProvider } = spinbuttonContext;\nexport const useSpinnerContext = () => useContext(spinbuttonContext);\n"],"file":"context.js"}
1
+ {"version":3,"sources":["../../../src/Spinner/context.ts"],"names":["createContext","useContext","spinbuttonContext","SpinnerProvider","Provider","useSpinnerContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C,C,CAEA;;AAgBA,IAAMC,iBAAiB,gBAAGF,aAAa,CAA6B,IAA7B,CAAvC;IACyBG,e,GAAoBD,iB,CAA9BE,Q;;AACf,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAAMJ,UAAU,CAACC,iBAAD,CAAhB;AAAA,CAA1B","sourcesContent":["import { createContext, useContext } from 'react';\n\n// Spinner Component\nexport interface SpinnerContextProps {\n value: number;\n minValue: number;\n maxValue: number;\n stepSize: number;\n onChange?: (\n e:\n | React.MouseEvent<HTMLButtonElement>\n | React.KeyboardEvent<HTMLDivElement>,\n value: number\n ) => void;\n clamp: (value: number) => number;\n spinnerHasFocus: boolean;\n}\n\nconst spinbuttonContext = createContext<SpinnerContextProps | null>(null);\nexport const { Provider: SpinnerProvider } = spinbuttonContext;\nexport const useSpinnerContext = () => useContext(spinbuttonContext);\n"],"file":"context.js"}
File without changes
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  export interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  as?: React.ElementType<any>;
4
4
  innerAs?: React.ElementType<any>;
@@ -1,14 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { forwardRef, useRef } from 'react';
4
+ import * as React from 'react';
4
5
  import { useTabsContext, useTabListContext } from './context';
5
6
  import { assignMultipleRefs, getCircularIndex, wrapEvent } from '../utils';
6
7
  import { scopeQuery } from './scopeQuery';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
 
9
10
  function getNextIndex(desiredIndex, delta, allTabs) {
10
- for (let i = 0; i < allTabs.length; i++) {
11
- const nextIndex = getCircularIndex(desiredIndex + delta * i, allTabs.length);
11
+ for (var i = 0; i < allTabs.length; i++) {
12
+ var nextIndex = getCircularIndex(desiredIndex + delta * i, allTabs.length);
12
13
 
13
14
  if (nextIndex !== null && !allTabs[nextIndex].disabled) {
14
15
  return nextIndex;
@@ -18,35 +19,35 @@ function getNextIndex(desiredIndex, delta, allTabs) {
18
19
  return null;
19
20
  }
20
21
 
21
- export const Tab = /*#__PURE__*/forwardRef(function Tab(props, forwardedRef) {
22
- const _ref = props,
23
- {
24
- as: Comp = 'button',
25
- onKeyDown,
26
- onClick,
27
- index: tabIndex = -1
28
- } = _ref,
29
- otherProps = _objectWithoutPropertiesLoose(_ref, ["as", "onKeyDown", "onClick", "index"]);
22
+ export var Tab = /*#__PURE__*/forwardRef(function Tab(props, forwardedRef) {
23
+ var _ref = props,
24
+ _ref$as = _ref.as,
25
+ Comp = _ref$as === void 0 ? 'button' : _ref$as,
26
+ onKeyDown = _ref.onKeyDown,
27
+ onClick = _ref.onClick,
28
+ _ref$index = _ref.index,
29
+ tabIndex = _ref$index === void 0 ? -1 : _ref$index,
30
+ otherProps = _objectWithoutProperties(_ref, ["as", "onKeyDown", "onClick", "index"]);
30
31
 
31
- const tabContext = useTabsContext();
32
- const tabListContext = useTabListContext();
33
- const ref = useRef(undefined);
32
+ var tabContext = useTabsContext();
33
+ var tabListContext = useTabListContext();
34
+ var ref = useRef(undefined);
34
35
 
35
36
  if (!tabContext || !tabListContext) {
36
37
  throw new Error('Missing <Tabs /> or <TabList /> in the component tree');
37
38
  }
38
39
 
39
- const handleKeyDown = e => {
40
- const right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';
41
- const left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';
42
- const first = 'Home';
43
- const last = 'End';
40
+ var handleKeyDown = function handleKeyDown(e) {
41
+ var right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';
42
+ var left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';
43
+ var first = 'Home';
44
+ var last = 'End';
44
45
 
45
- const navigateIndex = (desiredIndex, isLast) => {
46
- const delta = e.key === right || e.key === first ? 1 : -1;
47
- const allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
48
- const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
49
- const nextIndex = getNextIndex(isLast ? desiredIndex : currentIndex + desiredIndex, delta, allTabs);
46
+ var navigateIndex = function navigateIndex(desiredIndex, isLast) {
47
+ var delta = e.key === right || e.key === first ? 1 : -1;
48
+ var allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
49
+ var currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
50
+ var nextIndex = getNextIndex(isLast ? desiredIndex : currentIndex + desiredIndex, delta, allTabs);
50
51
 
51
52
  if (nextIndex !== null && nextIndex !== currentIndex && tabContext.onChange) {
52
53
  allTabs[nextIndex].focus();
@@ -72,16 +73,16 @@ export const Tab = /*#__PURE__*/forwardRef(function Tab(props, forwardedRef) {
72
73
  }
73
74
  };
74
75
 
75
- const handleClick = e => {
76
- const allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
77
- const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
76
+ var handleClick = function handleClick(e) {
77
+ var allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);
78
+ var currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;
78
79
 
79
80
  if (currentIndex >= 0) {
80
81
  tabContext.onChange && tabContext.onChange(e, currentIndex);
81
82
  }
82
83
  };
83
84
 
84
- const isSelected = tabIndex === tabContext.currentIndex;
85
+ var isSelected = tabIndex === tabContext.currentIndex;
85
86
  return /*#__PURE__*/_jsx(Comp, _extends({}, otherProps, {
86
87
  ref: assignMultipleRefs(ref, forwardedRef),
87
88
  "data-tab": "",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/Tab.tsx"],"names":["forwardRef","useRef","useTabsContext","useTabListContext","assignMultipleRefs","getCircularIndex","wrapEvent","scopeQuery","getNextIndex","desiredIndex","delta","allTabs","i","length","nextIndex","disabled","Tab","props","forwardedRef","as","Comp","onKeyDown","onClick","index","tabIndex","otherProps","tabContext","tabListContext","ref","undefined","Error","handleKeyDown","e","right","vertical","left","first","last","navigateIndex","isLast","key","tabsScope","current","queryAllNodes","currentIndex","indexOf","onChange","focus","manualActivation","handleClick","isSelected","tabListId"],"mappings":"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","sourcesContent":["import { forwardRef, useRef } from 'react';\nimport type * as React from 'react';\nimport { useTabsContext, useTabListContext } from './context';\nimport { assignMultipleRefs, getCircularIndex, wrapEvent } from '../utils';\nimport { scopeQuery } from './scopeQuery';\n\nfunction getNextIndex(\n desiredIndex: number,\n delta: number,\n allTabs: HTMLButtonElement[]\n) {\n for (let i = 0; i < allTabs.length; i++) {\n const nextIndex = getCircularIndex(\n desiredIndex + delta * i,\n allTabs.length\n );\n\n if (nextIndex !== null && !allTabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return null;\n}\n\nexport interface TabProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(function Tab(\n props,\n forwardedRef\n) {\n const {\n as: Comp = 'button',\n onKeyDown,\n onClick,\n index: tabIndex = -1,\n ...otherProps\n } = props as TabProps & { index: number };\n const tabContext = useTabsContext();\n const tabListContext = useTabListContext();\n\n const ref = useRef<HTMLButtonElement | undefined>(undefined);\n\n if (!tabContext || !tabListContext) {\n throw new Error('Missing <Tabs /> or <TabList /> in the component tree');\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n const right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';\n const left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';\n const first = 'Home';\n const last = 'End';\n\n const navigateIndex = (desiredIndex: number, isLast: boolean) => {\n const delta = e.key === right || e.key === first ? 1 : -1;\n\n const allTabs = tabListContext.tabsScope.current.queryAllNodes(\n scopeQuery\n );\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n const nextIndex = getNextIndex(\n isLast ? desiredIndex : currentIndex + desiredIndex,\n delta,\n allTabs as HTMLButtonElement[]\n );\n\n if (\n nextIndex !== null &&\n nextIndex !== currentIndex &&\n tabContext.onChange\n ) {\n allTabs[nextIndex].focus();\n !tabListContext.manualActivation && tabContext.onChange(e, nextIndex);\n }\n };\n\n switch (e.key) {\n case right:\n case left: {\n navigateIndex(e.key === right ? 1 : -1, false);\n break;\n }\n case first: // Home / End\n case last: {\n navigateIndex(e.key === first ? 0 : -1, true);\n break;\n }\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n if (currentIndex >= 0) {\n tabContext.onChange && tabContext.onChange(e, currentIndex);\n }\n };\n\n const isSelected = tabIndex === tabContext.currentIndex;\n\n return (\n <Comp\n {...otherProps}\n ref={assignMultipleRefs(ref, forwardedRef)}\n data-tab=\"\"\n id={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tab-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n aria-controls={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tabpanel-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n role=\"tab\"\n tabIndex={isSelected ? 0 : -1}\n aria-selected={isSelected}\n selected={isSelected}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onClick={wrapEvent(onClick, handleClick)}\n />\n );\n});\n"],"file":"Tab.js"}
1
+ {"version":3,"sources":["../../../src/Tabs/Tab.tsx"],"names":["forwardRef","useRef","React","useTabsContext","useTabListContext","assignMultipleRefs","getCircularIndex","wrapEvent","scopeQuery","getNextIndex","desiredIndex","delta","allTabs","i","length","nextIndex","disabled","Tab","props","forwardedRef","as","Comp","onKeyDown","onClick","index","tabIndex","otherProps","tabContext","tabListContext","ref","undefined","Error","handleKeyDown","e","right","vertical","left","first","last","navigateIndex","isLast","key","tabsScope","current","queryAllNodes","currentIndex","indexOf","onChange","focus","manualActivation","handleClick","isSelected","tabListId"],"mappings":"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","sourcesContent":["import { forwardRef, useRef } from 'react';\nimport * as React from 'react';\n\nimport { useTabsContext, useTabListContext } from './context';\nimport { assignMultipleRefs, getCircularIndex, wrapEvent } from '../utils';\nimport { scopeQuery } from './scopeQuery';\n\nfunction getNextIndex(\n desiredIndex: number,\n delta: number,\n allTabs: HTMLButtonElement[]\n) {\n for (let i = 0; i < allTabs.length; i++) {\n const nextIndex = getCircularIndex(\n desiredIndex + delta * i,\n allTabs.length\n );\n\n if (nextIndex !== null && !allTabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n\n return null;\n}\n\nexport interface TabProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(function Tab(\n props,\n forwardedRef\n) {\n const {\n as: Comp = 'button',\n onKeyDown,\n onClick,\n index: tabIndex = -1,\n ...otherProps\n } = props as TabProps & { index: number };\n const tabContext = useTabsContext();\n const tabListContext = useTabListContext();\n\n const ref = useRef<HTMLButtonElement | undefined>(undefined);\n\n if (!tabContext || !tabListContext) {\n throw new Error('Missing <Tabs /> or <TabList /> in the component tree');\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n const right = tabListContext.vertical ? 'ArrowDown' : 'ArrowRight';\n const left = tabListContext.vertical ? 'ArrowUp' : 'ArrowLeft';\n const first = 'Home';\n const last = 'End';\n\n const navigateIndex = (desiredIndex: number, isLast: boolean) => {\n const delta = e.key === right || e.key === first ? 1 : -1;\n\n const allTabs =\n tabListContext.tabsScope.current.queryAllNodes(scopeQuery);\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n const nextIndex = getNextIndex(\n isLast ? desiredIndex : currentIndex + desiredIndex,\n delta,\n allTabs as HTMLButtonElement[]\n );\n\n if (\n nextIndex !== null &&\n nextIndex !== currentIndex &&\n tabContext.onChange\n ) {\n allTabs[nextIndex].focus();\n !tabListContext.manualActivation && tabContext.onChange(e, nextIndex);\n }\n };\n\n switch (e.key) {\n case right:\n case left: {\n navigateIndex(e.key === right ? 1 : -1, false);\n break;\n }\n case first: // Home / End\n case last: {\n navigateIndex(e.key === first ? 0 : -1, true);\n break;\n }\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const allTabs = tabListContext.tabsScope.current.queryAllNodes(scopeQuery);\n const currentIndex = ref.current ? allTabs.indexOf(ref.current) : -1;\n\n if (currentIndex >= 0) {\n tabContext.onChange && tabContext.onChange(e, currentIndex);\n }\n };\n\n const isSelected = tabIndex === tabContext.currentIndex;\n\n return (\n <Comp\n {...otherProps}\n ref={assignMultipleRefs(ref, forwardedRef)}\n data-tab=\"\"\n id={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tab-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n aria-controls={\n tabContext.tabListId !== null && tabIndex >= 0\n ? `tabpanel-${tabContext.tabListId}-${tabIndex}`\n : undefined\n }\n role=\"tab\"\n tabIndex={isSelected ? 0 : -1}\n aria-selected={isSelected}\n selected={isSelected}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onClick={wrapEvent(onClick, handleClick)}\n />\n );\n});\n"],"file":"Tab.js"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  export interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  as?: React.ElementType<any>;
4
4
  innerAs?: React.ElementType<any>;
@@ -1,46 +1,50 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
- import { forwardRef, useRef, useEffect, Children, cloneElement } from 'react';
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import { forwardRef, useRef, useEffect, Children, cloneElement, useId } from 'react';
4
+ import * as React from 'react';
4
5
  import { TabListProvider, useTabsContext } from './context';
5
- import { useScope, useId } from '../hooks';
6
+ import { useScope } from '../hooks';
6
7
  import { assignMultipleRefs } from '../utils';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
- export const TabList = /*#__PURE__*/forwardRef(function TabList(props, forwardedRef) {
9
- const {
10
- as: Comp = 'div',
11
- manualActivation = false,
12
- vertical = false,
13
- children: childrenProps
14
- } = props,
15
- otherProps = _objectWithoutPropertiesLoose(props, ["as", "manualActivation", "vertical", "children"]);
9
+ export var TabList = /*#__PURE__*/forwardRef(function TabList(props, forwardedRef) {
10
+ var _props$as = props.as,
11
+ Comp = _props$as === void 0 ? 'div' : _props$as,
12
+ _props$manualActivati = props.manualActivation,
13
+ manualActivation = _props$manualActivati === void 0 ? false : _props$manualActivati,
14
+ _props$vertical = props.vertical,
15
+ vertical = _props$vertical === void 0 ? false : _props$vertical,
16
+ childrenProps = props.children,
17
+ otherProps = _objectWithoutProperties(props, ["as", "manualActivation", "vertical", "children"]);
16
18
 
17
- const ref = useRef();
18
- const tabsScope = useScope(ref);
19
- const tabsContext = useTabsContext();
20
- const id = useId();
19
+ var ref = useRef();
20
+ var tabsScope = useScope(ref);
21
+ var tabsContext = useTabsContext();
22
+ var id = useId();
21
23
 
22
24
  if (!tabsContext) {
23
25
  throw new Error('Missing <Tabs /> in the component tree');
24
26
  }
25
27
 
26
- useEffect(() => {
28
+ useEffect(function () {
27
29
  if (id !== undefined) {
28
30
  tabsContext.setTabListId(id);
29
- return () => {
31
+ return function () {
30
32
  tabsContext.setTabListId(null);
31
33
  };
32
34
  }
33
35
 
34
36
  return;
35
37
  }, [id, tabsContext, tabsContext.setTabListId]);
36
- const children = Children.map(childrenProps, (node, index) => /*#__PURE__*/cloneElement(node, {
37
- index
38
- }));
38
+ var children = Children.map(childrenProps, function (node, index) {
39
+ return /*#__PURE__*/cloneElement(node, {
40
+ index: index
41
+ });
42
+ });
39
43
  return /*#__PURE__*/_jsx(TabListProvider, {
40
44
  value: {
41
- tabsScope,
42
- manualActivation,
43
- vertical
45
+ tabsScope: tabsScope,
46
+ manualActivation: manualActivation,
47
+ vertical: vertical
44
48
  },
45
49
  children: /*#__PURE__*/_jsx(Comp, _extends({
46
50
  ref: assignMultipleRefs(forwardedRef, ref),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/TabList.tsx"],"names":["forwardRef","useRef","useEffect","Children","cloneElement","TabListProvider","useTabsContext","useScope","useId","assignMultipleRefs","TabList","props","forwardedRef","as","Comp","manualActivation","vertical","children","childrenProps","otherProps","ref","tabsScope","tabsContext","id","Error","undefined","setTabListId","map","node","index"],"mappings":";;AAAA,SAASA,UAAT,EAAqBC,MAArB,EAA6BC,SAA7B,EAAwCC,QAAxC,EAAkDC,YAAlD,QAAsE,OAAtE;AAEA,SAASC,eAAT,EAA0BC,cAA1B,QAAgD,WAAhD;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,UAAhC;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAUA,OAAO,MAAMC,OAAO,gBAAGV,UAAU,CAC/B,SAASU,OAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAsC;AACpC,QAAM;AACJC,IAAAA,EAAE,EAAEC,IAAI,GAAG,KADP;AAEJC,IAAAA,gBAAgB,GAAG,KAFf;AAGJC,IAAAA,QAAQ,GAAG,KAHP;AAIJC,IAAAA,QAAQ,EAAEC;AAJN,MAMFP,KANJ;AAAA,QAKKQ,UALL,iCAMIR,KANJ;;AAQA,QAAMS,GAAG,GAAGnB,MAAM,EAAlB;AACA,QAAMoB,SAAS,GAAGd,QAAQ,CAACa,GAAD,CAA1B;AACA,QAAME,WAAW,GAAGhB,cAAc,EAAlC;AACA,QAAMiB,EAAE,GAAGf,KAAK,EAAhB;;AAEA,MAAI,CAACc,WAAL,EAAkB;AAChB,UAAM,IAAIE,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAEDtB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAIqB,EAAE,KAAKE,SAAX,EAAsB;AACpBH,MAAAA,WAAW,CAACI,YAAZ,CAAyBH,EAAzB;AAEA,aAAO,MAAM;AACXD,QAAAA,WAAW,CAACI,YAAZ,CAAyB,IAAzB;AACD,OAFD;AAGD;;AAED;AACD,GAVQ,EAUN,CAACH,EAAD,EAAKD,WAAL,EAAkBA,WAAW,CAACI,YAA9B,CAVM,CAAT;AAYA,QAAMT,QAAQ,GAAGd,QAAQ,CAACwB,GAAT,CAAaT,aAAb,EAA4B,CAACU,IAAD,EAAOC,KAAP,kBAC3CzB,YAAY,CAACwB,IAAD,EAAc;AAAEC,IAAAA;AAAF,GAAd,CADG,CAAjB;AAIA,sBACE,KAAC,eAAD;AAAiB,IAAA,KAAK,EAAE;AAAER,MAAAA,SAAF;AAAaN,MAAAA,gBAAb;AAA+BC,MAAAA;AAA/B,KAAxB;AAAA,2BACE,KAAC,IAAD;AACE,MAAA,GAAG,EAAEP,kBAAkB,CAACG,YAAD,EAAeQ,GAAf,CADzB;AAEE,uBAAc,EAFhB;AAGE,MAAA,IAAI,EAAC;AAHP,OAIMD,UAJN;AAAA,gBAMGF;AANH;AADF,IADF;AAYD,CA/C8B,CAA1B","sourcesContent":["import { forwardRef, useRef, useEffect, Children, cloneElement } from 'react';\nimport type * as React from 'react';\nimport { TabListProvider, useTabsContext } from './context';\nimport { useScope, useId } from '../hooks';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n manualActivation?: boolean;\n vertical?: boolean;\n children?: React.ReactNode;\n}\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList(props, forwardedRef) {\n const {\n as: Comp = 'div',\n manualActivation = false,\n vertical = false,\n children: childrenProps,\n ...otherProps\n } = props;\n\n const ref = useRef();\n const tabsScope = useScope(ref);\n const tabsContext = useTabsContext();\n const id = useId();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree');\n }\n\n useEffect(() => {\n if (id !== undefined) {\n tabsContext.setTabListId(id);\n\n return () => {\n tabsContext.setTabListId(null);\n };\n }\n\n return;\n }, [id, tabsContext, tabsContext.setTabListId]);\n\n const children = Children.map(childrenProps, (node, index) =>\n cloneElement(node as any, { index })\n );\n\n return (\n <TabListProvider value={{ tabsScope, manualActivation, vertical }}>\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n data-tab-list=\"\"\n role=\"tablist\"\n {...otherProps}\n >\n {children}\n </Comp>\n </TabListProvider>\n );\n }\n);\n"],"file":"TabList.js"}
1
+ {"version":3,"sources":["../../../src/Tabs/TabList.tsx"],"names":["forwardRef","useRef","useEffect","Children","cloneElement","useId","React","TabListProvider","useTabsContext","useScope","assignMultipleRefs","TabList","props","forwardedRef","as","Comp","manualActivation","vertical","childrenProps","children","otherProps","ref","tabsScope","tabsContext","id","Error","undefined","setTabListId","map","node","index"],"mappings":";;AAAA,SACEA,UADF,EAEEC,MAFF,EAGEC,SAHF,EAIEC,QAJF,EAKEC,YALF,EAMEC,KANF,QAOO,OAPP;AAQA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,eAAT,EAA0BC,cAA1B,QAAgD,WAAhD;AACA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AAUA,OAAO,IAAMC,OAAO,gBAAGX,UAAU,CAC/B,SAASW,OAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAsC;AAAA,kBAOhCD,KAPgC,CAElCE,EAFkC;AAAA,MAE9BC,IAF8B,0BAEvB,KAFuB;AAAA,8BAOhCH,KAPgC,CAGlCI,gBAHkC;AAAA,MAGlCA,gBAHkC,sCAGf,KAHe;AAAA,wBAOhCJ,KAPgC,CAIlCK,QAJkC;AAAA,MAIlCA,QAJkC,gCAIvB,KAJuB;AAAA,MAKxBC,aALwB,GAOhCN,KAPgC,CAKlCO,QALkC;AAAA,MAM/BC,UAN+B,4BAOhCR,KAPgC;;AASpC,MAAMS,GAAG,GAAGpB,MAAM,EAAlB;AACA,MAAMqB,SAAS,GAAGb,QAAQ,CAACY,GAAD,CAA1B;AACA,MAAME,WAAW,GAAGf,cAAc,EAAlC;AACA,MAAMgB,EAAE,GAAGnB,KAAK,EAAhB;;AAEA,MAAI,CAACkB,WAAL,EAAkB;AAChB,UAAM,IAAIE,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAEDvB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIsB,EAAE,KAAKE,SAAX,EAAsB;AACpBH,MAAAA,WAAW,CAACI,YAAZ,CAAyBH,EAAzB;AAEA,aAAO,YAAM;AACXD,QAAAA,WAAW,CAACI,YAAZ,CAAyB,IAAzB;AACD,OAFD;AAGD;;AAED;AACD,GAVQ,EAUN,CAACH,EAAD,EAAKD,WAAL,EAAkBA,WAAW,CAACI,YAA9B,CAVM,CAAT;AAYA,MAAMR,QAAQ,GAAGhB,QAAQ,CAACyB,GAAT,CAAaV,aAAb,EAA4B,UAACW,IAAD,EAAOC,KAAP;AAAA,wBAC3C1B,YAAY,CAACyB,IAAD,EAAc;AAAEC,MAAAA,KAAK,EAALA;AAAF,KAAd,CAD+B;AAAA,GAA5B,CAAjB;AAIA,sBACE,KAAC,eAAD;AAAiB,IAAA,KAAK,EAAE;AAAER,MAAAA,SAAS,EAATA,SAAF;AAAaN,MAAAA,gBAAgB,EAAhBA,gBAAb;AAA+BC,MAAAA,QAAQ,EAARA;AAA/B,KAAxB;AAAA,2BACE,KAAC,IAAD;AACE,MAAA,GAAG,EAAEP,kBAAkB,CAACG,YAAD,EAAeQ,GAAf,CADzB;AAEE,uBAAc,EAFhB;AAGE,MAAA,IAAI,EAAC;AAHP,OAIMD,UAJN;AAAA,gBAMGD;AANH;AADF,IADF;AAYD,CA/C8B,CAA1B","sourcesContent":["import {\n forwardRef,\n useRef,\n useEffect,\n Children,\n cloneElement,\n useId,\n} from 'react';\nimport * as React from 'react';\n\nimport { TabListProvider, useTabsContext } from './context';\nimport { useScope } from '../hooks';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n manualActivation?: boolean;\n vertical?: boolean;\n children?: React.ReactNode;\n}\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList(props, forwardedRef) {\n const {\n as: Comp = 'div',\n manualActivation = false,\n vertical = false,\n children: childrenProps,\n ...otherProps\n } = props;\n\n const ref = useRef();\n const tabsScope = useScope(ref);\n const tabsContext = useTabsContext();\n const id = useId();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree');\n }\n\n useEffect(() => {\n if (id !== undefined) {\n tabsContext.setTabListId(id);\n\n return () => {\n tabsContext.setTabListId(null);\n };\n }\n\n return;\n }, [id, tabsContext, tabsContext.setTabListId]);\n\n const children = Children.map(childrenProps, (node, index) =>\n cloneElement(node as any, { index })\n );\n\n return (\n <TabListProvider value={{ tabsScope, manualActivation, vertical }}>\n <Comp\n ref={assignMultipleRefs(forwardedRef, ref)}\n data-tab-list=\"\"\n role=\"tablist\"\n {...otherProps}\n >\n {children}\n </Comp>\n </TabListProvider>\n );\n }\n);\n"],"file":"TabList.js"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  export interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  as?: React.ElementType<any>;
4
4
  innerAs?: React.ElementType<any>;
@@ -1,25 +1,26 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { forwardRef } from 'react';
4
+ import * as React from 'react';
4
5
  import { useTabsContext } from './context';
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export const TabPanel = /*#__PURE__*/forwardRef(function TabPanel(props, forwardedRef) {
7
- const _ref = props,
8
- {
9
- as: Comp = 'div',
10
- index,
11
- lazy = false,
12
- children
13
- } = _ref,
14
- otherProps = _objectWithoutPropertiesLoose(_ref, ["as", "index", "lazy", "children"]);
7
+ export var TabPanel = /*#__PURE__*/forwardRef(function TabPanel(props, forwardedRef) {
8
+ var _ref = props,
9
+ _ref$as = _ref.as,
10
+ Comp = _ref$as === void 0 ? 'div' : _ref$as,
11
+ index = _ref.index,
12
+ _ref$lazy = _ref.lazy,
13
+ lazy = _ref$lazy === void 0 ? false : _ref$lazy,
14
+ children = _ref.children,
15
+ otherProps = _objectWithoutProperties(_ref, ["as", "index", "lazy", "children"]);
15
16
 
16
- const tabsContext = useTabsContext();
17
+ var tabsContext = useTabsContext();
17
18
 
18
19
  if (!tabsContext) {
19
20
  throw new Error('Missing <Tabs /> in the component tree.');
20
21
  }
21
22
 
22
- const isSelected = tabsContext.currentIndex === index;
23
+ var isSelected = tabsContext.currentIndex === index;
23
24
  return /*#__PURE__*/_jsx(Comp, _extends({
24
25
  ref: forwardedRef,
25
26
  "data-tab-panel": "",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/TabPanel.tsx"],"names":["forwardRef","useTabsContext","TabPanel","props","forwardedRef","as","Comp","index","lazy","children","otherProps","tabsContext","Error","isSelected","currentIndex","tabListId","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,cAAT,QAA+B,WAA/B;;AASA,OAAO,MAAMC,QAAQ,gBAAGF,UAAU,CAChC,SAASE,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;AACrC,eAMID,KANJ;AAAA,QAAM;AACJE,IAAAA,EAAE,EAAEC,IAAI,GAAG,KADP;AAEJC,IAAAA,KAFI;AAGJC,IAAAA,IAAI,GAAG,KAHH;AAIJC,IAAAA;AAJI,GAAN;AAAA,QAKKC,UALL;;AAOA,QAAMC,WAAW,GAAGV,cAAc,EAAlC;;AAEA,MAAI,CAACU,WAAL,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,QAAMC,UAAU,GAAGF,WAAW,CAACG,YAAZ,KAA6BP,KAAhD;AAEA,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEH,YADP;AAEE,sBAAe,EAFjB;AAGE,IAAA,IAAI,EAAC,UAHP;AAIE,IAAA,EAAE,EACAO,WAAW,CAACI,SAAZ,KAA0B,IAA1B,sBACgBJ,WAAW,CAACI,SAD5B,cACyCR,KADzC,IAEIS,SAPR;AASE,uBACEL,WAAW,CAACI,SAAZ,KAA0B,IAA1B,iBACWJ,WAAW,CAACI,SADvB,cACoCR,KADpC,IAEIS,SAZR;AAcE,IAAA,MAAM,EAAEH,UAAU,GAAGG,SAAH,GAAe,QAdnC;AAeE,IAAA,QAAQ,EAAE;AAfZ,KAgBMN,UAhBN;AAAA,cAkBG,CAACG,UAAU,IAAI,CAACL,IAAhB,KAAyBC;AAlB5B,KADF;AAsBD,CAvC+B,CAA3B","sourcesContent":["import { forwardRef } from 'react';\nimport type * as React from 'react';\nimport { useTabsContext } from './context';\n\nexport interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n lazy?: boolean;\n}\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(\n function TabPanel(props, forwardedRef) {\n const {\n as: Comp = 'div',\n index,\n lazy = false,\n children,\n ...otherProps\n } = props as TabPanelProps & { index: number };\n const tabsContext = useTabsContext();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree.');\n }\n\n const isSelected = tabsContext.currentIndex === index;\n\n return (\n <Comp\n ref={forwardedRef}\n data-tab-panel=\"\"\n role=\"tabpanel\"\n id={\n tabsContext.tabListId !== null\n ? `tabpanel-${tabsContext.tabListId}-${index}`\n : undefined\n }\n aria-labelledby={\n tabsContext.tabListId !== null\n ? `tab-${tabsContext.tabListId}-${index}`\n : undefined\n }\n hidden={isSelected ? undefined : 'hidden'}\n tabIndex={0}\n {...otherProps}\n >\n {(isSelected || !lazy) && children}\n </Comp>\n );\n }\n);\n"],"file":"TabPanel.js"}
1
+ {"version":3,"sources":["../../../src/Tabs/TabPanel.tsx"],"names":["forwardRef","React","useTabsContext","TabPanel","props","forwardedRef","as","Comp","index","lazy","children","otherProps","tabsContext","Error","isSelected","currentIndex","tabListId","undefined"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAEA,SAASC,cAAT,QAA+B,WAA/B;;AASA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,SAASG,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;AAAA,aAOjCD,KAPiC;AAAA,qBAEnCE,EAFmC;AAAA,MAE/BC,IAF+B,wBAExB,KAFwB;AAAA,MAGnCC,KAHmC,QAGnCA,KAHmC;AAAA,uBAInCC,IAJmC;AAAA,MAInCA,IAJmC,0BAI5B,KAJ4B;AAAA,MAKnCC,QALmC,QAKnCA,QALmC;AAAA,MAMhCC,UANgC;;AAQrC,MAAMC,WAAW,GAAGV,cAAc,EAAlC;;AAEA,MAAI,CAACU,WAAL,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,MAAMC,UAAU,GAAGF,WAAW,CAACG,YAAZ,KAA6BP,KAAhD;AAEA,sBACE,KAAC,IAAD;AACE,IAAA,GAAG,EAAEH,YADP;AAEE,sBAAe,EAFjB;AAGE,IAAA,IAAI,EAAC,UAHP;AAIE,IAAA,EAAE,EACAO,WAAW,CAACI,SAAZ,KAA0B,IAA1B,sBACgBJ,WAAW,CAACI,SAD5B,cACyCR,KADzC,IAEIS,SAPR;AASE,uBACEL,WAAW,CAACI,SAAZ,KAA0B,IAA1B,iBACWJ,WAAW,CAACI,SADvB,cACoCR,KADpC,IAEIS,SAZR;AAcE,IAAA,MAAM,EAAEH,UAAU,GAAGG,SAAH,GAAe,QAdnC;AAeE,IAAA,QAAQ,EAAE;AAfZ,KAgBMN,UAhBN;AAAA,cAkBG,CAACG,UAAU,IAAI,CAACL,IAAhB,KAAyBC;AAlB5B,KADF;AAsBD,CAvC+B,CAA3B","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { useTabsContext } from './context';\n\nexport interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n innerAs?: React.ElementType<any>;\n children?: React.ReactNode;\n lazy?: boolean;\n}\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(\n function TabPanel(props, forwardedRef) {\n const {\n as: Comp = 'div',\n index,\n lazy = false,\n children,\n ...otherProps\n } = props as TabPanelProps & { index: number };\n const tabsContext = useTabsContext();\n\n if (!tabsContext) {\n throw new Error('Missing <Tabs /> in the component tree.');\n }\n\n const isSelected = tabsContext.currentIndex === index;\n\n return (\n <Comp\n ref={forwardedRef}\n data-tab-panel=\"\"\n role=\"tabpanel\"\n id={\n tabsContext.tabListId !== null\n ? `tabpanel-${tabsContext.tabListId}-${index}`\n : undefined\n }\n aria-labelledby={\n tabsContext.tabListId !== null\n ? `tab-${tabsContext.tabListId}-${index}`\n : undefined\n }\n hidden={isSelected ? undefined : 'hidden'}\n tabIndex={0}\n {...otherProps}\n >\n {(isSelected || !lazy) && children}\n </Comp>\n );\n }\n);\n"],"file":"TabPanel.js"}
@@ -1,4 +1,4 @@
1
- import type * as React from 'react';
1
+ import * as React from 'react';
2
2
  export interface TabPanelsProps {
3
3
  as?: React.ElementType<any>;
4
4
  innerAs?: React.ElementType<any>;
@@ -1,19 +1,21 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { forwardRef, Fragment, Children, cloneElement } from 'react';
4
+ import * as React from 'react';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
- export const TabPanels = /*#__PURE__*/forwardRef(function TabPanels(props, forwardedRef) {
6
- const {
7
- as: Comp = Fragment,
8
- children: childrenProps,
9
- lazy
10
- } = props,
11
- otherProps = _objectWithoutPropertiesLoose(props, ["as", "children", "lazy"]);
6
+ export var TabPanels = /*#__PURE__*/forwardRef(function TabPanels(props, forwardedRef) {
7
+ var _props$as = props.as,
8
+ Comp = _props$as === void 0 ? Fragment : _props$as,
9
+ childrenProps = props.children,
10
+ lazy = props.lazy,
11
+ otherProps = _objectWithoutProperties(props, ["as", "children", "lazy"]);
12
12
 
13
- const children = Children.map(childrenProps, (node, index) => /*#__PURE__*/cloneElement(node, {
14
- index,
15
- lazy
16
- }));
13
+ var children = Children.map(childrenProps, function (node, index) {
14
+ return /*#__PURE__*/cloneElement(node, {
15
+ index: index,
16
+ lazy: lazy
17
+ });
18
+ });
17
19
  return /*#__PURE__*/_jsx(Comp, _extends({
18
20
  ref: forwardedRef
19
21
  }, otherProps, {