@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.
- package/dist/components/HireControlMap.js +21 -34
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/containers/accordions/filter-container.js +5 -13
- package/dist/components/containers/accordions/filter-container.js.map +1 -1
- package/dist/components/containers/accordions/filter-item-container.js +9 -9
- package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
- package/dist/components/containers/accordions/map-accordion-item-container.js +5 -10
- package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
- package/dist/components/containers/filter/commute-container.js +3 -3
- package/dist/components/containers/filter/commute-container.js.map +1 -1
- package/dist/components/containers/filter/filter-container.js +5 -6
- package/dist/components/containers/filter/filter-container.js.map +1 -1
- package/dist/components/containers/filter/filter-item-container.js +12 -12
- package/dist/components/containers/filter/filter-item-container.js.map +1 -1
- package/dist/components/containers/filter/location-container.js +5 -6
- package/dist/components/containers/filter/location-container.js.map +1 -1
- package/dist/components/containers/filter/points-of-interest-container.js +5 -5
- package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
- package/dist/components/containers/filter/points-of-interest-radio-item-container.js +2 -2
- package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
- package/dist/components/containers/filter/search-container.js +2 -2
- package/dist/components/containers/filter/search-container.js.map +1 -1
- package/dist/components/containers/jobListing/listing-details-container.js +2 -2
- package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
- package/dist/components/containers/list/item-list-container.js +8 -8
- package/dist/components/containers/list/item-list-container.js.map +1 -1
- package/dist/components/containers/list/list-item/list-item-container.js +2 -2
- package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
- package/dist/components/containers/maps/info-window-content-container.js +2 -2
- package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
- package/dist/components/containers/maps/map-container.js +9 -8
- package/dist/components/containers/maps/map-container.js.map +1 -1
- package/dist/components/containers/maps/map-list-container.js +5 -5
- package/dist/components/containers/maps/map-list-container.js.map +1 -1
- package/dist/components/containers/maps/map-marker-container.js +6 -6
- package/dist/components/containers/maps/map-marker-container.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +5 -5
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/accordions/default.js +15 -15
- package/dist/components/modules/accordions/default.js.map +1 -1
- package/dist/components/modules/accordions/filterItem.js +4 -4
- package/dist/components/modules/accordions/filterItem.js.map +1 -1
- package/dist/components/modules/accordions/filters.js +6 -6
- package/dist/components/modules/accordions/filters.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +19 -19
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/buttons/default.js +9 -9
- package/dist/components/modules/buttons/default.js.map +1 -1
- package/dist/components/modules/buttons/items-pill.js +2 -2
- package/dist/components/modules/buttons/items-pill.js.map +1 -1
- package/dist/components/modules/buttons/pill-wrapper.js +2 -2
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
- package/dist/components/modules/buttons/show-all-button.js +3 -3
- package/dist/components/modules/buttons/show-all-button.js.map +1 -1
- package/dist/components/modules/cards/default.js +11 -11
- package/dist/components/modules/cards/default.js.map +1 -1
- package/dist/components/modules/cards/filter.js +5 -5
- package/dist/components/modules/cards/filter.js.map +1 -1
- package/dist/components/modules/dialogs/apply-dialog.js +19 -19
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
- package/dist/components/modules/filter/commute.js +19 -18
- package/dist/components/modules/filter/commute.js.map +1 -1
- package/dist/components/modules/filter/index.js +10 -10
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/item.js +6 -6
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +6 -6
- package/dist/components/modules/filter/location.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +6 -6
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/filter/search.js +10 -10
- package/dist/components/modules/filter/search.js.map +1 -1
- package/dist/components/modules/filter/sort.js +28 -28
- package/dist/components/modules/filter/sort.js.map +1 -1
- package/dist/components/modules/grid.js +4 -4
- package/dist/components/modules/grid.js.map +1 -1
- package/dist/components/modules/icon.js +4 -4
- package/dist/components/modules/icon.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details.js +4 -4
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/list/field-mapper-desktop.js +8 -8
- package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
- package/dist/components/modules/list/field-mapper-mobile.js +18 -18
- package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
- package/dist/components/modules/list/header-item.js +7 -7
- package/dist/components/modules/list/header-item.js.map +1 -1
- package/dist/components/modules/list/header.js +5 -5
- package/dist/components/modules/list/header.js.map +1 -1
- package/dist/components/modules/list/item-expand-card/index.js +3 -3
- package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
- package/dist/components/modules/list/item-list.js +15 -15
- package/dist/components/modules/list/item-list.js.map +1 -1
- package/dist/components/modules/list/list-item/list-item.js +13 -13
- package/dist/components/modules/list/list-item/list-item.js.map +1 -1
- package/dist/components/modules/maps/info-window-card.js +2 -2
- package/dist/components/modules/maps/info-window-card.js.map +1 -1
- package/dist/components/modules/maps/info-window-content.js +5 -5
- package/dist/components/modules/maps/info-window-content.js.map +1 -1
- package/dist/components/modules/maps/map-list.js +5 -5
- package/dist/components/modules/maps/map-list.js.map +1 -1
- package/dist/components/modules/maps/map-marker.js +3 -3
- package/dist/components/modules/maps/map-marker.js.map +1 -1
- package/dist/components/modules/maps/map.js +5 -5
- package/dist/components/modules/maps/map.js.map +1 -1
- package/dist/components/modules/maps/place-marker.js +5 -5
- package/dist/components/modules/maps/place-marker.js.map +1 -1
- package/dist/components/modules/maps/tabs.js +21 -21
- package/dist/components/modules/maps/tabs.js.map +1 -1
- package/dist/contexts/mapContext.js +18 -18
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +34 -27
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/placesContext.js +2 -2
- package/dist/contexts/placesContext.js.map +1 -1
- package/dist/contexts/themeContext.js +2 -2
- package/dist/contexts/themeContext.js.map +1 -1
- package/dist/contexts/trackEventContext.js +2 -2
- package/dist/contexts/trackEventContext.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js +34 -21
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +103 -30
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +12 -4
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +37 -15
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +9 -8
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js +8 -6
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js +5 -4
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js +5 -3
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js +24 -3
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js +9 -9
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js +6 -4
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js +4 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js +6 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js +17 -6
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js +4 -2
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js +8 -5
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js +77 -31
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js +46 -38
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js +2 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +39 -15
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js +16 -16
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js +8086 -7852
- package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js +213 -152
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js +6 -2
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js +3 -2
- package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -8
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js +6 -6
- package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js +7 -7
- package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js.map +1 -1
- package/dist/services/listingAggregatorService.js +15 -19
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/services/listingEntityService.js +2 -3
- package/dist/services/listingEntityService.js.map +1 -1
- package/dist/services/listingService.js +16 -1
- package/dist/services/listingService.js.map +1 -1
- package/dist/styles/index.css +3 -1
- package/dist/types/contexts/mapContext.d.ts +0 -1
- package/dist/types/services/listingAggregatorService.d.ts +2 -2
- package/dist/types/services/listingEntityService.d.ts +3 -2
- package/dist/types/types/GetListingParams.d.ts +1 -1
- package/dist/types/types/ListingEntity.d.ts +1 -2
- package/dist/types/types/ListingFields.d.ts +2 -4
- package/dist/types/types/Listings.d.ts +1 -0
- package/dist/types/util/mapUtil.d.ts +3 -3
- package/dist/util/filterUtil.js +6 -6
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/loading.js +3 -3
- package/dist/util/loading.js.map +1 -1
- package/dist/util/mapUtil.js +25 -37
- package/dist/util/mapUtil.js.map +1 -1
- package/package.json +17 -60
- package/src/components/HireControlMap.js +8 -19
- package/src/components/containers/accordions/filter-container.js +1 -6
- package/src/components/containers/accordions/filter-item-container.js +2 -2
- package/src/components/containers/accordions/map-accordion-item-container.js +2 -6
- package/src/components/containers/filter/filter-container.js +2 -3
- package/src/components/containers/filter/filter-item-container.js +10 -10
- package/src/components/containers/filter/location-container.js +3 -3
- package/src/components/containers/list/item-list-container.tsx +3 -3
- package/src/components/containers/maps/info-window-content-container.js +1 -1
- package/src/components/containers/maps/map-container.js +1 -2
- package/src/components/modules/buttons/button-group-apply.js +8 -8
- package/src/components/modules/dialogs/apply-dialog.js +2 -2
- package/src/components/modules/list/field-mapper-desktop.jsx +2 -2
- package/src/components/modules/list/field-mapper-mobile.jsx +8 -8
- package/src/components/modules/list/header-item.js +1 -1
- package/src/components/modules/maps/map-list.js +1 -1
- package/src/contexts/mapContext.tsx +16 -17
- package/src/contexts/mapListContext.tsx +58 -52
- package/src/services/listingAggregatorService.ts +21 -29
- package/src/services/listingEntityService.ts +3 -3
- package/src/services/listingService.ts +11 -1
- package/src/types/GetListingParams.ts +1 -1
- package/src/types/ListingEntity.ts +1 -2
- package/src/types/ListingFields.ts +2 -4
- package/src/types/Listings.ts +1 -0
- package/src/util/filterUtil.js +6 -6
- package/src/util/mapUtil.js +41 -52
- 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 {
|
|
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 {
|
|
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
|
|
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 ?
|
|
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
|
-
|
|
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, [
|
|
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, [
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1028
|
-
|
|
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(
|
|
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
|
-
|
|
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("");
|