@abcagency/hc-ui-components 1.4.23 → 1.5.1

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 (253) hide show
  1. package/dist/components/HireControlMap.js +21 -34
  2. package/dist/components/HireControlMap.js.map +1 -1
  3. package/dist/components/containers/accordions/filter-container.js +5 -13
  4. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  5. package/dist/components/containers/accordions/filter-item-container.js +9 -9
  6. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  7. package/dist/components/containers/accordions/map-accordion-item-container.js +5 -10
  8. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  9. package/dist/components/containers/filter/commute-container.js +3 -3
  10. package/dist/components/containers/filter/commute-container.js.map +1 -1
  11. package/dist/components/containers/filter/filter-container.js +5 -6
  12. package/dist/components/containers/filter/filter-container.js.map +1 -1
  13. package/dist/components/containers/filter/filter-item-container.js +12 -12
  14. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  15. package/dist/components/containers/filter/location-container.js +5 -6
  16. package/dist/components/containers/filter/location-container.js.map +1 -1
  17. package/dist/components/containers/filter/points-of-interest-container.js +5 -5
  18. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  19. package/dist/components/containers/filter/points-of-interest-radio-item-container.js +2 -2
  20. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  21. package/dist/components/containers/filter/search-container.js +2 -2
  22. package/dist/components/containers/filter/search-container.js.map +1 -1
  23. package/dist/components/containers/jobListing/listing-details-container.js +2 -2
  24. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  25. package/dist/components/containers/list/item-list-container.js +8 -8
  26. package/dist/components/containers/list/item-list-container.js.map +1 -1
  27. package/dist/components/containers/list/list-item/list-item-container.js +2 -2
  28. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  29. package/dist/components/containers/maps/info-window-content-container.js +2 -2
  30. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  31. package/dist/components/containers/maps/map-container.js +9 -8
  32. package/dist/components/containers/maps/map-container.js.map +1 -1
  33. package/dist/components/containers/maps/map-list-container.js +5 -5
  34. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  35. package/dist/components/containers/maps/map-marker-container.js +6 -6
  36. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  37. package/dist/components/modules/accordions/MapAccordionItem.js +5 -5
  38. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  39. package/dist/components/modules/accordions/default.js +15 -15
  40. package/dist/components/modules/accordions/default.js.map +1 -1
  41. package/dist/components/modules/accordions/filterItem.js +4 -4
  42. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  43. package/dist/components/modules/accordions/filters.js +6 -6
  44. package/dist/components/modules/accordions/filters.js.map +1 -1
  45. package/dist/components/modules/buttons/button-group-apply.js +19 -19
  46. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  47. package/dist/components/modules/buttons/default.js +9 -9
  48. package/dist/components/modules/buttons/default.js.map +1 -1
  49. package/dist/components/modules/buttons/items-pill.js +2 -2
  50. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  51. package/dist/components/modules/buttons/pill-wrapper.js +2 -2
  52. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  53. package/dist/components/modules/buttons/show-all-button.js +3 -3
  54. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  55. package/dist/components/modules/cards/default.js +11 -11
  56. package/dist/components/modules/cards/default.js.map +1 -1
  57. package/dist/components/modules/cards/filter.js +5 -5
  58. package/dist/components/modules/cards/filter.js.map +1 -1
  59. package/dist/components/modules/dialogs/apply-dialog.js +19 -19
  60. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  61. package/dist/components/modules/filter/commute.js +19 -18
  62. package/dist/components/modules/filter/commute.js.map +1 -1
  63. package/dist/components/modules/filter/index.js +10 -10
  64. package/dist/components/modules/filter/index.js.map +1 -1
  65. package/dist/components/modules/filter/item.js +6 -6
  66. package/dist/components/modules/filter/item.js.map +1 -1
  67. package/dist/components/modules/filter/location.js +6 -6
  68. package/dist/components/modules/filter/location.js.map +1 -1
  69. package/dist/components/modules/filter/radio-item.js +6 -6
  70. package/dist/components/modules/filter/radio-item.js.map +1 -1
  71. package/dist/components/modules/filter/search.js +10 -10
  72. package/dist/components/modules/filter/search.js.map +1 -1
  73. package/dist/components/modules/filter/sort.js +28 -28
  74. package/dist/components/modules/filter/sort.js.map +1 -1
  75. package/dist/components/modules/grid.js +4 -4
  76. package/dist/components/modules/grid.js.map +1 -1
  77. package/dist/components/modules/icon.js +4 -4
  78. package/dist/components/modules/icon.js.map +1 -1
  79. package/dist/components/modules/jobListing/listing-details.js +4 -4
  80. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  81. package/dist/components/modules/list/field-mapper-desktop.js +8 -8
  82. package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
  83. package/dist/components/modules/list/field-mapper-mobile.js +18 -18
  84. package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
  85. package/dist/components/modules/list/header-item.js +7 -7
  86. package/dist/components/modules/list/header-item.js.map +1 -1
  87. package/dist/components/modules/list/header.js +5 -5
  88. package/dist/components/modules/list/header.js.map +1 -1
  89. package/dist/components/modules/list/item-expand-card/index.js +3 -3
  90. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  91. package/dist/components/modules/list/item-list.js +15 -15
  92. package/dist/components/modules/list/item-list.js.map +1 -1
  93. package/dist/components/modules/list/list-item/list-item.js +13 -13
  94. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  95. package/dist/components/modules/maps/info-window-card.js +2 -2
  96. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  97. package/dist/components/modules/maps/info-window-content.js +5 -5
  98. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  99. package/dist/components/modules/maps/map-list.js +5 -5
  100. package/dist/components/modules/maps/map-list.js.map +1 -1
  101. package/dist/components/modules/maps/map-marker.js +3 -3
  102. package/dist/components/modules/maps/map-marker.js.map +1 -1
  103. package/dist/components/modules/maps/map.js +5 -5
  104. package/dist/components/modules/maps/map.js.map +1 -1
  105. package/dist/components/modules/maps/place-marker.js +5 -5
  106. package/dist/components/modules/maps/place-marker.js.map +1 -1
  107. package/dist/components/modules/maps/tabs.js +21 -21
  108. package/dist/components/modules/maps/tabs.js.map +1 -1
  109. package/dist/contexts/mapContext.js +18 -18
  110. package/dist/contexts/mapContext.js.map +1 -1
  111. package/dist/contexts/mapListContext.js +34 -27
  112. package/dist/contexts/mapListContext.js.map +1 -1
  113. package/dist/contexts/placesContext.js +2 -2
  114. package/dist/contexts/placesContext.js.map +1 -1
  115. package/dist/contexts/themeContext.js +2 -2
  116. package/dist/contexts/themeContext.js.map +1 -1
  117. package/dist/contexts/trackEventContext.js +2 -2
  118. package/dist/contexts/trackEventContext.js.map +1 -1
  119. package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js +34 -21
  120. package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  121. package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +103 -30
  122. package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  123. package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +12 -4
  124. package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  125. package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +37 -15
  126. package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  127. package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +9 -8
  128. package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  129. package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js +1 -1
  130. package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
  131. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js +8 -6
  132. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -1
  133. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js +1 -1
  134. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  135. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js +5 -4
  136. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
  137. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js +5 -3
  138. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  139. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js +24 -3
  140. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
  141. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js +9 -9
  142. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  143. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js +6 -4
  144. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  145. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js +1 -1
  146. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
  147. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  148. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js +4 -1
  149. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
  150. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  151. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js +1 -1
  152. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
  153. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js +6 -1
  154. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  155. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  156. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js +17 -6
  157. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
  158. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js +4 -2
  159. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  160. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js +8 -5
  161. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  162. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js +77 -31
  163. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
  164. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js +46 -38
  165. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  166. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js +2 -1
  167. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
  168. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +1 -1
  169. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
  170. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +39 -15
  171. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
  172. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +1 -1
  173. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
  174. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +2 -2
  175. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
  176. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js +1 -1
  177. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -1
  178. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js +1 -1
  179. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
  180. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js +16 -16
  181. package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -1
  182. package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js +8086 -7852
  183. package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js.map +1 -1
  184. package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js +2 -2
  185. package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js.map +1 -1
  186. package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js +1 -1
  187. package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -1
  188. package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js +213 -152
  189. package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -1
  190. package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js +6 -2
  191. package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -1
  192. package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js +3 -2
  193. package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  194. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +2 -2
  195. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  196. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  197. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  198. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -8
  199. package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  200. package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js +6 -6
  201. package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js.map +1 -1
  202. package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js +7 -7
  203. package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js.map +1 -1
  204. package/dist/services/listingAggregatorService.js +15 -19
  205. package/dist/services/listingAggregatorService.js.map +1 -1
  206. package/dist/services/listingEntityService.js +2 -3
  207. package/dist/services/listingEntityService.js.map +1 -1
  208. package/dist/services/listingService.js +16 -1
  209. package/dist/services/listingService.js.map +1 -1
  210. package/dist/styles/index.css +3 -1
  211. package/dist/types/contexts/mapContext.d.ts +0 -1
  212. package/dist/types/services/listingAggregatorService.d.ts +2 -2
  213. package/dist/types/services/listingEntityService.d.ts +3 -2
  214. package/dist/types/types/GetListingParams.d.ts +1 -1
  215. package/dist/types/types/ListingEntity.d.ts +1 -2
  216. package/dist/types/types/ListingFields.d.ts +2 -4
  217. package/dist/types/types/Listings.d.ts +1 -0
  218. package/dist/types/util/mapUtil.d.ts +3 -3
  219. package/dist/util/filterUtil.js +6 -6
  220. package/dist/util/filterUtil.js.map +1 -1
  221. package/dist/util/loading.js +3 -3
  222. package/dist/util/loading.js.map +1 -1
  223. package/dist/util/mapUtil.js +25 -37
  224. package/dist/util/mapUtil.js.map +1 -1
  225. package/package.json +17 -60
  226. package/src/components/HireControlMap.js +8 -19
  227. package/src/components/containers/accordions/filter-container.js +1 -6
  228. package/src/components/containers/accordions/filter-item-container.js +2 -2
  229. package/src/components/containers/accordions/map-accordion-item-container.js +2 -6
  230. package/src/components/containers/filter/filter-container.js +2 -3
  231. package/src/components/containers/filter/filter-item-container.js +10 -10
  232. package/src/components/containers/filter/location-container.js +3 -3
  233. package/src/components/containers/list/item-list-container.tsx +3 -3
  234. package/src/components/containers/maps/info-window-content-container.js +1 -1
  235. package/src/components/containers/maps/map-container.js +1 -2
  236. package/src/components/modules/buttons/button-group-apply.js +8 -8
  237. package/src/components/modules/dialogs/apply-dialog.js +2 -2
  238. package/src/components/modules/list/field-mapper-desktop.jsx +2 -2
  239. package/src/components/modules/list/field-mapper-mobile.jsx +8 -8
  240. package/src/components/modules/list/header-item.js +1 -1
  241. package/src/components/modules/maps/map-list.js +1 -1
  242. package/src/contexts/mapContext.tsx +16 -17
  243. package/src/contexts/mapListContext.tsx +58 -52
  244. package/src/services/listingAggregatorService.ts +21 -29
  245. package/src/services/listingEntityService.ts +3 -3
  246. package/src/services/listingService.ts +11 -1
  247. package/src/types/GetListingParams.ts +1 -1
  248. package/src/types/ListingEntity.ts +1 -2
  249. package/src/types/ListingFields.ts +2 -4
  250. package/src/types/Listings.ts +1 -0
  251. package/src/util/filterUtil.js +6 -6
  252. package/src/util/mapUtil.js +41 -52
  253. package/src/styles/components.css +0 -30
@@ -13,12 +13,12 @@ import { useId } from '../../react-id/dist/index.js';
13
13
  import { createPopperScope, Anchor, Content, Arrow, Root as Root2$1 } from '../../react-popper/dist/index.js';
14
14
  import { Portal as Portal$1 } from '../../react-portal/dist/index.js';
15
15
  import { Primitive } from '../../react-primitive/dist/index.js';
16
- import { Slot } from '../../react-slot/dist/index.js';
16
+ import { createSlot } from '../../react-slot/dist/index.js';
17
17
  import { useCallbackRef } from '../../react-use-callback-ref/dist/index.js';
18
18
  import { useControllableState } from '../../react-use-controllable-state/dist/index.js';
19
19
  import { useLayoutEffect as useLayoutEffect2 } from '../../react-use-layout-effect/dist/index.js';
20
20
  import { usePrevious } from '../../react-use-previous/dist/index.js';
21
- import { VisuallyHidden } from '../../react-visually-hidden/dist/index.js';
21
+ import { VISUALLY_HIDDEN_STYLES } from '../../react-visually-hidden/dist/index.js';
22
22
  import { hideOthers } from '../../../aria-hidden/dist/es2015/index.js';
23
23
  import ReactRemoveScroll from '../../../react-remove-scroll/dist/es2015/Combination.js';
24
24
  import { j as jsxRuntimeExports } from '../../../../../../apps/test-react-app/node_modules/react/jsx-runtime.js';
@@ -48,25 +48,28 @@ var Select = (props) => {
48
48
  name,
49
49
  autoComplete,
50
50
  disabled,
51
- required
51
+ required,
52
+ form
52
53
  } = props;
53
54
  const popperScope = usePopperScope(__scopeSelect);
54
55
  const [trigger, setTrigger] = React.useState(null);
55
56
  const [valueNode, setValueNode] = React.useState(null);
56
57
  const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);
57
58
  const direction = useDirection(dir);
58
- const [open = false, setOpen] = useControllableState({
59
+ const [open, setOpen] = useControllableState({
59
60
  prop: openProp,
60
- defaultProp: defaultOpen,
61
- onChange: onOpenChange
61
+ defaultProp: defaultOpen ?? false,
62
+ onChange: onOpenChange,
63
+ caller: SELECT_NAME
62
64
  });
63
65
  const [value, setValue] = useControllableState({
64
66
  prop: valueProp,
65
67
  defaultProp: defaultValue,
66
- onChange: onValueChange
68
+ onChange: onValueChange,
69
+ caller: SELECT_NAME
67
70
  });
68
71
  const triggerPointerDownPosRef = React.useRef(null);
69
- const isFormControl = trigger ? Boolean(trigger.closest("form")) : true;
72
+ const isFormControl = trigger ? form || !!trigger.closest("form") : true;
70
73
  const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());
71
74
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
72
75
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Root2$1, { ...popperScope, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -107,7 +110,7 @@ var Select = (props) => {
107
110
  }
108
111
  ) }),
109
112
  isFormControl ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
110
- BubbleSelect,
113
+ SelectBubbleInput,
111
114
  {
112
115
  "aria-hidden": true,
113
116
  required,
@@ -117,6 +120,7 @@ var Select = (props) => {
117
120
  value,
118
121
  onChange: (event) => setValue(event.target.value),
119
122
  disabled,
123
+ form,
120
124
  children: [
121
125
  value === void 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "" }) : null,
122
126
  Array.from(nativeOptionsSet)
@@ -138,6 +142,7 @@ var SelectTrigger = React.forwardRef(
138
142
  const isDisabled = context.disabled || disabled;
139
143
  const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);
140
144
  const getItems = useCollection(__scopeSelect);
145
+ const pointerTypeRef = React.useRef("touch");
141
146
  const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {
142
147
  const enabledItems = getItems().filter((item) => !item.disabled);
143
148
  const currentItem = enabledItems.find((item) => item.value === context.value);
@@ -146,11 +151,17 @@ var SelectTrigger = React.forwardRef(
146
151
  context.onValueChange(nextItem.value);
147
152
  }
148
153
  });
149
- const handleOpen = () => {
154
+ const handleOpen = (pointerEvent) => {
150
155
  if (!isDisabled) {
151
156
  context.onOpenChange(true);
152
157
  resetTypeahead();
153
158
  }
159
+ if (pointerEvent) {
160
+ context.triggerPointerDownPosRef.current = {
161
+ x: Math.round(pointerEvent.pageX),
162
+ y: Math.round(pointerEvent.pageY)
163
+ };
164
+ }
154
165
  };
155
166
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
156
167
  Primitive.button,
@@ -170,18 +181,18 @@ var SelectTrigger = React.forwardRef(
170
181
  ref: composedRefs,
171
182
  onClick: composeEventHandlers(triggerProps.onClick, (event) => {
172
183
  event.currentTarget.focus();
184
+ if (pointerTypeRef.current !== "mouse") {
185
+ handleOpen(event);
186
+ }
173
187
  }),
174
188
  onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
189
+ pointerTypeRef.current = event.pointerType;
175
190
  const target = event.target;
176
191
  if (target.hasPointerCapture(event.pointerId)) {
177
192
  target.releasePointerCapture(event.pointerId);
178
193
  }
179
- if (event.button === 0 && event.ctrlKey === false) {
180
- handleOpen();
181
- context.triggerPointerDownPosRef.current = {
182
- x: Math.round(event.pageX),
183
- y: Math.round(event.pageY)
184
- };
194
+ if (event.button === 0 && event.ctrlKey === false && event.pointerType === "mouse") {
195
+ handleOpen(event);
185
196
  event.preventDefault();
186
197
  }
187
198
  }),
@@ -258,6 +269,7 @@ SelectContent.displayName = CONTENT_NAME;
258
269
  var CONTENT_MARGIN = 10;
259
270
  var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);
260
271
  var CONTENT_IMPL_NAME = "SelectContentImpl";
272
+ var Slot = createSlot("SelectContent.RemoveScroll");
261
273
  var SelectContentImpl = React.forwardRef(
262
274
  (props, forwardedRef) => {
263
275
  const {
@@ -516,7 +528,15 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
516
528
  const minContentWidth = triggerRect.width + leftDelta;
517
529
  const contentWidth = Math.max(minContentWidth, contentRect.width);
518
530
  const rightEdge = window.innerWidth - CONTENT_MARGIN;
519
- const clampedLeft = clamp(left, [CONTENT_MARGIN, rightEdge - contentWidth]);
531
+ const clampedLeft = clamp(left, [
532
+ CONTENT_MARGIN,
533
+ // Prevents the content from going off the starting edge of the
534
+ // viewport. It may still go off the ending edge, but this can be
535
+ // controlled by the user since they may want to manage overflow in a
536
+ // specific way.
537
+ // https://github.com/radix-ui/primitives/issues/2049
538
+ Math.max(CONTENT_MARGIN, rightEdge - contentWidth)
539
+ ]);
520
540
  contentWrapper.style.minWidth = minContentWidth + "px";
521
541
  contentWrapper.style.left = clampedLeft + "px";
522
542
  } else {
@@ -526,7 +546,10 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
526
546
  const minContentWidth = triggerRect.width + rightDelta;
527
547
  const contentWidth = Math.max(minContentWidth, contentRect.width);
528
548
  const leftEdge = window.innerWidth - CONTENT_MARGIN;
529
- const clampedRight = clamp(right, [CONTENT_MARGIN, leftEdge - contentWidth]);
549
+ const clampedRight = clamp(right, [
550
+ CONTENT_MARGIN,
551
+ Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
552
+ ]);
530
553
  contentWrapper.style.minWidth = minContentWidth + "px";
531
554
  contentWrapper.style.right = clampedRight + "px";
532
555
  }
@@ -551,7 +574,7 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
551
574
  const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
552
575
  const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
553
576
  if (willAlignWithoutTopOverflow) {
554
- const isLastItem = selectedItem === items[items.length - 1].ref.current;
577
+ const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;
555
578
  contentWrapper.style.bottom = "0px";
556
579
  const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
557
580
  const clampedTriggerMiddleToBottomEdge = Math.max(
@@ -562,7 +585,7 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
562
585
  const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
563
586
  contentWrapper.style.height = height + "px";
564
587
  } else {
565
- const isFirstItem = selectedItem === items[0].ref.current;
588
+ const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;
566
589
  contentWrapper.style.top = "0px";
567
590
  const clampedTopEdgeToTriggerMiddle = Math.max(
568
591
  topEdgeToTriggerMiddle,
@@ -710,7 +733,11 @@ var SelectViewport = React.forwardRef(
710
733
  // (independent of the scrollUpButton).
711
734
  position: "relative",
712
735
  flex: 1,
713
- overflow: "auto",
736
+ // Viewport should only be scrollable in the vertical direction.
737
+ // This won't work in vertical writing modes, so we'll need to
738
+ // revisit this if/when that is supported
739
+ // https://developer.chrome.com/blog/vertical-form-controls
740
+ overflow: "hidden auto",
714
741
  ...viewportProps.style
715
742
  },
716
743
  onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {
@@ -783,6 +810,7 @@ var SelectItem = React.forwardRef(
783
810
  (node) => contentContext.itemRefCallback?.(node, value, disabled)
784
811
  );
785
812
  const textId = useId();
813
+ const pointerTypeRef = React.useRef("touch");
786
814
  const handleSelect = () => {
787
815
  if (!disabled) {
788
816
  context.onValueChange(value);
@@ -827,11 +855,20 @@ var SelectItem = React.forwardRef(
827
855
  ref: composedRefs,
828
856
  onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),
829
857
  onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),
830
- onPointerUp: composeEventHandlers(itemProps.onPointerUp, handleSelect),
858
+ onClick: composeEventHandlers(itemProps.onClick, () => {
859
+ if (pointerTypeRef.current !== "mouse") handleSelect();
860
+ }),
861
+ onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {
862
+ if (pointerTypeRef.current === "mouse") handleSelect();
863
+ }),
864
+ onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {
865
+ pointerTypeRef.current = event.pointerType;
866
+ }),
831
867
  onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {
868
+ pointerTypeRef.current = event.pointerType;
832
869
  if (disabled) {
833
870
  contentContext.onItemLeave?.();
834
- } else {
871
+ } else if (pointerTypeRef.current === "mouse") {
835
872
  event.currentTarget.focus({ preventScroll: true });
836
873
  }
837
874
  }),
@@ -1024,17 +1061,15 @@ var SelectArrow = React.forwardRef(
1024
1061
  }
1025
1062
  );
1026
1063
  SelectArrow.displayName = ARROW_NAME;
1027
- function shouldShowPlaceholder(value) {
1028
- return value === "" || value === void 0;
1029
- }
1030
- var BubbleSelect = React.forwardRef(
1031
- (props, forwardedRef) => {
1032
- const { value, ...selectProps } = props;
1064
+ var BUBBLE_INPUT_NAME = "SelectBubbleInput";
1065
+ var SelectBubbleInput = React.forwardRef(
1066
+ ({ __scopeSelect, value, ...props }, forwardedRef) => {
1033
1067
  const ref = React.useRef(null);
1034
1068
  const composedRefs = useComposedRefs(forwardedRef, ref);
1035
1069
  const prevValue = usePrevious(value);
1036
1070
  React.useEffect(() => {
1037
1071
  const select = ref.current;
1072
+ if (!select) return;
1038
1073
  const selectProto = window.HTMLSelectElement.prototype;
1039
1074
  const descriptor = Object.getOwnPropertyDescriptor(
1040
1075
  selectProto,
@@ -1047,10 +1082,21 @@ var BubbleSelect = React.forwardRef(
1047
1082
  select.dispatchEvent(event);
1048
1083
  }
1049
1084
  }, [prevValue, value]);
1050
- return /* @__PURE__ */ jsxRuntimeExports.jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx("select", { ...selectProps, ref: composedRefs, defaultValue: value }) });
1085
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
1086
+ Primitive.select,
1087
+ {
1088
+ ...props,
1089
+ style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },
1090
+ ref: composedRefs,
1091
+ defaultValue: value
1092
+ }
1093
+ );
1051
1094
  }
1052
1095
  );
1053
- BubbleSelect.displayName = "BubbleSelect";
1096
+ SelectBubbleInput.displayName = BUBBLE_INPUT_NAME;
1097
+ function shouldShowPlaceholder(value) {
1098
+ return value === "" || value === void 0;
1099
+ }
1054
1100
  function useTypeaheadSearch(onSearchChange) {
1055
1101
  const handleSearchChange = useCallbackRef(onSearchChange);
1056
1102
  const searchRef = React.useRef("");