@basic-ui/core 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +105 -89
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Accordion/Accordion.d.ts +9 -9
  5. package/build/esm/Accordion/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/AccordionBody.d.ts +6 -6
  7. package/build/esm/Accordion/AccordionBody.js.map +1 -1
  8. package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
  9. package/build/esm/Accordion/AccordionHeader.js.map +1 -1
  10. package/build/esm/Accordion/AccordionItem.d.ts +9 -9
  11. package/build/esm/Accordion/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/context.d.ts +19 -19
  13. package/build/esm/Accordion/context.js.map +1 -1
  14. package/build/esm/Accordion/index.d.ts +4 -4
  15. package/build/esm/Accordion/index.js.map +1 -1
  16. package/build/esm/Accordion/scopeQuery.d.ts +2 -2
  17. package/build/esm/Accordion/scopeQuery.js.map +1 -1
  18. package/build/esm/Carousel/Carousel.d.ts +9 -0
  19. package/build/esm/Carousel/Carousel.js +38 -0
  20. package/build/esm/Carousel/Carousel.js.map +1 -0
  21. package/build/esm/Carousel/Fader.d.ts +14 -0
  22. package/build/esm/Carousel/Fader.js +76 -0
  23. package/build/esm/Carousel/Fader.js.map +1 -0
  24. package/build/esm/Carousel/FaderItem.d.ts +5 -0
  25. package/build/esm/Carousel/FaderItem.js +16 -0
  26. package/build/esm/Carousel/FaderItem.js.map +1 -0
  27. package/build/esm/Carousel/Preloader.d.ts +7 -0
  28. package/build/esm/Carousel/Preloader.js +70 -0
  29. package/build/esm/Carousel/Preloader.js.map +1 -0
  30. package/build/esm/Carousel/Slider.d.ts +14 -0
  31. package/build/esm/Carousel/Slider.js +212 -0
  32. package/build/esm/Carousel/Slider.js.map +1 -0
  33. package/build/esm/Carousel/SliderItem.d.ts +12 -0
  34. package/build/esm/Carousel/SliderItem.js +41 -0
  35. package/build/esm/Carousel/SliderItem.js.map +1 -0
  36. package/build/esm/Carousel/context.d.ts +10 -0
  37. package/build/esm/Carousel/context.js +8 -0
  38. package/build/esm/Carousel/context.js.map +1 -0
  39. package/build/esm/Carousel/getSliderParams.d.ts +9 -0
  40. package/build/esm/Carousel/getSliderParams.js +85 -0
  41. package/build/esm/Carousel/getSliderParams.js.map +1 -0
  42. package/build/esm/Carousel/index.d.ts +7 -0
  43. package/build/esm/Carousel/index.js +8 -0
  44. package/build/esm/Carousel/index.js.map +1 -0
  45. package/build/esm/Carousel/useCarouselGestures.d.ts +30 -0
  46. package/build/esm/Carousel/useCarouselGestures.js +33 -0
  47. package/build/esm/Carousel/useCarouselGestures.js.map +1 -0
  48. package/build/esm/CheckBox/CheckBox.d.ts +7 -7
  49. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  50. package/build/esm/CheckBox/index.d.ts +1 -1
  51. package/build/esm/CheckBox/index.js.map +1 -1
  52. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  53. package/build/esm/ComboBox/Combobox.js.map +1 -1
  54. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  55. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  56. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  57. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  58. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  59. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  60. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  61. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  62. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  63. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  64. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  65. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  66. package/build/esm/ComboBox/cities.d.ts +5 -5
  67. package/build/esm/ComboBox/cities.js.map +1 -1
  68. package/build/esm/ComboBox/context.d.ts +30 -30
  69. package/build/esm/ComboBox/context.js.map +1 -1
  70. package/build/esm/ComboBox/hooks.d.ts +37 -37
  71. package/build/esm/ComboBox/hooks.js.map +1 -1
  72. package/build/esm/ComboBox/index.d.ts +8 -8
  73. package/build/esm/ComboBox/index.js.map +1 -1
  74. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  75. package/build/esm/ComboBox/makeHash.js.map +1 -1
  76. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  77. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  78. package/build/esm/DatePicker/DatePicker.d.ts +24 -0
  79. package/build/esm/DatePicker/DatePicker.js +101 -0
  80. package/build/esm/DatePicker/DatePicker.js.map +1 -0
  81. package/build/esm/DatePicker/DatePickerSelect.d.ts +8 -0
  82. package/build/esm/DatePicker/DatePickerSelect.js +201 -0
  83. package/build/esm/DatePicker/DatePickerSelect.js.map +1 -0
  84. package/build/esm/DatePicker/RangeDatePicker.d.ts +28 -0
  85. package/build/esm/DatePicker/RangeDatePicker.js +94 -0
  86. package/build/esm/DatePicker/RangeDatePicker.js.map +1 -0
  87. package/build/esm/DatePicker/adjustDates.d.ts +4 -0
  88. package/build/esm/DatePicker/adjustDates.js +18 -0
  89. package/build/esm/DatePicker/adjustDates.js.map +1 -0
  90. package/build/esm/DatePicker/contexts.d.ts +31 -0
  91. package/build/esm/DatePicker/contexts.js +15 -0
  92. package/build/esm/DatePicker/contexts.js.map +1 -0
  93. package/build/esm/DatePicker/dateTypes.d.ts +2 -0
  94. package/build/esm/DatePicker/dateTypes.js +2 -0
  95. package/build/esm/DatePicker/dateTypes.js.map +1 -0
  96. package/build/esm/DatePicker/hooks.d.ts +36 -0
  97. package/build/esm/DatePicker/hooks.js +98 -0
  98. package/build/esm/DatePicker/hooks.js.map +1 -0
  99. package/build/esm/DatePicker/index.d.ts +5 -0
  100. package/build/esm/DatePicker/index.js +6 -0
  101. package/build/esm/DatePicker/index.js.map +1 -0
  102. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  103. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  104. package/build/esm/FocusLock/index.d.ts +1 -1
  105. package/build/esm/FocusLock/index.js.map +1 -1
  106. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  107. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  108. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  109. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  110. package/build/esm/List/List.d.ts +7 -7
  111. package/build/esm/List/List.js.map +1 -1
  112. package/build/esm/List/ListItem.d.ts +7 -7
  113. package/build/esm/List/ListItem.js.map +1 -1
  114. package/build/esm/List/context.d.ts +4 -4
  115. package/build/esm/List/context.js.map +1 -1
  116. package/build/esm/List/index.d.ts +2 -2
  117. package/build/esm/List/index.js.map +1 -1
  118. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  119. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  120. package/build/esm/Menu/Menu.d.ts +10 -10
  121. package/build/esm/Menu/Menu.js.map +1 -1
  122. package/build/esm/Menu/MenuButton.d.ts +11 -11
  123. package/build/esm/Menu/MenuButton.js.map +1 -1
  124. package/build/esm/Menu/MenuItem.d.ts +8 -8
  125. package/build/esm/Menu/MenuItem.js.map +1 -1
  126. package/build/esm/Menu/MenuList.d.ts +7 -7
  127. package/build/esm/Menu/MenuList.js.map +1 -1
  128. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  129. package/build/esm/Menu/MenuPopover.js.map +1 -1
  130. package/build/esm/Menu/context.d.ts +25 -25
  131. package/build/esm/Menu/context.js.map +1 -1
  132. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  133. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  134. package/build/esm/Menu/index.d.ts +6 -6
  135. package/build/esm/Menu/index.js.map +1 -1
  136. package/build/esm/Menu/scope.d.ts +1 -1
  137. package/build/esm/Menu/scope.js.map +1 -1
  138. package/build/esm/Modal/Modal.d.ts +9 -9
  139. package/build/esm/Modal/Modal.js.map +1 -1
  140. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  141. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  142. package/build/esm/Modal/index.d.ts +2 -2
  143. package/build/esm/Modal/index.js.map +1 -1
  144. package/build/esm/Popper/Popper.d.ts +35 -35
  145. package/build/esm/Popper/Popper.js.map +1 -1
  146. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  147. package/build/esm/Popper/PopperArrow.js.map +1 -1
  148. package/build/esm/Popper/context.d.ts +6 -6
  149. package/build/esm/Popper/context.js.map +1 -1
  150. package/build/esm/Popper/index.d.ts +3 -3
  151. package/build/esm/Popper/index.js.map +1 -1
  152. package/build/esm/Portal/Portal.d.ts +7 -6
  153. package/build/esm/Portal/Portal.js +6 -3
  154. package/build/esm/Portal/Portal.js.map +1 -1
  155. package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -0
  156. package/build/esm/Portal/PortalSelectorProvider.js +13 -0
  157. package/build/esm/Portal/PortalSelectorProvider.js.map +1 -0
  158. package/build/esm/Portal/index.d.ts +2 -1
  159. package/build/esm/Portal/index.js +1 -0
  160. package/build/esm/Portal/index.js.map +1 -1
  161. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  162. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  163. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  164. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  165. package/build/esm/RadioButton/context.d.ts +9 -9
  166. package/build/esm/RadioButton/context.js.map +1 -1
  167. package/build/esm/RadioButton/index.d.ts +2 -2
  168. package/build/esm/RadioButton/index.js.map +1 -1
  169. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  170. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  171. package/build/esm/SkipNav/index.d.ts +1 -1
  172. package/build/esm/SkipNav/index.js.map +1 -1
  173. package/build/esm/Slider/Slider.d.ts +197 -197
  174. package/build/esm/Slider/Slider.js +82 -82
  175. package/build/esm/Slider/Slider.js.map +1 -1
  176. package/build/esm/Slider/index.d.ts +1 -1
  177. package/build/esm/Slider/index.js.map +1 -1
  178. package/build/esm/Spinner/Spinner.d.ts +12 -12
  179. package/build/esm/Spinner/Spinner.js.map +1 -1
  180. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  181. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  182. package/build/esm/Spinner/context.d.ts +12 -12
  183. package/build/esm/Spinner/context.js.map +1 -1
  184. package/build/esm/Spinner/index.d.ts +2 -2
  185. package/build/esm/Spinner/index.js.map +1 -1
  186. package/build/esm/Tabs/Tab.d.ts +7 -7
  187. package/build/esm/Tabs/Tab.js.map +1 -1
  188. package/build/esm/Tabs/TabList.d.ts +9 -9
  189. package/build/esm/Tabs/TabList.js.map +1 -1
  190. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  191. package/build/esm/Tabs/TabPanel.js.map +1 -1
  192. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  193. package/build/esm/Tabs/TabPanels.js.map +1 -1
  194. package/build/esm/Tabs/Tabs.d.ts +10 -10
  195. package/build/esm/Tabs/Tabs.js.map +1 -1
  196. package/build/esm/Tabs/context.d.ts +17 -17
  197. package/build/esm/Tabs/context.js.map +1 -1
  198. package/build/esm/Tabs/index.d.ts +5 -5
  199. package/build/esm/Tabs/index.js.map +1 -1
  200. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  201. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  202. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  203. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  204. package/build/esm/Tooltip/index.d.ts +1 -1
  205. package/build/esm/Tooltip/index.js.map +1 -1
  206. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  207. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  208. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  209. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  210. package/build/esm/hooks/index.d.ts +13 -13
  211. package/build/esm/hooks/index.js.map +1 -1
  212. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  213. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  214. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  215. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  216. package/build/esm/hooks/useControlledState.d.ts +3 -3
  217. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  218. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  219. package/build/esm/hooks/useFocusState.d.ts +11 -11
  220. package/build/esm/hooks/useFocusState.js.map +1 -1
  221. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  222. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  223. package/build/esm/hooks/useId.d.ts +1 -0
  224. package/build/esm/hooks/useId.js +25 -0
  225. package/build/esm/hooks/useId.js.map +1 -0
  226. package/build/esm/hooks/useMeasure.d.ts +7 -7
  227. package/build/esm/hooks/useMeasure.js.map +1 -1
  228. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  229. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  230. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  231. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  232. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  233. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  234. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  235. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  236. package/build/esm/hooks/useScope.d.ts +11 -11
  237. package/build/esm/hooks/useScope.js.map +1 -1
  238. package/build/esm/hooks/useThrottle.d.ts +1 -1
  239. package/build/esm/hooks/useThrottle.js.map +1 -1
  240. package/build/esm/index.d.ts +15 -15
  241. package/build/esm/index.js.map +1 -1
  242. package/build/esm/utils/assign-ref.d.ts +3 -3
  243. package/build/esm/utils/assign-ref.js.map +1 -1
  244. package/build/esm/utils/assignRef.d.ts +3 -0
  245. package/build/esm/utils/assignRef.js +25 -0
  246. package/build/esm/utils/assignRef.js.map +1 -0
  247. package/build/esm/utils/can-use-dom.d.ts +1 -1
  248. package/build/esm/utils/can-use-dom.js.map +1 -1
  249. package/build/esm/utils/clamp.d.ts +1 -1
  250. package/build/esm/utils/clamp.js.map +1 -1
  251. package/build/esm/utils/context.d.ts +7 -7
  252. package/build/esm/utils/context.js.map +1 -1
  253. package/build/esm/utils/create-subscription.d.ts +4 -4
  254. package/build/esm/utils/create-subscription.js.map +1 -1
  255. package/build/esm/utils/get-circular-index.d.ts +1 -1
  256. package/build/esm/utils/get-circular-index.js.map +1 -1
  257. package/build/esm/utils/getCircularIndex.d.ts +1 -0
  258. package/build/esm/utils/getCircularIndex.js +8 -0
  259. package/build/esm/utils/getCircularIndex.js.map +1 -0
  260. package/build/esm/utils/index.d.ts +10 -10
  261. package/build/esm/utils/index.js.map +1 -1
  262. package/build/esm/utils/is-right-click.d.ts +6 -6
  263. package/build/esm/utils/is-right-click.js +4 -4
  264. package/build/esm/utils/is-right-click.js.map +1 -1
  265. package/build/esm/utils/owner-document.d.ts +7 -7
  266. package/build/esm/utils/owner-document.js +5 -5
  267. package/build/esm/utils/owner-document.js.map +1 -1
  268. package/build/esm/utils/polymorphic.d.ts +39 -39
  269. package/build/esm/utils/polymorphic.js.map +1 -1
  270. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  271. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  272. package/build/esm/utils/rubberBandClamp.d.ts +2 -0
  273. package/build/esm/utils/rubberBandClamp.js +20 -0
  274. package/build/esm/utils/rubberBandClamp.js.map +1 -0
  275. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  276. package/build/esm/utils/use-stable-callback.js +16 -16
  277. package/build/esm/utils/use-stable-callback.js.map +1 -1
  278. package/build/esm/utils/wrap-event.d.ts +3 -3
  279. package/build/esm/utils/wrap-event.js.map +1 -1
  280. package/build/esm/utils/wrapEvent.d.ts +3 -0
  281. package/build/esm/utils/wrapEvent.js +16 -0
  282. package/build/esm/utils/wrapEvent.js.map +1 -0
  283. package/build/tsconfig-build.tsbuildinfo +1 -1
  284. package/build/tsconfig.tsbuildinfo +7270 -0
  285. package/package.json +2 -2
  286. package/src/Accordion/Accordion.story.tsx +74 -74
  287. package/src/Accordion/Accordion.tsx +59 -59
  288. package/src/Accordion/AccordionBody.tsx +52 -52
  289. package/src/Accordion/AccordionHeader.tsx +167 -167
  290. package/src/Accordion/AccordionItem.tsx +50 -50
  291. package/src/Accordion/context.ts +37 -37
  292. package/src/Accordion/index.ts +4 -4
  293. package/src/Accordion/scopeQuery.ts +7 -7
  294. package/src/Accordion/styles.css +21 -21
  295. package/src/CheckBox/CheckBox.tsx +41 -41
  296. package/src/CheckBox/index.ts +1 -1
  297. package/src/ComboBox/ComboBox.story.tsx +120 -120
  298. package/src/ComboBox/Combobox.tsx +148 -148
  299. package/src/ComboBox/ComboboxButton.tsx +61 -61
  300. package/src/ComboBox/ComboboxInput.tsx +187 -187
  301. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  302. package/src/ComboBox/ComboboxList.tsx +47 -47
  303. package/src/ComboBox/ComboboxOption.tsx +111 -111
  304. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  305. package/src/ComboBox/cities.ts +23194 -23194
  306. package/src/ComboBox/context.ts +35 -35
  307. package/src/ComboBox/hooks.tsx +451 -451
  308. package/src/ComboBox/index.ts +8 -8
  309. package/src/ComboBox/makeHash.ts +19 -19
  310. package/src/ComboBox/scopeQuery.ts +6 -6
  311. package/src/ComboBox/styles.css +32 -32
  312. package/src/FocusLock/FocusLock.tsx +66 -66
  313. package/src/FocusLock/index.ts +1 -1
  314. package/src/FocusLock/tabUtils.ts +40 -40
  315. package/src/FocusLock/useFocusLock.ts +56 -56
  316. package/src/List/List.story.tsx +18 -18
  317. package/src/List/List.tsx +17 -17
  318. package/src/List/ListItem.tsx +23 -23
  319. package/src/List/context.ts +19 -19
  320. package/src/List/index.ts +2 -2
  321. package/src/Menu/ContextMenu.story.tsx +73 -73
  322. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  323. package/src/Menu/Menu.story.tsx +160 -160
  324. package/src/Menu/Menu.tsx +83 -83
  325. package/src/Menu/MenuButton.tsx +83 -83
  326. package/src/Menu/MenuComplex.story.tsx +58 -58
  327. package/src/Menu/MenuItem.tsx +88 -88
  328. package/src/Menu/MenuList.tsx +254 -254
  329. package/src/Menu/MenuPopover.tsx +35 -35
  330. package/src/Menu/context.ts +44 -44
  331. package/src/Menu/fixtures/countryList.ts +198 -198
  332. package/src/Menu/index.ts +6 -6
  333. package/src/Menu/scope.ts +7 -7
  334. package/src/Menu/styles.css +42 -42
  335. package/src/Modal/Modal.story.tsx +258 -258
  336. package/src/Modal/Modal.tsx +48 -48
  337. package/src/Modal/ModalBackdrop.tsx +78 -78
  338. package/src/Modal/NavDrawer.story.tsx +158 -158
  339. package/src/Modal/index.ts +2 -2
  340. package/src/Modal/styles.css +46 -46
  341. package/src/Popper/Popper.story.tsx +263 -263
  342. package/src/Popper/Popper.tsx +154 -154
  343. package/src/Popper/PopperArrow.tsx +35 -35
  344. package/src/Popper/context.ts +10 -10
  345. package/src/Popper/index.ts +3 -3
  346. package/src/Popper/styles.css +60 -60
  347. package/src/Portal/Portal.tsx +31 -20
  348. package/src/Portal/PortalSelectorProvider.tsx +24 -0
  349. package/src/Portal/index.ts +6 -1
  350. package/src/RadioButton/RadioButton.story.tsx +77 -77
  351. package/src/RadioButton/RadioButton.tsx +55 -55
  352. package/src/RadioButton/RadioGroup.tsx +60 -60
  353. package/src/RadioButton/context.ts +17 -17
  354. package/src/RadioButton/index.ts +2 -2
  355. package/src/SkipNav/SkipNav.tsx +16 -16
  356. package/src/SkipNav/index.tsx +1 -1
  357. package/src/Slider/Slider.story.tsx +45 -45
  358. package/src/Slider/Slider.tsx +1120 -1120
  359. package/src/Slider/index.ts +1 -1
  360. package/src/Slider/styles.css +131 -131
  361. package/src/Spinner/Spinner.story.tsx +31 -31
  362. package/src/Spinner/Spinner.tsx +117 -117
  363. package/src/Spinner/SpinnerButton.tsx +54 -54
  364. package/src/Spinner/context.ts +20 -20
  365. package/src/Spinner/index.ts +2 -2
  366. package/src/Spinner/styles.css +23 -23
  367. package/src/Tabs/Tab.story.tsx +80 -80
  368. package/src/Tabs/Tab.tsx +136 -136
  369. package/src/Tabs/TabList.tsx +71 -71
  370. package/src/Tabs/TabPanel.tsx +53 -53
  371. package/src/Tabs/TabPanels.tsx +30 -30
  372. package/src/Tabs/Tabs.tsx +46 -46
  373. package/src/Tabs/context.ts +30 -30
  374. package/src/Tabs/index.tsx +5 -5
  375. package/src/Tabs/scopeQuery.ts +6 -6
  376. package/src/Tooltip/Tooltip.story.tsx +61 -61
  377. package/src/Tooltip/Tooltip.tsx +50 -50
  378. package/src/Tooltip/index.ts +1 -1
  379. package/src/Tooltip/stateMachine.ts +192 -192
  380. package/src/Tooltip/styles.css +17 -17
  381. package/src/Tooltip/useTooltip.ts +136 -136
  382. package/src/hooks/index.ts +13 -13
  383. package/src/hooks/useAutoFocus.ts +22 -22
  384. package/src/hooks/useChildrenCounter.ts +51 -51
  385. package/src/hooks/useFocusReturn.ts +43 -43
  386. package/src/hooks/useFocusState.ts +30 -30
  387. package/src/hooks/useGestureHandlers.ts +286 -286
  388. package/src/hooks/useMeasure.ts +33 -33
  389. package/src/hooks/useOnClickOutside.ts +32 -32
  390. package/src/hooks/useOnKeyDown.ts +19 -19
  391. package/src/hooks/useReducerMachine.ts +60 -60
  392. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  393. package/src/hooks/useScope.ts +52 -52
  394. package/src/hooks/useThrottle.ts +19 -19
  395. package/src/index.ts +20 -20
  396. package/src/utils/assign-ref.ts +27 -27
  397. package/src/utils/can-use-dom.ts +7 -7
  398. package/src/utils/clamp.ts +3 -3
  399. package/src/utils/context.tsx +48 -48
  400. package/src/utils/create-subscription.ts +16 -16
  401. package/src/utils/get-circular-index.ts +7 -7
  402. package/src/utils/index.ts +10 -10
  403. package/src/utils/is-right-click.ts +14 -14
  404. package/src/utils/owner-document.ts +13 -13
  405. package/src/utils/polymorphic.ts +78 -78
  406. package/src/utils/rubber-band-clamp.ts +25 -25
  407. package/src/utils/use-stable-callback.ts +58 -58
  408. package/src/utils/wrap-event.ts +22 -22
@@ -0,0 +1,212 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import React, { useRef, useReducer, useEffect, useMemo, Children, forwardRef } from 'react';
5
+ import { useSpring, animated } from 'react-spring';
6
+ import { SliderItemRenderer } from './SliderItem';
7
+ import { useCarouselContext } from './context';
8
+ import { getSliderParams } from './getSliderParams';
9
+ import { useCarouselGestures } from './useCarouselGestures';
10
+ export var sliderConfig = {
11
+ tension: 230,
12
+ friction: 20,
13
+ clamp: true
14
+ };
15
+ var SET_CURRENT_SLIDER_INDEX = 'setCurrentSlideIndex';
16
+ var SET_SHOULD_ANIMATE_TO_REST = 'setShouldAnimateToRest';
17
+ var TRIGGER_RERENDER = 'triggerRerender';
18
+
19
+ function reducer(prevState, action) {
20
+ switch (action.type) {
21
+ case SET_CURRENT_SLIDER_INDEX:
22
+ return _extends(_extends({}, prevState), {}, {
23
+ currentSlideIndex: action.payload,
24
+ shouldAnimateToRest: false
25
+ });
26
+
27
+ case SET_SHOULD_ANIMATE_TO_REST:
28
+ return _extends(_extends({}, prevState), {}, {
29
+ shouldAnimateToRest: action.payload
30
+ });
31
+
32
+ case TRIGGER_RERENDER:
33
+ return _extends({}, prevState);
34
+ }
35
+ }
36
+
37
+ var noop = function noop() {
38
+ /* null function to be used on onRest and onFrame */
39
+ };
40
+
41
+ export var Slider = forwardRef(function Slider(_ref, ref) {
42
+ var _ref$as = _ref.as,
43
+ Comp = _ref$as === void 0 ? animated.div : _ref$as,
44
+ maybeSingleChildren = _ref.children,
45
+ _ref$springConfig = _ref.springConfig,
46
+ springConfig = _ref$springConfig === void 0 ? sliderConfig : _ref$springConfig,
47
+ mouseSwipe = _ref.mouseSwipe,
48
+ touchSwipe = _ref.touchSwipe,
49
+ onSwipeLeft = _ref.onSwipeLeft,
50
+ onSwipeRight = _ref.onSwipeRight,
51
+ style = _ref.style,
52
+ otherProps = _objectWithoutProperties(_ref, ["as", "children", "springConfig", "mouseSwipe", "touchSwipe", "onSwipeLeft", "onSwipeRight", "style"]);
53
+
54
+ var _useCarouselContext = useCarouselContext(),
55
+ _useCarouselContext$i = _useCarouselContext.isRTL,
56
+ isRTL = _useCarouselContext$i === void 0 ? false : _useCarouselContext$i,
57
+ _useCarouselContext$s = _useCarouselContext.slidesToShow,
58
+ slidesToShow = _useCarouselContext$s === void 0 ? 1 : _useCarouselContext$s,
59
+ _useCarouselContext$c = _useCarouselContext.currentSlide,
60
+ nextSlideIndex = _useCarouselContext$c === void 0 ? 0 : _useCarouselContext$c,
61
+ containerRef = _useCarouselContext.containerRef,
62
+ itemWidth = _useCarouselContext.itemWidth;
63
+
64
+ var _useReducer = useReducer(reducer, {
65
+ currentSlideIndex: nextSlideIndex,
66
+ shouldAnimateToRest: false
67
+ }),
68
+ _useReducer2 = _slicedToArray(_useReducer, 2),
69
+ _useReducer2$ = _useReducer2[0],
70
+ currentSlideIndex = _useReducer2$.currentSlideIndex,
71
+ shouldAnimateToRest = _useReducer2$.shouldAnimateToRest,
72
+ dispatch = _useReducer2[1]; // Convert children from possibly empty, or 1 child, to array of nodes
73
+
74
+
75
+ var children = useMemo(function () {
76
+ return Children.toArray(maybeSingleChildren);
77
+ }, [maybeSingleChildren]); // Keep record of animation frames
78
+
79
+ var lastAnimationX = useRef(0); // Keep record of drag positioning, to forceUpdate when dragging slides
80
+
81
+ var lastDragX = useRef(NaN); // Animation properties... will be update via setAnimationProps
82
+
83
+ var _useSpring = useSpring({
84
+ to: {
85
+ x: 0
86
+ },
87
+ config: springConfig
88
+ }, []),
89
+ _useSpring2 = _slicedToArray(_useSpring, 2),
90
+ animationProps = _useSpring2[0],
91
+ setAnimationProps = _useSpring2[1]; // Keep track of animation values, to allow
92
+ // us to pause animation with mouse click
93
+
94
+
95
+ var onChange = function onChange(e) {
96
+ lastAnimationX.current = e.x || 0;
97
+ }; // Called when the next slide animation is complete
98
+
99
+
100
+ var onNextSlideComplete = function onNextSlideComplete() {
101
+ // need this to stay in sync with setAnimationProps
102
+ requestAnimationFrame(function () {
103
+ dispatch({
104
+ type: SET_CURRENT_SLIDER_INDEX,
105
+ payload: nextSlideIndex
106
+ });
107
+ lastAnimationX.current = 0;
108
+ setAnimationProps({
109
+ x: 0,
110
+ immediate: true,
111
+ onRest: noop,
112
+ onChange: noop
113
+ });
114
+ });
115
+ }; // Called when you started dragging, but didn't drag long enough,
116
+ // so it will rest back to zero
117
+
118
+
119
+ var onRestAnimationComplete = function onRestAnimationComplete() {
120
+ lastAnimationX.current = 0;
121
+ dispatch({
122
+ type: SET_SHOULD_ANIMATE_TO_REST,
123
+ payload: false
124
+ });
125
+ };
126
+
127
+ var onDrag = function onDrag(s) {
128
+ if (s.down) {
129
+ var x = lastAnimationX.current + s.xDeltaPercent;
130
+ setAnimationProps({
131
+ x: x,
132
+ immediate: true,
133
+ onRest: noop,
134
+ onChange: noop
135
+ });
136
+
137
+ if (x === 0) {
138
+ return;
139
+ }
140
+
141
+ if (s.xDeltaPercent !== 0 && !Object.is(Math.trunc(lastDragX.current / itemWidth), Math.trunc(x / itemWidth))) {
142
+ // flipping signal, or adding more async slides
143
+ requestAnimationFrame(function () {
144
+ dispatch({
145
+ type: SET_SHOULD_ANIMATE_TO_REST,
146
+ payload: true
147
+ });
148
+ });
149
+ }
150
+
151
+ lastDragX.current = x;
152
+ } else {
153
+ setAnimationProps({
154
+ x: 0,
155
+ onRest: onRestAnimationComplete,
156
+ onChange: onChange,
157
+ immediate: false
158
+ });
159
+ lastDragX.current = NaN; // force a rerender to make sure it will still work
160
+ // when you pause in the middle of a slide transition
161
+
162
+ dispatch({
163
+ type: TRIGGER_RERENDER
164
+ });
165
+ }
166
+ };
167
+
168
+ var _useCarouselGestures = useCarouselGestures({
169
+ isRTL: isRTL,
170
+ onSwipeRight: onSwipeRight,
171
+ onSwipeLeft: onSwipeLeft,
172
+ onDrag: onDrag,
173
+ containerRef: containerRef,
174
+ slidesToShow: slidesToShow
175
+ }),
176
+ handlers = _useCarouselGestures.handlers,
177
+ gestureState = _useCarouselGestures.state;
178
+
179
+ var deltaX = gestureState.down || shouldAnimateToRest ? lastAnimationX.current + gestureState.xDeltaPercent : 0;
180
+ /* Slide animation parameters */
181
+
182
+ var params = getSliderParams(children.length, currentSlideIndex, nextSlideIndex, slidesToShow, gestureState.down, deltaX, isRTL);
183
+ useEffect(function () {
184
+ if (nextSlideIndex !== currentSlideIndex) {
185
+ setAnimationProps({
186
+ x: params.targetX,
187
+ onRest: onNextSlideComplete,
188
+ onChange: onChange,
189
+ immediate: false
190
+ });
191
+ }
192
+ });
193
+ return /*#__PURE__*/React.createElement(Comp, _extends({
194
+ ref: ref,
195
+ onTouchStart: touchSwipe ? handlers.onTouchStart : undefined,
196
+ onMouseDown: mouseSwipe ? handlers.onMouseDown : undefined,
197
+ "aria-live": "polite",
198
+ "data-carousel-slider": "",
199
+ dir: isRTL ? 'rtl' : undefined,
200
+ style: _extends({
201
+ left: params.left,
202
+ paddingRight: params.paddingRight,
203
+ transform: animationProps.x.to(function (t) {
204
+ return "translateX(".concat(t, "%)");
205
+ })
206
+ }, style)
207
+ }, otherProps), /*#__PURE__*/React.createElement(SliderItemRenderer, {
208
+ startingIndex: params.startingIndex,
209
+ count: params.count
210
+ }, children));
211
+ });
212
+ //# sourceMappingURL=Slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/Slider.tsx"],"names":["React","useRef","useReducer","useEffect","useMemo","Children","forwardRef","useSpring","animated","SliderItemRenderer","useCarouselContext","getSliderParams","useCarouselGestures","sliderConfig","tension","friction","clamp","SET_CURRENT_SLIDER_INDEX","SET_SHOULD_ANIMATE_TO_REST","TRIGGER_RERENDER","reducer","prevState","action","type","currentSlideIndex","payload","shouldAnimateToRest","noop","Slider","ref","as","Comp","div","maybeSingleChildren","children","springConfig","mouseSwipe","touchSwipe","onSwipeLeft","onSwipeRight","style","otherProps","isRTL","slidesToShow","currentSlide","nextSlideIndex","containerRef","itemWidth","dispatch","toArray","lastAnimationX","lastDragX","NaN","to","x","config","animationProps","setAnimationProps","onChange","e","current","onNextSlideComplete","requestAnimationFrame","immediate","onRest","onRestAnimationComplete","onDrag","s","down","xDeltaPercent","Object","is","Math","trunc","handlers","gestureState","state","deltaX","params","length","targetX","onTouchStart","undefined","onMouseDown","left","paddingRight","transform","t","startingIndex","count"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useReducer,\n useEffect,\n useMemo,\n Children,\n forwardRef,\n} from 'react';\nimport { useSpring, SpringConfig, animated } from 'react-spring';\nimport { SliderItemRenderer } from './SliderItem';\nimport { useCarouselContext } from './context';\nimport { getSliderParams } from './getSliderParams';\nimport { useCarouselGestures } from './useCarouselGestures';\nimport { GestureHandlersState } from '../hooks';\n\nexport const sliderConfig: SpringConfig = {\n tension: 230,\n friction: 20,\n clamp: true,\n};\n\nexport interface SliderProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n mouseSwipe?: boolean;\n touchSwipe?: boolean;\n onSwipeRight?: (s: Partial<GestureHandlersState>) => void;\n onSwipeLeft?: (s: Partial<GestureHandlersState>) => void;\n springConfig?: SpringConfig;\n children?: React.ReactNode[] | React.ReactNode;\n}\n\ninterface SliderState {\n currentSlideIndex: number;\n shouldAnimateToRest: boolean;\n}\n\nconst SET_CURRENT_SLIDER_INDEX = 'setCurrentSlideIndex';\nconst SET_SHOULD_ANIMATE_TO_REST = 'setShouldAnimateToRest';\nconst TRIGGER_RERENDER = 'triggerRerender';\n\ninterface SliderSetPreviousSlideIndex {\n type: typeof SET_CURRENT_SLIDER_INDEX;\n payload: number;\n}\n\ninterface SlideSetRestAnimating {\n type: typeof SET_SHOULD_ANIMATE_TO_REST;\n payload: boolean;\n}\n\ninterface SlideTriggerRerender {\n type: typeof TRIGGER_RERENDER;\n}\n\ntype SliderAction =\n | SliderSetPreviousSlideIndex\n | SlideSetRestAnimating\n | SlideTriggerRerender;\n\nfunction reducer<T>(\n prevState: Readonly<SliderState>,\n action: SliderAction\n): SliderState {\n switch (action.type) {\n case SET_CURRENT_SLIDER_INDEX:\n return {\n ...prevState,\n currentSlideIndex: action.payload,\n shouldAnimateToRest: false,\n };\n case SET_SHOULD_ANIMATE_TO_REST:\n return { ...prevState, shouldAnimateToRest: action.payload };\n case TRIGGER_RERENDER:\n return { ...prevState };\n }\n}\n\nconst noop = () => {\n /* null function to be used on onRest and onFrame */\n};\n\nexport const Slider = forwardRef<HTMLDivElement, SliderProps>(function Slider(\n {\n as: Comp = animated.div,\n children: maybeSingleChildren,\n springConfig = sliderConfig,\n mouseSwipe,\n touchSwipe,\n onSwipeLeft,\n onSwipeRight,\n style,\n ...otherProps\n },\n ref\n) {\n const {\n isRTL = false,\n slidesToShow = 1,\n currentSlide: nextSlideIndex = 0,\n containerRef,\n itemWidth,\n } = useCarouselContext();\n\n const [{ currentSlideIndex, shouldAnimateToRest }, dispatch] = useReducer(\n reducer,\n {\n currentSlideIndex: nextSlideIndex,\n shouldAnimateToRest: false,\n }\n );\n\n // Convert children from possibly empty, or 1 child, to array of nodes\n const children = useMemo(() => Children.toArray(maybeSingleChildren), [\n maybeSingleChildren,\n ]);\n\n // Keep record of animation frames\n const lastAnimationX = useRef(0);\n\n // Keep record of drag positioning, to forceUpdate when dragging slides\n const lastDragX = useRef(NaN);\n\n // Animation properties... will be update via setAnimationProps\n const [animationProps, setAnimationProps] = useSpring<{ x: number }>(\n {\n to: { x: 0 },\n config: springConfig,\n },\n []\n );\n\n // Keep track of animation values, to allow\n // us to pause animation with mouse click\n const onChange = (e: { x: number }) => {\n lastAnimationX.current = e.x || 0;\n };\n\n // Called when the next slide animation is complete\n const onNextSlideComplete = () => {\n // need this to stay in sync with setAnimationProps\n requestAnimationFrame(() => {\n dispatch({ type: SET_CURRENT_SLIDER_INDEX, payload: nextSlideIndex });\n lastAnimationX.current = 0;\n setAnimationProps({\n x: 0,\n immediate: true,\n onRest: noop,\n onChange: noop,\n });\n });\n };\n\n // Called when you started dragging, but didn't drag long enough,\n // so it will rest back to zero\n const onRestAnimationComplete = () => {\n lastAnimationX.current = 0;\n dispatch({ type: SET_SHOULD_ANIMATE_TO_REST, payload: false });\n };\n\n const onDrag = (s: GestureHandlersState) => {\n if (s.down) {\n const x = lastAnimationX.current + s.xDeltaPercent;\n setAnimationProps({\n x,\n immediate: true,\n onRest: noop,\n onChange: noop,\n });\n\n if (x === 0) {\n return;\n }\n\n if (\n s.xDeltaPercent !== 0 &&\n !Object.is(\n Math.trunc(lastDragX.current / itemWidth),\n Math.trunc(x / itemWidth)\n )\n ) {\n // flipping signal, or adding more async slides\n requestAnimationFrame(() => {\n dispatch({ type: SET_SHOULD_ANIMATE_TO_REST, payload: true });\n });\n }\n\n lastDragX.current = x;\n } else {\n setAnimationProps({\n x: 0,\n onRest: onRestAnimationComplete,\n onChange: onChange,\n immediate: false,\n });\n\n lastDragX.current = NaN;\n\n // force a rerender to make sure it will still work\n // when you pause in the middle of a slide transition\n dispatch({ type: TRIGGER_RERENDER });\n }\n };\n\n const { handlers, state: gestureState } = useCarouselGestures({\n isRTL,\n onSwipeRight,\n onSwipeLeft,\n onDrag,\n containerRef,\n slidesToShow,\n });\n\n const deltaX =\n gestureState.down || shouldAnimateToRest\n ? lastAnimationX.current + gestureState.xDeltaPercent\n : 0;\n\n /* Slide animation parameters */\n const params = getSliderParams(\n children.length,\n currentSlideIndex,\n nextSlideIndex,\n slidesToShow,\n gestureState.down,\n deltaX,\n isRTL\n );\n\n useEffect(() => {\n if (nextSlideIndex !== currentSlideIndex) {\n setAnimationProps({\n x: params.targetX,\n onRest: onNextSlideComplete,\n onChange,\n immediate: false,\n });\n }\n });\n\n return (\n <Comp\n ref={ref}\n onTouchStart={touchSwipe ? handlers.onTouchStart : undefined}\n onMouseDown={mouseSwipe ? handlers.onMouseDown : undefined}\n aria-live=\"polite\"\n data-carousel-slider=\"\"\n dir={isRTL ? 'rtl' : undefined}\n style={{\n left: params.left,\n paddingRight: params.paddingRight,\n transform: animationProps.x.to((t) => {\n return `translateX(${t}%)`;\n }),\n ...(style as any),\n }}\n {...otherProps}\n >\n <SliderItemRenderer\n startingIndex={params.startingIndex}\n count={params.count}\n >\n {children}\n </SliderItemRenderer>\n </Comp>\n );\n});\n"],"file":"Slider.js"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export interface SliderItemProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ as?: React.ElementType<any>;
4
+ }
5
+ export declare const SliderItem: React.ForwardRefExoticComponent<SliderItemProps & React.RefAttributes<HTMLDivElement>>;
6
+ interface SliderItemRendererProps {
7
+ children: React.ReactNode[];
8
+ startingIndex: number;
9
+ count: number;
10
+ }
11
+ export declare const SliderItemRenderer: ({ children, startingIndex, count, }: SliderItemRendererProps) => JSX.Element;
12
+ export default SliderItem;
@@ -0,0 +1,41 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import React, { forwardRef } from 'react';
4
+ import { getCircularIndex } from '../utils/getCircularIndex';
5
+ export var SliderItem = forwardRef(function SliderItem(_ref, ref) {
6
+ var _ref$as = _ref.as,
7
+ Comp = _ref$as === void 0 ? 'div' : _ref$as,
8
+ props = _objectWithoutProperties(_ref, ["as"]);
9
+
10
+ return /*#__PURE__*/React.createElement(Comp, _extends({
11
+ ref: ref,
12
+ role: "group",
13
+ "aria-roledescription": "slide",
14
+ "data-carousel-slider-item": ""
15
+ }, props));
16
+ });
17
+ export var SliderItemRenderer = function SliderItemRenderer(_ref2) {
18
+ var children = _ref2.children,
19
+ startingIndex = _ref2.startingIndex,
20
+ count = _ref2.count;
21
+ var ret = [];
22
+ var itemsLen = children.length;
23
+ var finalIndex = startingIndex + count;
24
+ var counter = 0;
25
+
26
+ for (var i = startingIndex; i < finalIndex; i += 1, counter += 1) {
27
+ if (counter % itemsLen === 0) {
28
+ ret.push([]);
29
+ }
30
+
31
+ var index = getCircularIndex(i, itemsLen);
32
+
33
+ if (index !== null) {
34
+ ret[ret.length - 1].push(children[index]);
35
+ }
36
+ }
37
+
38
+ return /*#__PURE__*/React.createElement(React.Fragment, null, ret);
39
+ };
40
+ export default SliderItem;
41
+ //# sourceMappingURL=SliderItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/SliderItem.tsx"],"names":["React","forwardRef","getCircularIndex","SliderItem","ref","as","Comp","props","SliderItemRenderer","children","startingIndex","count","ret","itemsLen","length","finalIndex","counter","i","push","index"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAMA,OAAO,IAAMC,UAAU,GAAGF,UAAU,CAClC,SAASE,UAAT,OAEEC,GAFF,EAGE;AAAA,qBAFEC,EAEF;AAAA,MAFMC,IAEN,wBAFa,KAEb;AAAA,MAFuBC,KAEvB;;AACA,sBACE,oBAAC,IAAD;AACE,IAAA,GAAG,EAAEH,GADP;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,4BAAqB,OAHvB;AAIE,iCAA0B;AAJ5B,KAKMG,KALN,EADF;AASD,CAdiC,CAA7B;AAuBP,OAAO,IAAMC,kBAAkB,GAAG,SAASA,kBAAT,QAIN;AAAA,MAH1BC,QAG0B,SAH1BA,QAG0B;AAAA,MAF1BC,aAE0B,SAF1BA,aAE0B;AAAA,MAD1BC,KAC0B,SAD1BA,KAC0B;AAC1B,MAAMC,GAAwB,GAAG,EAAjC;AACA,MAAMC,QAAQ,GAAGJ,QAAQ,CAACK,MAA1B;AACA,MAAMC,UAAU,GAAGL,aAAa,GAAGC,KAAnC;AAEA,MAAIK,OAAO,GAAG,CAAd;;AACA,OAAK,IAAIC,CAAC,GAAGP,aAAb,EAA4BO,CAAC,GAAGF,UAAhC,EAA4CE,CAAC,IAAI,CAAL,EAAQD,OAAO,IAAI,CAA/D,EAAkE;AAChE,QAAIA,OAAO,GAAGH,QAAV,KAAuB,CAA3B,EAA8B;AAC5BD,MAAAA,GAAG,CAACM,IAAJ,CAAS,EAAT;AACD;;AACD,QAAMC,KAAK,GAAGjB,gBAAgB,CAACe,CAAD,EAAIJ,QAAJ,CAA9B;;AACA,QAAIM,KAAK,KAAK,IAAd,EAAoB;AAClBP,MAAAA,GAAG,CAACA,GAAG,CAACE,MAAJ,GAAa,CAAd,CAAH,CAAoBI,IAApB,CAAyBT,QAAQ,CAACU,KAAD,CAAjC;AACD;AACF;;AAED,sBAAO,oBAAC,KAAD,CAAO,QAAP,QAAiBP,GAAjB,CAAP;AACD,CArBM;AAuBP,eAAeT,UAAf","sourcesContent":["import React, { forwardRef } from 'react';\nimport { getCircularIndex } from '../utils/getCircularIndex';\n\nexport interface SliderItemProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n}\n\nexport const SliderItem = forwardRef<HTMLDivElement, SliderItemProps>(\n function SliderItem(\n { as: Comp = 'div', ...props },\n ref: React.Ref<HTMLDivElement>\n ) {\n return (\n <Comp\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n data-carousel-slider-item=\"\"\n {...props}\n />\n );\n }\n);\n\ninterface SliderItemRendererProps {\n children: React.ReactNode[];\n startingIndex: number;\n count: number;\n}\n\nexport const SliderItemRenderer = function SliderItemRenderer({\n children,\n startingIndex,\n count,\n}: SliderItemRendererProps) {\n const ret: React.ReactNode[][] = [];\n const itemsLen = children.length;\n const finalIndex = startingIndex + count;\n\n let counter = 0;\n for (let i = startingIndex; i < finalIndex; i += 1, counter += 1) {\n if (counter % itemsLen === 0) {\n ret.push([]);\n }\n const index = getCircularIndex(i, itemsLen);\n if (index !== null) {\n ret[ret.length - 1].push(children[index]);\n }\n }\n\n return <React.Fragment>{ret}</React.Fragment>;\n};\n\nexport default SliderItem;\n"],"file":"SliderItem.js"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export interface CarouselContextProps {
3
+ slidesToShow: number;
4
+ isRTL: boolean;
5
+ currentSlide: number;
6
+ itemWidth: number;
7
+ containerRef: React.MutableRefObject<HTMLElement | null>;
8
+ }
9
+ export declare const CarouselProvider: import("react").Provider<CarouselContextProps>;
10
+ export declare const useCarouselContext: () => CarouselContextProps;
@@ -0,0 +1,8 @@
1
+ import { createContext, useContext } from 'react';
2
+ var carouselContext = createContext(null);
3
+ var CarouselProvider = carouselContext.Provider;
4
+ export { CarouselProvider };
5
+ export var useCarouselContext = function useCarouselContext() {
6
+ return useContext(carouselContext);
7
+ };
8
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/context.ts"],"names":["createContext","useContext","carouselContext","CarouselProvider","Provider","useCarouselContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAUA,IAAMC,eAAe,GAAGF,aAAa,CAAuB,IAAvB,CAArC;IACyBG,gB,GAAqBD,e,CAA/BE,Q;;AACf,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAMJ,UAAU,CAACC,eAAD,CAAhB;AAAA,CAA3B","sourcesContent":["import { createContext, useContext } from 'react';\n\nexport interface CarouselContextProps {\n slidesToShow: number;\n isRTL: boolean;\n currentSlide: number;\n itemWidth: number;\n containerRef: React.MutableRefObject<HTMLElement | null>;\n}\n\nconst carouselContext = createContext<CarouselContextProps>(null as any);\nexport const { Provider: CarouselProvider } = carouselContext;\nexport const useCarouselContext = () => useContext(carouselContext);\n"],"file":"context.js"}
@@ -0,0 +1,9 @@
1
+ export declare function getSlidesToScroll(curSlide: number, nextSlide: number, deltaX: number, itemWidth: number): number;
2
+ export declare function getSliderParams(numAvailableSlides: number, curSlide: number, nextSlide: number, slidesToShow: number, dragging: boolean, deltaX: number, isRTL: boolean): {
3
+ startingIndex: number;
4
+ count: number;
5
+ left: string | undefined;
6
+ targetX: number;
7
+ itemWidth: number;
8
+ paddingRight: string | undefined;
9
+ };
@@ -0,0 +1,85 @@
1
+ var AnimationState;
2
+
3
+ (function (AnimationState) {
4
+ AnimationState[AnimationState["LEFT"] = -1] = "LEFT";
5
+ AnimationState[AnimationState["NONE"] = 0] = "NONE";
6
+ AnimationState[AnimationState["RIGHT"] = 1] = "RIGHT";
7
+ })(AnimationState || (AnimationState = {}));
8
+
9
+ function getAnimationState(animationEnabled, nextSlide, currentSlide, deltaX, isRTL) {
10
+ if (deltaX === 0 && (!animationEnabled || nextSlide === currentSlide)) {
11
+ return AnimationState.NONE;
12
+ }
13
+
14
+ if (deltaX < 0 || nextSlide > currentSlide && !isRTL || nextSlide < currentSlide && isRTL) {
15
+ return AnimationState.RIGHT;
16
+ }
17
+
18
+ return AnimationState.LEFT;
19
+ }
20
+
21
+ function getSlideIndex(curSlide, nextSlide, deltaX, slidesToScroll, isRTL) {
22
+ if (deltaX > 0 && !isRTL || deltaX < 0 && isRTL) {
23
+ return curSlide - slidesToScroll;
24
+ }
25
+
26
+ return Math.min(curSlide, nextSlide);
27
+ }
28
+
29
+ function getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL) {
30
+ if (animationState === AnimationState.LEFT && !isRTL) {
31
+ return "".concat(-itemWidth * slidesToScroll, "%");
32
+ }
33
+
34
+ if (animationState === AnimationState.RIGHT && isRTL) {
35
+ return "".concat(itemWidth * slidesToScroll, "%");
36
+ }
37
+
38
+ return undefined;
39
+ }
40
+
41
+ function getSpringTarget(drag, deltaX, animationState, itemWidth, slidesToScroll) {
42
+ if (drag) {
43
+ return deltaX;
44
+ }
45
+
46
+ if (animationState === AnimationState.LEFT) {
47
+ return itemWidth * slidesToScroll;
48
+ }
49
+
50
+ if (animationState === AnimationState.RIGHT) {
51
+ return -itemWidth * slidesToScroll;
52
+ }
53
+
54
+ return 0;
55
+ }
56
+
57
+ export function getSlidesToScroll(curSlide, nextSlide, deltaX, itemWidth) {
58
+ var dragSlideCount = deltaX !== 0 ? 1 + Math.floor(Math.abs(deltaX) / itemWidth) : 0;
59
+ var slideCount = Math.abs(nextSlide - curSlide);
60
+ return Math.max(dragSlideCount, slideCount);
61
+ }
62
+ export function getSliderParams(numAvailableSlides, curSlide, nextSlide, slidesToShow, dragging, deltaX, isRTL) {
63
+ // The size in percentage that each slide will ocupy
64
+ var itemWidth = 100 / slidesToShow;
65
+ var animationEnabled = numAvailableSlides >= slidesToShow; // if we don't have enough children to animate, we will fulfill
66
+ // the remaining space with a padding to the right
67
+
68
+ var paddingRight = animationEnabled ? undefined : "".concat(itemWidth * (slidesToShow - numAvailableSlides), "%");
69
+ var animationState = getAnimationState(animationEnabled, nextSlide, curSlide, deltaX, isRTL);
70
+ var slidesToScroll = getSlidesToScroll(curSlide, nextSlide, deltaX, itemWidth);
71
+ var startingIndex = getSlideIndex(curSlide, nextSlide, deltaX, slidesToScroll, isRTL);
72
+ var count = slidesToShow + (animationState !== AnimationState.NONE ? slidesToScroll : 0); // shift items to the left for animation effect
73
+
74
+ var left = getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL);
75
+ var targetX = getSpringTarget(dragging, deltaX, nextSlide !== curSlide ? animationState : AnimationState.NONE, itemWidth, Math.abs(nextSlide - curSlide));
76
+ return {
77
+ startingIndex: startingIndex,
78
+ count: count,
79
+ left: left,
80
+ targetX: targetX,
81
+ itemWidth: itemWidth,
82
+ paddingRight: paddingRight
83
+ };
84
+ }
85
+ //# sourceMappingURL=getSliderParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/getSliderParams.ts"],"names":["AnimationState","getAnimationState","animationEnabled","nextSlide","currentSlide","deltaX","isRTL","NONE","RIGHT","LEFT","getSlideIndex","curSlide","slidesToScroll","Math","min","getLeftOffset","animationState","itemWidth","undefined","getSpringTarget","drag","getSlidesToScroll","dragSlideCount","floor","abs","slideCount","max","getSliderParams","numAvailableSlides","slidesToShow","dragging","paddingRight","startingIndex","count","left","targetX"],"mappings":"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","sourcesContent":["enum AnimationState {\n LEFT = -1,\n NONE = 0,\n RIGHT = 1,\n}\n\nfunction getAnimationState(\n animationEnabled: boolean,\n nextSlide: number,\n currentSlide: number,\n deltaX: number,\n isRTL: boolean\n): AnimationState {\n if (deltaX === 0 && (!animationEnabled || nextSlide === currentSlide)) {\n return AnimationState.NONE;\n }\n\n if (\n deltaX < 0 ||\n (nextSlide > currentSlide && !isRTL) ||\n (nextSlide < currentSlide && isRTL)\n ) {\n return AnimationState.RIGHT;\n }\n\n return AnimationState.LEFT;\n}\n\nfunction getSlideIndex(\n curSlide: number,\n nextSlide: number,\n deltaX: number,\n slidesToScroll: number,\n isRTL: boolean\n) {\n if ((deltaX > 0 && !isRTL) || (deltaX < 0 && isRTL)) {\n return curSlide - slidesToScroll;\n }\n\n return Math.min(curSlide, nextSlide);\n}\n\nfunction getLeftOffset(\n animationState: AnimationState,\n itemWidth: number,\n slidesToScroll: number,\n isRTL: boolean\n) {\n if (animationState === AnimationState.LEFT && !isRTL) {\n return `${-itemWidth * slidesToScroll}%`;\n }\n if (animationState === AnimationState.RIGHT && isRTL) {\n return `${itemWidth * slidesToScroll}%`;\n }\n\n return undefined;\n}\n\nfunction getSpringTarget(\n drag: boolean,\n deltaX: number,\n animationState: AnimationState,\n itemWidth: number,\n slidesToScroll: number\n) {\n if (drag) {\n return deltaX;\n }\n if (animationState === AnimationState.LEFT) {\n return itemWidth * slidesToScroll;\n }\n if (animationState === AnimationState.RIGHT) {\n return -itemWidth * slidesToScroll;\n }\n\n return 0;\n}\n\nexport function getSlidesToScroll(\n curSlide: number,\n nextSlide: number,\n deltaX: number,\n itemWidth: number\n) {\n const dragSlideCount =\n deltaX !== 0 ? 1 + Math.floor(Math.abs(deltaX) / itemWidth) : 0;\n const slideCount = Math.abs(nextSlide - curSlide);\n\n return Math.max(dragSlideCount, slideCount);\n}\n\nexport function getSliderParams(\n numAvailableSlides: number,\n curSlide: number,\n nextSlide: number,\n slidesToShow: number,\n dragging: boolean,\n deltaX: number,\n isRTL: boolean\n) {\n // The size in percentage that each slide will ocupy\n const itemWidth = 100 / slidesToShow;\n\n const animationEnabled = numAvailableSlides >= slidesToShow;\n // if we don't have enough children to animate, we will fulfill\n // the remaining space with a padding to the right\n const paddingRight = animationEnabled\n ? undefined\n : `${itemWidth * (slidesToShow - numAvailableSlides)}%`;\n\n const animationState = getAnimationState(\n animationEnabled,\n nextSlide,\n curSlide,\n deltaX,\n isRTL\n );\n\n const slidesToScroll = getSlidesToScroll(\n curSlide,\n nextSlide,\n deltaX,\n itemWidth\n );\n\n const startingIndex = getSlideIndex(\n curSlide,\n nextSlide,\n deltaX,\n slidesToScroll,\n isRTL\n );\n const count =\n slidesToShow +\n (animationState !== AnimationState.NONE ? slidesToScroll : 0);\n\n // shift items to the left for animation effect\n const left = getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL);\n\n const targetX = getSpringTarget(\n dragging,\n deltaX,\n nextSlide !== curSlide ? animationState : AnimationState.NONE,\n itemWidth,\n Math.abs(nextSlide - curSlide)\n );\n\n return { startingIndex, count, left, targetX, itemWidth, paddingRight };\n}\n"],"file":"getSliderParams.js"}
@@ -0,0 +1,7 @@
1
+ export * from './Carousel';
2
+ export * from './Slider';
3
+ export * from './Fader';
4
+ export * from './SliderItem';
5
+ export * from './FaderItem';
6
+ export * from './Preloader';
7
+ export * from './context';
@@ -0,0 +1,8 @@
1
+ export * from './Carousel';
2
+ export * from './Slider';
3
+ export * from './Fader';
4
+ export * from './SliderItem';
5
+ export * from './FaderItem';
6
+ export * from './Preloader';
7
+ export * from './context';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,cAAd;AACA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,WAAd","sourcesContent":["export * from './Carousel';\nexport * from './Slider';\nexport * from './Fader';\nexport * from './SliderItem';\nexport * from './FaderItem';\nexport * from './Preloader';\nexport * from './context';\n"],"file":"index.js"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ import { GestureHandlersState } from '../hooks';
3
+ interface UseCarouselOptions {
4
+ onSwipeRight?: (s: GestureHandlersState) => void;
5
+ onSwipeLeft?: (s: GestureHandlersState) => void;
6
+ onDrag?: (s: GestureHandlersState) => void;
7
+ slidesToShow?: number;
8
+ isRTL?: boolean;
9
+ containerRef: React.MutableRefObject<HTMLElement | null>;
10
+ }
11
+ export declare const useCarouselGestures: (props: UseCarouselOptions) => {
12
+ state: {
13
+ target: EventTarget | null;
14
+ x: number;
15
+ xDelta: number;
16
+ xDeltaPercent: number;
17
+ xInitial: number;
18
+ xPrev: number;
19
+ xVelocity: number;
20
+ y: number;
21
+ yDelta: number;
22
+ yDeltaPercent: number;
23
+ yInitial: number;
24
+ yPrev: number;
25
+ yVelocity: number;
26
+ down: boolean;
27
+ };
28
+ handlers: import("../hooks").GestureHandlersReturn;
29
+ };
30
+ export {};
@@ -0,0 +1,33 @@
1
+ import { useGestureHandlers } from '../hooks';
2
+ export var useCarouselGestures = function useCarouselGestures(props) {
3
+ var onSwipeLeft = props.onSwipeLeft,
4
+ onSwipeRight = props.onSwipeRight,
5
+ onDrag = props.onDrag,
6
+ _props$slidesToShow = props.slidesToShow,
7
+ slidesToShow = _props$slidesToShow === void 0 ? 1 : _props$slidesToShow,
8
+ isRTL = props.isRTL,
9
+ containerRef = props.containerRef;
10
+ return useGestureHandlers(containerRef, function (state) {
11
+ var xDelta = state.xDeltaPercent,
12
+ xVelocity = state.xVelocity,
13
+ down = state.down;
14
+ var swipeLeft = onSwipeLeft;
15
+ var swipeRight = onSwipeRight;
16
+
17
+ if (isRTL) {
18
+ swipeLeft = onSwipeRight;
19
+ swipeRight = onSwipeLeft;
20
+ }
21
+
22
+ if (swipeLeft && swipeRight && !down && (Math.abs(xDelta) >= 25 / slidesToShow || Math.abs(xVelocity) >= 2.5)) {
23
+ if (xDelta < 0) {
24
+ swipeRight && swipeRight(state);
25
+ } else {
26
+ swipeLeft && swipeLeft(state);
27
+ }
28
+ }
29
+
30
+ onDrag && onDrag(state);
31
+ });
32
+ };
33
+ //# sourceMappingURL=useCarouselGestures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Carousel/useCarouselGestures.ts"],"names":["useGestureHandlers","useCarouselGestures","props","onSwipeLeft","onSwipeRight","onDrag","slidesToShow","isRTL","containerRef","state","xDelta","xDeltaPercent","xVelocity","down","swipeLeft","swipeRight","Math","abs"],"mappings":"AAAA,SAASA,kBAAT,QAAyD,UAAzD;AAWA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAA+B;AAAA,MAE9DC,WAF8D,GAQ5DD,KAR4D,CAE9DC,WAF8D;AAAA,MAG9DC,YAH8D,GAQ5DF,KAR4D,CAG9DE,YAH8D;AAAA,MAI9DC,MAJ8D,GAQ5DH,KAR4D,CAI9DG,MAJ8D;AAAA,4BAQ5DH,KAR4D,CAK9DI,YAL8D;AAAA,MAK9DA,YAL8D,oCAK/C,CAL+C;AAAA,MAM9DC,KAN8D,GAQ5DL,KAR4D,CAM9DK,KAN8D;AAAA,MAO9DC,YAP8D,GAQ5DN,KAR4D,CAO9DM,YAP8D;AAUhE,SAAOR,kBAAkB,CAACQ,YAAD,EAAe,UAACC,KAAD,EAAW;AAAA,QAC1BC,MAD0B,GACED,KADF,CACzCE,aADyC;AAAA,QAClBC,SADkB,GACEH,KADF,CAClBG,SADkB;AAAA,QACPC,IADO,GACEJ,KADF,CACPI,IADO;AAGjD,QAAIC,SAAS,GAAGX,WAAhB;AACA,QAAIY,UAAU,GAAGX,YAAjB;;AACA,QAAIG,KAAJ,EAAW;AACTO,MAAAA,SAAS,GAAGV,YAAZ;AACAW,MAAAA,UAAU,GAAGZ,WAAb;AACD;;AAED,QACEW,SAAS,IACTC,UADA,IAEA,CAACF,IAFD,KAGCG,IAAI,CAACC,GAAL,CAASP,MAAT,KAAoB,KAAKJ,YAAzB,IAAyCU,IAAI,CAACC,GAAL,CAASL,SAAT,KAAuB,GAHjE,CADF,EAKE;AACA,UAAIF,MAAM,GAAG,CAAb,EAAgB;AACdK,QAAAA,UAAU,IAAIA,UAAU,CAACN,KAAD,CAAxB;AACD,OAFD,MAEO;AACLK,QAAAA,SAAS,IAAIA,SAAS,CAACL,KAAD,CAAtB;AACD;AACF;;AAEDJ,IAAAA,MAAM,IAAIA,MAAM,CAACI,KAAD,CAAhB;AACD,GAxBwB,CAAzB;AAyBD,CAnCM","sourcesContent":["import { useGestureHandlers, GestureHandlersState } from '../hooks';\n\ninterface UseCarouselOptions {\n onSwipeRight?: (s: GestureHandlersState) => void;\n onSwipeLeft?: (s: GestureHandlersState) => void;\n onDrag?: (s: GestureHandlersState) => void;\n slidesToShow?: number;\n isRTL?: boolean;\n containerRef: React.MutableRefObject<HTMLElement | null>;\n}\n\nexport const useCarouselGestures = (props: UseCarouselOptions) => {\n const {\n onSwipeLeft,\n onSwipeRight,\n onDrag,\n slidesToShow = 1,\n isRTL,\n containerRef,\n } = props;\n\n return useGestureHandlers(containerRef, (state) => {\n const { xDeltaPercent: xDelta, xVelocity, down } = state;\n\n let swipeLeft = onSwipeLeft;\n let swipeRight = onSwipeRight;\n if (isRTL) {\n swipeLeft = onSwipeRight;\n swipeRight = onSwipeLeft;\n }\n\n if (\n swipeLeft &&\n swipeRight &&\n !down &&\n (Math.abs(xDelta) >= 25 / slidesToShow || Math.abs(xVelocity) >= 2.5)\n ) {\n if (xDelta < 0) {\n swipeRight && swipeRight(state);\n } else {\n swipeLeft && swipeLeft(state);\n }\n }\n\n onDrag && onDrag(state);\n });\n};\n"],"file":"useCarouselGestures.js"}
@@ -1,7 +1,7 @@
1
- import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
2
- export interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- children?: ReactNode;
6
- }
7
- export declare const CheckBox: import("react").ForwardRefExoticComponent<CheckBoxProps & import("react").RefAttributes<HTMLInputElement>>;
1
+ import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const CheckBox: import("react").ForwardRefExoticComponent<CheckBoxProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBox.js","names":["forwardRef","useControlledState","CheckBox","props","forwardedRef","as","Comp","checkedProp","checked","defaultChecked","onChangeProp","onChange","otherProps","setValue","e","target"],"sources":["../../../src/CheckBox/CheckBox.tsx"],"sourcesContent":["import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nimport { useControlledState } from '../hooks';\r\n\r\nexport interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const CheckBox = forwardRef<HTMLInputElement, CheckBoxProps>(\r\n function CheckBox(props, forwardedRef) {\r\n const {\r\n as: Comp = 'input',\r\n checked: checkedProp,\r\n defaultChecked = false,\r\n onChange: onChangeProp,\r\n ...otherProps\r\n } = props;\r\n const [checked, onChange] = useControlledState(\r\n checkedProp,\r\n onChangeProp,\r\n defaultChecked,\r\n (setValue) => (e) => {\r\n setValue(e.target.checked);\r\n }\r\n );\r\n\r\n return (\r\n <Comp\r\n ref={forwardedRef}\r\n type=\"checkbox\"\r\n checked={checked}\r\n aria-checked={checked}\r\n onChange={onChange}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,kBAAT,QAAmC,UAAnC;;AAQA,OAAO,IAAMC,QAAQ,gBAAGF,UAAU,CAChC,SAASE,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;EACrC,gBAMID,KANJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,OADb;EAAA,IAEWC,WAFX,GAMIJ,KANJ,CAEEK,OAFF;EAAA,4BAMIL,KANJ,CAGEM,cAHF;EAAA,IAGEA,cAHF,sCAGmB,KAHnB;EAAA,IAIYC,YAJZ,GAMIP,KANJ,CAIEQ,QAJF;EAAA,IAKKC,UALL,4BAMIT,KANJ;;EAOA,0BAA4BF,kBAAkB,CAC5CM,WAD4C,EAE5CG,YAF4C,EAG5CD,cAH4C,EAI5C,UAACI,QAAD;IAAA,OAAc,UAACC,CAAD,EAAO;MACnBD,QAAQ,CAACC,CAAC,CAACC,MAAF,CAASP,OAAV,CAAR;IACD,CAFD;EAAA,CAJ4C,CAA9C;EAAA;EAAA,IAAOA,OAAP;EAAA,IAAgBG,QAAhB;;EASA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEP,YADP;IAEE,IAAI,EAAC,UAFP;IAGE,OAAO,EAAEI,OAHX;IAIE,gBAAcA,OAJhB;IAKE,QAAQ,EAAEG;EALZ,GAMMC,UANN,EADF;AAUD,CA5B+B,CAA3B"}
1
+ {"version":3,"file":"CheckBox.js","names":["forwardRef","useControlledState","CheckBox","props","forwardedRef","as","Comp","checkedProp","checked","defaultChecked","onChangeProp","onChange","otherProps","setValue","e","target"],"sources":["../../../src/CheckBox/CheckBox.tsx"],"sourcesContent":["import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useControlledState } from '../hooks';\n\nexport interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const CheckBox = forwardRef<HTMLInputElement, CheckBoxProps>(\n function CheckBox(props, forwardedRef) {\n const {\n as: Comp = 'input',\n checked: checkedProp,\n defaultChecked = false,\n onChange: onChangeProp,\n ...otherProps\n } = props;\n const [checked, onChange] = useControlledState(\n checkedProp,\n onChangeProp,\n defaultChecked,\n (setValue) => (e) => {\n setValue(e.target.checked);\n }\n );\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"checkbox\"\n checked={checked}\n aria-checked={checked}\n onChange={onChange}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,kBAAT,QAAmC,UAAnC;;AAQA,OAAO,IAAMC,QAAQ,gBAAGF,UAAU,CAChC,SAASE,QAAT,CAAkBC,KAAlB,EAAyBC,YAAzB,EAAuC;EACrC,gBAMID,KANJ,CACEE,EADF;EAAA,IACMC,IADN,0BACa,OADb;EAAA,IAEWC,WAFX,GAMIJ,KANJ,CAEEK,OAFF;EAAA,4BAMIL,KANJ,CAGEM,cAHF;EAAA,IAGEA,cAHF,sCAGmB,KAHnB;EAAA,IAIYC,YAJZ,GAMIP,KANJ,CAIEQ,QAJF;EAAA,IAKKC,UALL,4BAMIT,KANJ;;EAOA,0BAA4BF,kBAAkB,CAC5CM,WAD4C,EAE5CG,YAF4C,EAG5CD,cAH4C,EAI5C,UAACI,QAAD;IAAA,OAAc,UAACC,CAAD,EAAO;MACnBD,QAAQ,CAACC,CAAC,CAACC,MAAF,CAASP,OAAV,CAAR;IACD,CAFD;EAAA,CAJ4C,CAA9C;EAAA;EAAA,IAAOA,OAAP;EAAA,IAAgBG,QAAhB;;EASA,oBACE,KAAC,IAAD;IACE,GAAG,EAAEP,YADP;IAEE,IAAI,EAAC,UAFP;IAGE,OAAO,EAAEI,OAHX;IAIE,gBAAcA,OAJhB;IAKE,QAAQ,EAAEG;EALZ,GAMMC,UANN,EADF;AAUD,CA5B+B,CAA3B"}
@@ -1 +1 @@
1
- export * from './CheckBox';
1
+ export * from './CheckBox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/CheckBox/index.ts"],"sourcesContent":["export * from './CheckBox';\r\n"],"mappings":"AAAA,cAAc,YAAd"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/CheckBox/index.ts"],"sourcesContent":["export * from './CheckBox';\n"],"mappings":"AAAA,cAAc,YAAd"}
@@ -1,18 +1,18 @@
1
- import type { HTMLAttributes, ReactNode, ElementType } from 'react';
2
- export declare type SelectEventHandler = (text: string, itemId: string, obj: any) => void;
3
- export declare type ComboboxProps = Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
4
- onSelect?: SelectEventHandler;
5
- openOnFocus?: boolean;
6
- selectOnBlur?: boolean;
7
- children?: ReactNode;
8
- as?: ElementType<any>;
9
- innerAs?: ElementType<any>;
10
- };
11
- export declare const Combobox: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> & {
12
- onSelect?: SelectEventHandler | undefined;
13
- openOnFocus?: boolean | undefined;
14
- selectOnBlur?: boolean | undefined;
15
- children?: ReactNode;
16
- as?: ElementType<any> | undefined;
17
- innerAs?: ElementType<any> | undefined;
18
- } & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { HTMLAttributes, ReactNode, ElementType } from 'react';
2
+ export declare type SelectEventHandler = (text: string, itemId: string, obj: any) => void;
3
+ export declare type ComboboxProps = Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
4
+ onSelect?: SelectEventHandler;
5
+ openOnFocus?: boolean;
6
+ selectOnBlur?: boolean;
7
+ children?: ReactNode;
8
+ as?: ElementType<any>;
9
+ innerAs?: ElementType<any>;
10
+ };
11
+ export declare const Combobox: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> & {
12
+ onSelect?: SelectEventHandler | undefined;
13
+ openOnFocus?: boolean | undefined;
14
+ selectOnBlur?: boolean | undefined;
15
+ children?: ReactNode;
16
+ as?: ElementType<any> | undefined;
17
+ innerAs?: ElementType<any> | undefined;
18
+ } & import("react").RefAttributes<HTMLDivElement>>;