@basic-ui/core 0.0.50 → 0.0.52

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 (337) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +106 -92
  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/CheckBox/CheckBox.d.ts +7 -7
  19. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  20. package/build/esm/CheckBox/index.d.ts +1 -1
  21. package/build/esm/CheckBox/index.js.map +1 -1
  22. package/build/esm/ComboBox/Combobox.d.ts +18 -18
  23. package/build/esm/ComboBox/Combobox.js.map +1 -1
  24. package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
  25. package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
  26. package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
  27. package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
  28. package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
  29. package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
  30. package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
  31. package/build/esm/ComboBox/ComboboxList.js.map +1 -1
  32. package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
  33. package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
  34. package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
  35. package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
  36. package/build/esm/ComboBox/cities.d.ts +5 -5
  37. package/build/esm/ComboBox/cities.js.map +1 -1
  38. package/build/esm/ComboBox/context.d.ts +30 -30
  39. package/build/esm/ComboBox/context.js.map +1 -1
  40. package/build/esm/ComboBox/hooks.d.ts +37 -37
  41. package/build/esm/ComboBox/hooks.js.map +1 -1
  42. package/build/esm/ComboBox/index.d.ts +8 -8
  43. package/build/esm/ComboBox/index.js.map +1 -1
  44. package/build/esm/ComboBox/makeHash.d.ts +1 -1
  45. package/build/esm/ComboBox/makeHash.js.map +1 -1
  46. package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
  47. package/build/esm/ComboBox/scopeQuery.js.map +1 -1
  48. package/build/esm/FocusLock/FocusLock.d.ts +9 -9
  49. package/build/esm/FocusLock/FocusLock.js.map +1 -1
  50. package/build/esm/FocusLock/index.d.ts +1 -1
  51. package/build/esm/FocusLock/index.js.map +1 -1
  52. package/build/esm/FocusLock/tabUtils.d.ts +3 -3
  53. package/build/esm/FocusLock/tabUtils.js.map +1 -1
  54. package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
  55. package/build/esm/FocusLock/useFocusLock.js.map +1 -1
  56. package/build/esm/List/List.d.ts +7 -7
  57. package/build/esm/List/List.js.map +1 -1
  58. package/build/esm/List/ListItem.d.ts +7 -7
  59. package/build/esm/List/ListItem.js.map +1 -1
  60. package/build/esm/List/context.d.ts +4 -4
  61. package/build/esm/List/context.js.map +1 -1
  62. package/build/esm/List/index.d.ts +2 -2
  63. package/build/esm/List/index.js.map +1 -1
  64. package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
  65. package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
  66. package/build/esm/Menu/Menu.d.ts +10 -10
  67. package/build/esm/Menu/Menu.js.map +1 -1
  68. package/build/esm/Menu/MenuButton.d.ts +11 -11
  69. package/build/esm/Menu/MenuButton.js.map +1 -1
  70. package/build/esm/Menu/MenuItem.d.ts +8 -8
  71. package/build/esm/Menu/MenuItem.js +1 -0
  72. package/build/esm/Menu/MenuItem.js.map +1 -1
  73. package/build/esm/Menu/MenuList.d.ts +7 -7
  74. package/build/esm/Menu/MenuList.js +17 -4
  75. package/build/esm/Menu/MenuList.js.map +1 -1
  76. package/build/esm/Menu/MenuPopover.d.ts +8 -8
  77. package/build/esm/Menu/MenuPopover.js.map +1 -1
  78. package/build/esm/Menu/context.d.ts +25 -25
  79. package/build/esm/Menu/context.js.map +1 -1
  80. package/build/esm/Menu/fixtures/countryList.d.ts +1 -1
  81. package/build/esm/Menu/fixtures/countryList.js.map +1 -1
  82. package/build/esm/Menu/index.d.ts +6 -6
  83. package/build/esm/Menu/index.js.map +1 -1
  84. package/build/esm/Menu/scope.d.ts +1 -1
  85. package/build/esm/Menu/scope.js.map +1 -1
  86. package/build/esm/Modal/Modal.d.ts +9 -9
  87. package/build/esm/Modal/Modal.js.map +1 -1
  88. package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
  89. package/build/esm/Modal/ModalBackdrop.js.map +1 -1
  90. package/build/esm/Modal/index.d.ts +2 -2
  91. package/build/esm/Modal/index.js.map +1 -1
  92. package/build/esm/Popper/Popper.d.ts +35 -35
  93. package/build/esm/Popper/Popper.js.map +1 -1
  94. package/build/esm/Popper/PopperArrow.d.ts +6 -6
  95. package/build/esm/Popper/PopperArrow.js.map +1 -1
  96. package/build/esm/Popper/context.d.ts +6 -6
  97. package/build/esm/Popper/context.js.map +1 -1
  98. package/build/esm/Popper/index.d.ts +3 -3
  99. package/build/esm/Popper/index.js.map +1 -1
  100. package/build/esm/Portal/Portal.d.ts +6 -6
  101. package/build/esm/Portal/Portal.js.map +1 -1
  102. package/build/esm/Portal/index.d.ts +1 -1
  103. package/build/esm/Portal/index.js.map +1 -1
  104. package/build/esm/RadioButton/RadioButton.d.ts +10 -10
  105. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  106. package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
  107. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  108. package/build/esm/RadioButton/context.d.ts +9 -9
  109. package/build/esm/RadioButton/context.js.map +1 -1
  110. package/build/esm/RadioButton/index.d.ts +2 -2
  111. package/build/esm/RadioButton/index.js.map +1 -1
  112. package/build/esm/SkipNav/SkipNav.d.ts +7 -7
  113. package/build/esm/SkipNav/SkipNav.js.map +1 -1
  114. package/build/esm/SkipNav/index.d.ts +1 -1
  115. package/build/esm/SkipNav/index.js.map +1 -1
  116. package/build/esm/Slider/Slider.d.ts +197 -197
  117. package/build/esm/Slider/Slider.js +82 -82
  118. package/build/esm/Slider/Slider.js.map +1 -1
  119. package/build/esm/Slider/index.d.ts +1 -1
  120. package/build/esm/Slider/index.js.map +1 -1
  121. package/build/esm/Spinner/Spinner.d.ts +12 -12
  122. package/build/esm/Spinner/Spinner.js.map +1 -1
  123. package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
  124. package/build/esm/Spinner/SpinnerButton.js.map +1 -1
  125. package/build/esm/Spinner/context.d.ts +12 -12
  126. package/build/esm/Spinner/context.js.map +1 -1
  127. package/build/esm/Spinner/index.d.ts +2 -2
  128. package/build/esm/Spinner/index.js.map +1 -1
  129. package/build/esm/Tabs/Tab.d.ts +7 -7
  130. package/build/esm/Tabs/Tab.js.map +1 -1
  131. package/build/esm/Tabs/TabList.d.ts +9 -9
  132. package/build/esm/Tabs/TabList.js.map +1 -1
  133. package/build/esm/Tabs/TabPanel.d.ts +8 -8
  134. package/build/esm/Tabs/TabPanel.js.map +1 -1
  135. package/build/esm/Tabs/TabPanels.d.ts +8 -8
  136. package/build/esm/Tabs/TabPanels.js.map +1 -1
  137. package/build/esm/Tabs/Tabs.d.ts +10 -10
  138. package/build/esm/Tabs/Tabs.js.map +1 -1
  139. package/build/esm/Tabs/context.d.ts +17 -17
  140. package/build/esm/Tabs/context.js.map +1 -1
  141. package/build/esm/Tabs/index.d.ts +5 -5
  142. package/build/esm/Tabs/index.js.map +1 -1
  143. package/build/esm/Tabs/scopeQuery.d.ts +1 -1
  144. package/build/esm/Tabs/scopeQuery.js.map +1 -1
  145. package/build/esm/Tooltip/Tooltip.d.ts +10 -10
  146. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  147. package/build/esm/Tooltip/index.d.ts +1 -1
  148. package/build/esm/Tooltip/index.js.map +1 -1
  149. package/build/esm/Tooltip/stateMachine.d.ts +28 -28
  150. package/build/esm/Tooltip/stateMachine.js.map +1 -1
  151. package/build/esm/Tooltip/useTooltip.d.ts +10 -10
  152. package/build/esm/Tooltip/useTooltip.js.map +1 -1
  153. package/build/esm/hooks/index.d.ts +13 -13
  154. package/build/esm/hooks/index.js.map +1 -1
  155. package/build/esm/hooks/useAutoFocus.d.ts +2 -2
  156. package/build/esm/hooks/useAutoFocus.js.map +1 -1
  157. package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
  158. package/build/esm/hooks/useChildrenCounter.js.map +1 -1
  159. package/build/esm/hooks/useControlledState.d.ts +3 -3
  160. package/build/esm/hooks/useControlledState.js +1 -1
  161. package/build/esm/hooks/useControlledState.js.map +1 -1
  162. package/build/esm/hooks/useFocusReturn.d.ts +2 -2
  163. package/build/esm/hooks/useFocusReturn.js.map +1 -1
  164. package/build/esm/hooks/useFocusState.d.ts +11 -11
  165. package/build/esm/hooks/useFocusState.js.map +1 -1
  166. package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
  167. package/build/esm/hooks/useGestureHandlers.js.map +1 -1
  168. package/build/esm/hooks/useMeasure.d.ts +7 -7
  169. package/build/esm/hooks/useMeasure.js.map +1 -1
  170. package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
  171. package/build/esm/hooks/useOnClickOutside.js.map +1 -1
  172. package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
  173. package/build/esm/hooks/useOnKeyDown.js.map +1 -1
  174. package/build/esm/hooks/useReducerMachine.d.ts +24 -24
  175. package/build/esm/hooks/useReducerMachine.js.map +1 -1
  176. package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
  177. package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
  178. package/build/esm/hooks/useScope.d.ts +11 -11
  179. package/build/esm/hooks/useScope.js.map +1 -1
  180. package/build/esm/hooks/useThrottle.d.ts +1 -1
  181. package/build/esm/hooks/useThrottle.js.map +1 -1
  182. package/build/esm/index.d.ts +15 -15
  183. package/build/esm/index.js.map +1 -1
  184. package/build/esm/utils/assign-ref.d.ts +3 -3
  185. package/build/esm/utils/assign-ref.js.map +1 -1
  186. package/build/esm/utils/can-use-dom.d.ts +1 -1
  187. package/build/esm/utils/can-use-dom.js.map +1 -1
  188. package/build/esm/utils/clamp.d.ts +1 -1
  189. package/build/esm/utils/clamp.js.map +1 -1
  190. package/build/esm/utils/context.d.ts +7 -7
  191. package/build/esm/utils/context.js.map +1 -1
  192. package/build/esm/utils/create-subscription.d.ts +4 -4
  193. package/build/esm/utils/create-subscription.js.map +1 -1
  194. package/build/esm/utils/get-circular-index.d.ts +1 -1
  195. package/build/esm/utils/get-circular-index.js.map +1 -1
  196. package/build/esm/utils/index.d.ts +10 -10
  197. package/build/esm/utils/index.js.map +1 -1
  198. package/build/esm/utils/is-right-click.d.ts +6 -6
  199. package/build/esm/utils/is-right-click.js +4 -4
  200. package/build/esm/utils/is-right-click.js.map +1 -1
  201. package/build/esm/utils/owner-document.d.ts +7 -7
  202. package/build/esm/utils/owner-document.js +5 -5
  203. package/build/esm/utils/owner-document.js.map +1 -1
  204. package/build/esm/utils/polymorphic.d.ts +39 -39
  205. package/build/esm/utils/polymorphic.js.map +1 -1
  206. package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
  207. package/build/esm/utils/rubber-band-clamp.js.map +1 -1
  208. package/build/esm/utils/use-stable-callback.d.ts +16 -16
  209. package/build/esm/utils/use-stable-callback.js +16 -16
  210. package/build/esm/utils/use-stable-callback.js.map +1 -1
  211. package/build/esm/utils/wrap-event.d.ts +3 -3
  212. package/build/esm/utils/wrap-event.js.map +1 -1
  213. package/build/tsconfig-build.tsbuildinfo +1 -1
  214. package/package.json +2 -2
  215. package/src/Accordion/Accordion.story.tsx +74 -74
  216. package/src/Accordion/Accordion.tsx +59 -59
  217. package/src/Accordion/AccordionBody.tsx +52 -52
  218. package/src/Accordion/AccordionHeader.tsx +167 -167
  219. package/src/Accordion/AccordionItem.tsx +50 -50
  220. package/src/Accordion/context.ts +37 -37
  221. package/src/Accordion/index.ts +4 -4
  222. package/src/Accordion/scopeQuery.ts +7 -7
  223. package/src/Accordion/styles.css +21 -21
  224. package/src/CheckBox/CheckBox.tsx +41 -41
  225. package/src/CheckBox/index.ts +1 -1
  226. package/src/ComboBox/ComboBox.story.tsx +120 -120
  227. package/src/ComboBox/Combobox.tsx +148 -148
  228. package/src/ComboBox/ComboboxButton.tsx +61 -61
  229. package/src/ComboBox/ComboboxInput.tsx +187 -187
  230. package/src/ComboBox/ComboboxLabel.tsx +33 -33
  231. package/src/ComboBox/ComboboxList.tsx +47 -47
  232. package/src/ComboBox/ComboboxOption.tsx +111 -111
  233. package/src/ComboBox/ComboboxPopover.tsx +64 -64
  234. package/src/ComboBox/cities.ts +23194 -23194
  235. package/src/ComboBox/context.ts +35 -35
  236. package/src/ComboBox/hooks.tsx +451 -451
  237. package/src/ComboBox/index.ts +8 -8
  238. package/src/ComboBox/makeHash.ts +19 -19
  239. package/src/ComboBox/scopeQuery.ts +6 -6
  240. package/src/ComboBox/styles.css +32 -32
  241. package/src/FocusLock/FocusLock.tsx +66 -66
  242. package/src/FocusLock/index.ts +1 -1
  243. package/src/FocusLock/tabUtils.ts +40 -40
  244. package/src/FocusLock/useFocusLock.ts +56 -56
  245. package/src/List/List.story.tsx +18 -18
  246. package/src/List/List.tsx +17 -17
  247. package/src/List/ListItem.tsx +23 -23
  248. package/src/List/context.ts +19 -19
  249. package/src/List/index.ts +2 -2
  250. package/src/Menu/ContextMenu.story.tsx +73 -73
  251. package/src/Menu/ContextMenuTrigger.tsx +76 -76
  252. package/src/Menu/Menu.story.tsx +160 -160
  253. package/src/Menu/Menu.tsx +83 -83
  254. package/src/Menu/MenuButton.tsx +83 -83
  255. package/src/Menu/MenuComplex.story.tsx +58 -58
  256. package/src/Menu/MenuItem.tsx +88 -87
  257. package/src/Menu/MenuList.tsx +254 -243
  258. package/src/Menu/MenuPopover.tsx +35 -35
  259. package/src/Menu/context.ts +44 -44
  260. package/src/Menu/fixtures/countryList.ts +198 -198
  261. package/src/Menu/index.ts +6 -6
  262. package/src/Menu/scope.ts +7 -7
  263. package/src/Menu/styles.css +42 -42
  264. package/src/Modal/Modal.story.tsx +258 -258
  265. package/src/Modal/Modal.tsx +48 -48
  266. package/src/Modal/ModalBackdrop.tsx +78 -78
  267. package/src/Modal/NavDrawer.story.tsx +158 -158
  268. package/src/Modal/index.ts +2 -2
  269. package/src/Modal/styles.css +46 -46
  270. package/src/Popper/Popper.story.tsx +263 -263
  271. package/src/Popper/Popper.tsx +154 -154
  272. package/src/Popper/PopperArrow.tsx +35 -35
  273. package/src/Popper/context.ts +10 -10
  274. package/src/Popper/index.ts +3 -3
  275. package/src/Popper/styles.css +60 -60
  276. package/src/Portal/Portal.tsx +20 -20
  277. package/src/Portal/index.ts +1 -1
  278. package/src/RadioButton/RadioButton.story.tsx +77 -77
  279. package/src/RadioButton/RadioButton.tsx +55 -55
  280. package/src/RadioButton/RadioGroup.tsx +60 -60
  281. package/src/RadioButton/context.ts +17 -17
  282. package/src/RadioButton/index.ts +2 -2
  283. package/src/SkipNav/SkipNav.tsx +16 -16
  284. package/src/SkipNav/index.tsx +1 -1
  285. package/src/Slider/Slider.story.tsx +45 -45
  286. package/src/Slider/Slider.tsx +1120 -1120
  287. package/src/Slider/index.ts +1 -1
  288. package/src/Slider/styles.css +131 -131
  289. package/src/Spinner/Spinner.story.tsx +31 -31
  290. package/src/Spinner/Spinner.tsx +117 -117
  291. package/src/Spinner/SpinnerButton.tsx +54 -54
  292. package/src/Spinner/context.ts +20 -20
  293. package/src/Spinner/index.ts +2 -2
  294. package/src/Spinner/styles.css +23 -23
  295. package/src/Tabs/Tab.story.tsx +80 -80
  296. package/src/Tabs/Tab.tsx +136 -136
  297. package/src/Tabs/TabList.tsx +71 -71
  298. package/src/Tabs/TabPanel.tsx +53 -53
  299. package/src/Tabs/TabPanels.tsx +30 -30
  300. package/src/Tabs/Tabs.tsx +46 -46
  301. package/src/Tabs/context.ts +30 -30
  302. package/src/Tabs/index.tsx +5 -5
  303. package/src/Tabs/scopeQuery.ts +6 -6
  304. package/src/Tooltip/Tooltip.story.tsx +61 -61
  305. package/src/Tooltip/Tooltip.tsx +50 -50
  306. package/src/Tooltip/index.ts +1 -1
  307. package/src/Tooltip/stateMachine.ts +192 -192
  308. package/src/Tooltip/styles.css +17 -17
  309. package/src/Tooltip/useTooltip.ts +136 -136
  310. package/src/hooks/index.ts +13 -13
  311. package/src/hooks/useAutoFocus.ts +22 -22
  312. package/src/hooks/useChildrenCounter.ts +51 -51
  313. package/src/hooks/useControlledState.ts +3 -3
  314. package/src/hooks/useFocusReturn.ts +43 -43
  315. package/src/hooks/useFocusState.ts +30 -30
  316. package/src/hooks/useGestureHandlers.ts +286 -286
  317. package/src/hooks/useMeasure.ts +33 -33
  318. package/src/hooks/useOnClickOutside.ts +32 -32
  319. package/src/hooks/useOnKeyDown.ts +19 -19
  320. package/src/hooks/useReducerMachine.ts +60 -60
  321. package/src/hooks/useRemoveBodyScroll.ts +39 -39
  322. package/src/hooks/useScope.ts +52 -52
  323. package/src/hooks/useThrottle.ts +19 -19
  324. package/src/index.ts +20 -20
  325. package/src/utils/assign-ref.ts +27 -27
  326. package/src/utils/can-use-dom.ts +7 -7
  327. package/src/utils/clamp.ts +3 -3
  328. package/src/utils/context.tsx +48 -48
  329. package/src/utils/create-subscription.ts +16 -16
  330. package/src/utils/get-circular-index.ts +7 -7
  331. package/src/utils/index.ts +10 -10
  332. package/src/utils/is-right-click.ts +14 -14
  333. package/src/utils/owner-document.ts +13 -13
  334. package/src/utils/polymorphic.ts +78 -78
  335. package/src/utils/rubber-band-clamp.ts +25 -25
  336. package/src/utils/use-stable-callback.ts +58 -58
  337. package/src/utils/wrap-event.ts +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxList.js","names":["forwardRef","useRef","useEffect","useComboBoxContext","getScope","assignMultipleRefs","ComboboxList","ref","persistSelection","as","Comp","innerAs","props","persistSelectionRef","labelIdRef","listScope","listRef","current"],"sources":["../../../src/ComboBox/ComboboxList.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, ReactNode } from 'react';\nimport { forwardRef, useRef, useEffect } from 'react';\n\nimport { useComboBoxContext } from './context';\nimport { getScope } from '../hooks';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface ComboboxListProps extends HTMLAttributes<HTMLUListElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n persistSelection?: boolean;\n children?: ReactNode;\n}\n\nexport const ComboboxList = forwardRef<HTMLUListElement, ComboboxListProps>(\n function ComboboxList(\n {\n // when true, and the list opens again, the option with a matching value will be\n // automatically highleted.\n persistSelection = false,\n as: Comp = 'ul',\n innerAs,\n ...props\n },\n ref\n ) {\n const { persistSelectionRef, labelIdRef, listScope } = useComboBoxContext();\n\n const listRef = useRef<HTMLUListElement>();\n useEffect(() => {\n listScope.current = getScope(listRef);\n }, [listScope]);\n\n persistSelectionRef.current = persistSelection;\n\n return (\n <Comp\n {...props}\n as={innerAs}\n ref={assignMultipleRefs(ref, listRef)}\n data-reach-combobox-list=\"\"\n role=\"listbox\"\n aria-labelledby={labelIdRef.current}\n />\n );\n }\n);\n"],"mappings":";;;AACA,SAASA,UAAT,EAAqBC,MAArB,EAA6BC,SAA7B,QAA8C,OAA9C;AAEA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AASA,OAAO,IAAMC,YAAY,gBAAGN,UAAU,CACpC,SAASM,YAAT,OASEC,GATF,EAUE;EAAA,iCANEC,gBAMF;EAAA,IANEA,gBAMF,sCANqB,KAMrB;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,IAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAAuDT,kBAAkB,EAAzE;EAAA,IAAQU,mBAAR,uBAAQA,mBAAR;EAAA,IAA6BC,UAA7B,uBAA6BA,UAA7B;EAAA,IAAyCC,SAAzC,uBAAyCA,SAAzC;;EAEA,IAAMC,OAAO,GAAGf,MAAM,EAAtB;EACAC,SAAS,CAAC,YAAM;IACda,SAAS,CAACE,OAAV,GAAoBb,QAAQ,CAACY,OAAD,CAA5B;EACD,CAFQ,EAEN,CAACD,SAAD,CAFM,CAAT;EAIAF,mBAAmB,CAACI,OAApB,GAA8BT,gBAA9B;EAEA,oBACE,KAAC,IAAD,wBACMI,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,GAAG,EAAEN,kBAAkB,CAACE,GAAD,EAAMS,OAAN,CAHzB;IAIE,4BAAyB,EAJ3B;IAKE,IAAI,EAAC,SALP;IAME,mBAAiBF,UAAU,CAACG;EAN9B,GADF;AAUD,CA/BmC,CAA/B"}
1
+ {"version":3,"file":"ComboboxList.js","names":["forwardRef","useRef","useEffect","useComboBoxContext","getScope","assignMultipleRefs","ComboboxList","ref","persistSelection","as","Comp","innerAs","props","persistSelectionRef","labelIdRef","listScope","listRef","current"],"sources":["../../../src/ComboBox/ComboboxList.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, ReactNode } from 'react';\r\nimport { forwardRef, useRef, useEffect } from 'react';\r\n\r\nimport { useComboBoxContext } from './context';\r\nimport { getScope } from '../hooks';\r\nimport { assignMultipleRefs } from '../utils';\r\n\r\nexport interface ComboboxListProps extends HTMLAttributes<HTMLUListElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n persistSelection?: boolean;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const ComboboxList = forwardRef<HTMLUListElement, ComboboxListProps>(\r\n function ComboboxList(\r\n {\r\n // when true, and the list opens again, the option with a matching value will be\r\n // automatically highleted.\r\n persistSelection = false,\r\n as: Comp = 'ul',\r\n innerAs,\r\n ...props\r\n },\r\n ref\r\n ) {\r\n const { persistSelectionRef, labelIdRef, listScope } = useComboBoxContext();\r\n\r\n const listRef = useRef<HTMLUListElement>();\r\n useEffect(() => {\r\n listScope.current = getScope(listRef);\r\n }, [listScope]);\r\n\r\n persistSelectionRef.current = persistSelection;\r\n\r\n return (\r\n <Comp\r\n {...props}\r\n as={innerAs}\r\n ref={assignMultipleRefs(ref, listRef)}\r\n data-reach-combobox-list=\"\"\r\n role=\"listbox\"\r\n aria-labelledby={labelIdRef.current}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AACA,SAASA,UAAT,EAAqBC,MAArB,EAA6BC,SAA7B,QAA8C,OAA9C;AAEA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,kBAAT,QAAmC,UAAnC;;AASA,OAAO,IAAMC,YAAY,gBAAGN,UAAU,CACpC,SAASM,YAAT,OASEC,GATF,EAUE;EAAA,iCANEC,gBAMF;EAAA,IANEA,gBAMF,sCANqB,KAMrB;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,IAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAAuDT,kBAAkB,EAAzE;EAAA,IAAQU,mBAAR,uBAAQA,mBAAR;EAAA,IAA6BC,UAA7B,uBAA6BA,UAA7B;EAAA,IAAyCC,SAAzC,uBAAyCA,SAAzC;;EAEA,IAAMC,OAAO,GAAGf,MAAM,EAAtB;EACAC,SAAS,CAAC,YAAM;IACda,SAAS,CAACE,OAAV,GAAoBb,QAAQ,CAACY,OAAD,CAA5B;EACD,CAFQ,EAEN,CAACD,SAAD,CAFM,CAAT;EAIAF,mBAAmB,CAACI,OAApB,GAA8BT,gBAA9B;EAEA,oBACE,KAAC,IAAD,wBACMI,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,GAAG,EAAEN,kBAAkB,CAACE,GAAD,EAAMS,OAAN,CAHzB;IAIE,4BAAyB,EAJ3B;IAKE,IAAI,EAAC,SALP;IAME,mBAAiBF,UAAU,CAACG;EAN9B,GADF;AAUD,CA/BmC,CAA/B"}
@@ -1,11 +1,11 @@
1
- import type { ElementType, LiHTMLAttributes, MouseEventHandler, ReactNode } from 'react';
2
- export interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- id: string;
6
- value: any;
7
- text?: string;
8
- onClick?: MouseEventHandler<HTMLLIElement>;
9
- children?: ReactNode;
10
- }
11
- export declare const ComboboxOption: import("react").ForwardRefExoticComponent<ComboboxOptionProps & import("react").RefAttributes<HTMLLIElement>>;
1
+ import type { ElementType, LiHTMLAttributes, MouseEventHandler, ReactNode } from 'react';
2
+ export interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ id: string;
6
+ value: any;
7
+ text?: string;
8
+ onClick?: MouseEventHandler<HTMLLIElement>;
9
+ children?: ReactNode;
10
+ }
11
+ export declare const ComboboxOption: import("react").ForwardRefExoticComponent<ComboboxOptionProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxOption.js","names":["forwardRef","useEffect","useRef","SELECT_WITH_CLICK","CLEAR_SELECTION","wrapEvent","useComboBoxContext","makeHash","ComboboxOption","ref","children","idProp","id","valueProp","value","textProp","text","onClick","as","Comp","innerAs","props","onSelect","navigationItem","data","transition","optionsRef","transitionCleanupRef","isActiveRef","length","Error","String","opts","current","handleClick","item","undefined"],"sources":["../../../src/ComboBox/ComboboxOption.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type {\n ElementType,\n LiHTMLAttributes,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nimport { SELECT_WITH_CLICK, CLEAR_SELECTION } from './hooks';\nimport { wrapEvent } from '../utils/wrap-event';\nimport { useComboBoxContext } from './context';\nimport { makeHash } from './makeHash';\n\nexport interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n id: string;\n value: any;\n text?: string;\n onClick?: MouseEventHandler<HTMLLIElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxOption = forwardRef<HTMLLIElement, ComboboxOptionProps>(\n function ComboboxOption(\n {\n children,\n id: idProp,\n value: valueProp,\n text: textProp,\n onClick,\n as: Comp = 'li',\n innerAs,\n ...props\n },\n ref\n ) {\n const {\n onSelect,\n data: { navigationItem },\n transition,\n optionsRef,\n } = useComboBoxContext();\n const transitionCleanupRef = useRef(transition);\n const isActiveRef = useRef(false);\n\n const value: any = valueProp;\n let text: string = textProp ? textProp : '';\n\n if (text.length === 0) {\n if (typeof valueProp === 'string' && valueProp.length > 0) {\n text = valueProp;\n } else {\n throw new Error('Missing text for <ComboboxOption />');\n }\n }\n\n const id = String(makeHash(idProp));\n\n useEffect(() => {\n const opts = optionsRef.current;\n opts[id] = { value, text };\n\n return () => {\n delete opts[id];\n };\n }, [optionsRef, id, text, value]);\n\n // Keep updating this ref with the current\n // function pointer for transition, so it can\n // be used by the unmount effect below.\n transitionCleanupRef.current = transition;\n isActiveRef.current = navigationItem === id;\n\n useEffect(() => {\n return () => {\n if (isActiveRef.current === true) {\n // clean up selections if this option is getting\n // unmounted and it was the currently selected item\n transitionCleanupRef.current(CLEAR_SELECTION);\n }\n };\n }, []);\n\n const handleClick = () => {\n onSelect && onSelect(text, id, value);\n transition(SELECT_WITH_CLICK, { text, item: id });\n };\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-option=\"\"\n ref={ref}\n id={id}\n role=\"option\"\n aria-selected={isActiveRef.current}\n data-highlighted={isActiveRef.current ? '' : undefined}\n // without this the menu will close from `onBlur`, but with it the\n // element can be `document.activeElement` and then our focus checks in\n // onBlur will work as intended\n tabIndex=\"-1\"\n onClick={wrapEvent(onClick, handleClick)}\n >\n {children || text}\n </Comp>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxOption.js","names":["forwardRef","useEffect","useRef","SELECT_WITH_CLICK","CLEAR_SELECTION","wrapEvent","useComboBoxContext","makeHash","ComboboxOption","ref","children","idProp","id","valueProp","value","textProp","text","onClick","as","Comp","innerAs","props","onSelect","navigationItem","data","transition","optionsRef","transitionCleanupRef","isActiveRef","length","Error","String","opts","current","handleClick","item","undefined"],"sources":["../../../src/ComboBox/ComboboxOption.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport type {\r\n ElementType,\r\n LiHTMLAttributes,\r\n MouseEventHandler,\r\n ReactNode,\r\n} from 'react';\r\nimport { forwardRef, useEffect, useRef } from 'react';\r\n\r\nimport { SELECT_WITH_CLICK, CLEAR_SELECTION } from './hooks';\r\nimport { wrapEvent } from '../utils/wrap-event';\r\nimport { useComboBoxContext } from './context';\r\nimport { makeHash } from './makeHash';\r\n\r\nexport interface ComboboxOptionProps extends LiHTMLAttributes<HTMLLIElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n id: string;\r\n value: any;\r\n text?: string;\r\n onClick?: MouseEventHandler<HTMLLIElement>;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const ComboboxOption = forwardRef<HTMLLIElement, ComboboxOptionProps>(\r\n function ComboboxOption(\r\n {\r\n children,\r\n id: idProp,\r\n value: valueProp,\r\n text: textProp,\r\n onClick,\r\n as: Comp = 'li',\r\n innerAs,\r\n ...props\r\n },\r\n ref\r\n ) {\r\n const {\r\n onSelect,\r\n data: { navigationItem },\r\n transition,\r\n optionsRef,\r\n } = useComboBoxContext();\r\n const transitionCleanupRef = useRef(transition);\r\n const isActiveRef = useRef(false);\r\n\r\n const value: any = valueProp;\r\n let text: string = textProp ? textProp : '';\r\n\r\n if (text.length === 0) {\r\n if (typeof valueProp === 'string' && valueProp.length > 0) {\r\n text = valueProp;\r\n } else {\r\n throw new Error('Missing text for <ComboboxOption />');\r\n }\r\n }\r\n\r\n const id = String(makeHash(idProp));\r\n\r\n useEffect(() => {\r\n const opts = optionsRef.current;\r\n opts[id] = { value, text };\r\n\r\n return () => {\r\n delete opts[id];\r\n };\r\n }, [optionsRef, id, text, value]);\r\n\r\n // Keep updating this ref with the current\r\n // function pointer for transition, so it can\r\n // be used by the unmount effect below.\r\n transitionCleanupRef.current = transition;\r\n isActiveRef.current = navigationItem === id;\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (isActiveRef.current === true) {\r\n // clean up selections if this option is getting\r\n // unmounted and it was the currently selected item\r\n transitionCleanupRef.current(CLEAR_SELECTION);\r\n }\r\n };\r\n }, []);\r\n\r\n const handleClick = () => {\r\n onSelect && onSelect(text, id, value);\r\n transition(SELECT_WITH_CLICK, { text, item: id });\r\n };\r\n\r\n return (\r\n <Comp\r\n {...props}\r\n as={innerAs}\r\n data-reach-combobox-option=\"\"\r\n ref={ref}\r\n id={id}\r\n role=\"option\"\r\n aria-selected={isActiveRef.current}\r\n data-highlighted={isActiveRef.current ? '' : undefined}\r\n // without this the menu will close from `onBlur`, but with it the\r\n // element can be `document.activeElement` and then our focus checks in\r\n // onBlur will work as intended\r\n tabIndex=\"-1\"\r\n onClick={wrapEvent(onClick, handleClick)}\r\n >\r\n {children || text}\r\n </Comp>\r\n );\r\n }\r\n);\r\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import type { ElementType, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, ReactNode } from 'react';
2
- export interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {
3
- as?: ElementType<any>;
4
- innerAs?: ElementType<any>;
5
- onBlur?: FocusEventHandler<HTMLDivElement>;
6
- onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
7
- children?: ReactNode;
8
- }
9
- export declare const ComboboxPopover: import("react").ForwardRefExoticComponent<ComboboxPopoverProps & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { ElementType, FocusEventHandler, HTMLAttributes, KeyboardEventHandler, ReactNode } from 'react';
2
+ export interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {
3
+ as?: ElementType<any>;
4
+ innerAs?: ElementType<any>;
5
+ onBlur?: FocusEventHandler<HTMLDivElement>;
6
+ onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
7
+ children?: ReactNode;
8
+ }
9
+ export declare const ComboboxPopover: import("react").ForwardRefExoticComponent<ComboboxPopoverProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxPopover.js","names":["forwardRef","useKeyDown","useBlur","wrapEvent","assignMultipleRefs","useComboBoxContext","ComboboxPopover","forwardedRef","onKeyDown","onBlur","as","Comp","innerAs","props","popoverRef","isVisible","handleKeyDown","handleBlur","hidden"],"sources":["../../../src/ComboBox/ComboboxPopover.tsx"],"sourcesContent":["import type {\n ElementType,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport { useKeyDown, useBlur } from './hooks';\nimport { wrapEvent } from '../utils/wrap-event';\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { useComboBoxContext } from './context';\n\nexport interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n onKeyDown?: KeyboardEventHandler<HTMLDivElement>;\n children?: ReactNode;\n}\n\nexport const ComboboxPopover = forwardRef<HTMLDivElement, ComboboxPopoverProps>(\n function ComboboxPopover(\n {\n // wrapped events\n onKeyDown,\n onBlur,\n\n as: Comp = 'div',\n innerAs,\n ...props\n },\n forwardedRef\n ) {\n const { popoverRef, isVisible } = useComboBoxContext();\n const handleKeyDown = useKeyDown();\n const handleBlur = useBlur();\n\n // Instead of conditionally rendering the popover we use the `hidden` prop\n // because we don't want to unmount on close (from escape or onSelect). If\n // we unmounted, then we'd lose the optionsRef and the user wouldn't be able\n // to use the arrow keys to pop the list back open. However, the developer\n // can conditionally render the ComboboxPopover if they do want to cause\n // mount/unmount based on the app's own data (like results.length or\n // whatever).\n const hidden = !isVisible;\n\n return (\n <Comp\n {...props}\n as={innerAs}\n data-reach-combobox-popover=\"\"\n ref={assignMultipleRefs(popoverRef, forwardedRef)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n hidden={hidden}\n // Allow the user to click empty space inside the popover without causing\n // to close from useBlur\n tabIndex=\"-1\"\n />\n );\n }\n);\n"],"mappings":";;;AAOA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAT,EAAqBC,OAArB,QAAoC,SAApC;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,kBAAT,QAAmC,qBAAnC;AACA,SAASC,kBAAT,QAAmC,WAAnC;;AAUA,OAAO,IAAMC,eAAe,gBAAGN,UAAU,CACvC,SAASM,eAAT,OAUEC,YAVF,EAWE;EAAA,IAREC,SAQF,QAREA,SAQF;EAAA,IAPEC,MAOF,QAPEA,MAOF;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,KAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAAkCR,kBAAkB,EAApD;EAAA,IAAQS,UAAR,uBAAQA,UAAR;EAAA,IAAoBC,SAApB,uBAAoBA,SAApB;;EACA,IAAMC,aAAa,GAAGf,UAAU,EAAhC;EACA,IAAMgB,UAAU,GAAGf,OAAO,EAA1B,CAHA,CAKA;EACA;EACA;EACA;EACA;EACA;EACA;;EACA,IAAMgB,MAAM,GAAG,CAACH,SAAhB;EAEA,oBACE,KAAC,IAAD,wBACMF,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,+BAA4B,EAH9B;IAIE,GAAG,EAAER,kBAAkB,CAACU,UAAD,EAAaP,YAAb,CAJzB;IAKE,SAAS,EAAEJ,SAAS,CAACK,SAAD,EAAYQ,aAAZ,CALtB;IAME,MAAM,EAAEb,SAAS,CAACM,MAAD,EAASQ,UAAT,CANnB;IAOE,MAAM,EAAEC,MAPV,CAQE;IACA;IATF;IAUE,QAAQ,EAAC;EAVX,GADF;AAcD,CAxCsC,CAAlC"}
1
+ {"version":3,"file":"ComboboxPopover.js","names":["forwardRef","useKeyDown","useBlur","wrapEvent","assignMultipleRefs","useComboBoxContext","ComboboxPopover","forwardedRef","onKeyDown","onBlur","as","Comp","innerAs","props","popoverRef","isVisible","handleKeyDown","handleBlur","hidden"],"sources":["../../../src/ComboBox/ComboboxPopover.tsx"],"sourcesContent":["import type {\r\n ElementType,\r\n FocusEventHandler,\r\n HTMLAttributes,\r\n KeyboardEventHandler,\r\n ReactNode,\r\n} from 'react';\r\nimport { forwardRef } from 'react';\r\n\r\nimport { useKeyDown, useBlur } from './hooks';\r\nimport { wrapEvent } from '../utils/wrap-event';\r\nimport { assignMultipleRefs } from '../utils/assign-ref';\r\nimport { useComboBoxContext } from './context';\r\n\r\nexport interface ComboboxPopoverProps extends HTMLAttributes<HTMLDivElement> {\r\n as?: ElementType<any>;\r\n innerAs?: ElementType<any>;\r\n onBlur?: FocusEventHandler<HTMLDivElement>;\r\n onKeyDown?: KeyboardEventHandler<HTMLDivElement>;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const ComboboxPopover = forwardRef<HTMLDivElement, ComboboxPopoverProps>(\r\n function ComboboxPopover(\r\n {\r\n // wrapped events\r\n onKeyDown,\r\n onBlur,\r\n\r\n as: Comp = 'div',\r\n innerAs,\r\n ...props\r\n },\r\n forwardedRef\r\n ) {\r\n const { popoverRef, isVisible } = useComboBoxContext();\r\n const handleKeyDown = useKeyDown();\r\n const handleBlur = useBlur();\r\n\r\n // Instead of conditionally rendering the popover we use the `hidden` prop\r\n // because we don't want to unmount on close (from escape or onSelect). If\r\n // we unmounted, then we'd lose the optionsRef and the user wouldn't be able\r\n // to use the arrow keys to pop the list back open. However, the developer\r\n // can conditionally render the ComboboxPopover if they do want to cause\r\n // mount/unmount based on the app's own data (like results.length or\r\n // whatever).\r\n const hidden = !isVisible;\r\n\r\n return (\r\n <Comp\r\n {...props}\r\n as={innerAs}\r\n data-reach-combobox-popover=\"\"\r\n ref={assignMultipleRefs(popoverRef, forwardedRef)}\r\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\r\n onBlur={wrapEvent(onBlur, handleBlur)}\r\n hidden={hidden}\r\n // Allow the user to click empty space inside the popover without causing\r\n // to close from useBlur\r\n tabIndex=\"-1\"\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAOA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAT,EAAqBC,OAArB,QAAoC,SAApC;AACA,SAASC,SAAT,QAA0B,qBAA1B;AACA,SAASC,kBAAT,QAAmC,qBAAnC;AACA,SAASC,kBAAT,QAAmC,WAAnC;;AAUA,OAAO,IAAMC,eAAe,gBAAGN,UAAU,CACvC,SAASM,eAAT,OAUEC,YAVF,EAWE;EAAA,IAREC,SAQF,QAREA,SAQF;EAAA,IAPEC,MAOF,QAPEA,MAOF;EAAA,mBALEC,EAKF;EAAA,IALMC,IAKN,wBALa,KAKb;EAAA,IAJEC,OAIF,QAJEA,OAIF;EAAA,IAHKC,KAGL;;EACA,0BAAkCR,kBAAkB,EAApD;EAAA,IAAQS,UAAR,uBAAQA,UAAR;EAAA,IAAoBC,SAApB,uBAAoBA,SAApB;;EACA,IAAMC,aAAa,GAAGf,UAAU,EAAhC;EACA,IAAMgB,UAAU,GAAGf,OAAO,EAA1B,CAHA,CAKA;EACA;EACA;EACA;EACA;EACA;EACA;;EACA,IAAMgB,MAAM,GAAG,CAACH,SAAhB;EAEA,oBACE,KAAC,IAAD,wBACMF,KADN;IAEE,EAAE,EAAED,OAFN;IAGE,+BAA4B,EAH9B;IAIE,GAAG,EAAER,kBAAkB,CAACU,UAAD,EAAaP,YAAb,CAJzB;IAKE,SAAS,EAAEJ,SAAS,CAACK,SAAD,EAAYQ,aAAZ,CALtB;IAME,MAAM,EAAEb,SAAS,CAACM,MAAD,EAASQ,UAAT,CANnB;IAOE,MAAM,EAAEC,MAPV,CAQE;IACA;IATF;IAUE,QAAQ,EAAC;EAVX,GADF;AAcD,CAxCsC,CAAlC"}
@@ -1,5 +1,5 @@
1
- declare const _default: {
2
- city: string;
3
- state: string;
4
- }[];
5
- export default _default;
1
+ declare const _default: {
2
+ city: string;
3
+ state: string;
4
+ }[];
5
+ export default _default;