@arc-ui/components 12.0.0-alpha.0 → 12.0.0-beta.3
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/Alert/Alert.cjs.js +11 -15
- package/dist/Alert/Alert.esm.js +9 -13
- package/dist/Align/Align.cjs.js +6 -6
- package/dist/Align/Align.esm.js +2 -2
- package/dist/AppButton/AppButton.cjs.js +73 -0
- package/dist/AppButton/AppButton.esm.js +65 -0
- package/dist/AppButton/package.json +7 -0
- package/dist/Avatar/Avatar.cjs.js +18 -0
- package/dist/Avatar/Avatar.esm.js +10 -0
- package/dist/Avatar/package.json +7 -0
- package/dist/AvatarGroup/AvatarGroup.cjs.js +38 -0
- package/dist/AvatarGroup/AvatarGroup.esm.js +30 -0
- package/dist/AvatarGroup/package.json +7 -0
- package/dist/Badge/Badge.cjs.js +6 -21
- package/dist/Badge/Badge.esm.js +6 -21
- package/dist/Box/Box.cjs.js +6 -7
- package/dist/Box/Box.esm.js +3 -4
- package/dist/BrandLogo/BrandLogo.cjs.js +4 -4
- package/dist/BrandLogo/BrandLogo.esm.js +4 -4
- package/dist/Breadcrumbs/Breadcrumbs.cjs.js +7 -6
- package/dist/Breadcrumbs/Breadcrumbs.esm.js +7 -6
- package/dist/Button/Button.cjs.js +6 -6
- package/dist/Button/Button.esm.js +6 -6
- package/dist/ButtonV2/ButtonV2.cjs.js +16 -0
- package/dist/ButtonV2/ButtonV2.esm.js +8 -0
- package/dist/ButtonV2/package.json +7 -0
- package/dist/Calendar/Calendar.cjs.js +22 -0
- package/dist/Calendar/Calendar.esm.js +14 -0
- package/dist/Calendar/package.json +7 -0
- package/dist/Checkbox/Checkbox.cjs.js +9 -8
- package/dist/Checkbox/Checkbox.esm.js +9 -8
- package/dist/Columns/Columns.cjs.js +3 -3
- package/dist/Columns/Columns.esm.js +3 -3
- package/dist/DatePicker/DatePicker.cjs.js +40 -0
- package/dist/DatePicker/DatePicker.esm.js +27 -0
- package/dist/DatePicker/package.json +7 -0
- package/dist/Disclosure/Disclosure.cjs.js +15 -12
- package/dist/Disclosure/Disclosure.esm.js +12 -9
- package/dist/DisclosureMini/DisclosureMini.cjs.js +6 -6
- package/dist/DisclosureMini/DisclosureMini.esm.js +6 -6
- package/dist/Elevation/Elevation.cjs.js +5 -5
- package/dist/Elevation/Elevation.esm.js +1 -1
- package/dist/Filter/Filter.cjs.js +4 -3
- package/dist/Filter/Filter.esm.js +4 -3
- package/dist/FormControl/FormControl.cjs.js +8 -7
- package/dist/FormControl/FormControl.esm.js +8 -7
- package/dist/Grid/Grid.cjs.js +13 -0
- package/dist/Grid/Grid.esm.js +5 -0
- package/dist/Grid/package.json +7 -0
- package/dist/Group/Group.cjs.js +3 -3
- package/dist/Group/Group.esm.js +3 -3
- package/dist/Heading/Heading.cjs.js +4 -4
- package/dist/Heading/Heading.esm.js +4 -4
- package/dist/HeroButton/HeroButton.cjs.js +16 -0
- package/dist/HeroButton/HeroButton.esm.js +8 -0
- package/dist/HeroButton/package.json +7 -0
- package/dist/Hidden/Hidden.cjs.js +24 -0
- package/dist/Hidden/Hidden.esm.js +16 -0
- package/dist/Hidden/package.json +7 -0
- package/dist/Icon/Icon.cjs.js +4 -4
- package/dist/Icon/Icon.esm.js +4 -4
- package/dist/Image/Image.cjs.js +3 -3
- package/dist/Image/Image.esm.js +3 -3
- package/dist/ImpactCard/ImpactCard.cjs.js +44 -0
- package/dist/ImpactCard/ImpactCard.esm.js +36 -0
- package/dist/ImpactCard/package.json +7 -0
- package/dist/InformationCard/InformationCard.cjs.js +74 -0
- package/dist/InformationCard/InformationCard.esm.js +66 -0
- package/dist/InformationCard/package.json +7 -0
- package/dist/Link/Link.cjs.js +76 -0
- package/dist/Link/Link.esm.js +68 -0
- package/dist/Link/package.json +7 -0
- package/dist/Markup/Markup.cjs.js +6 -6
- package/dist/Markup/Markup.esm.js +2 -2
- package/dist/MediaCard/MediaCard.cjs.js +26 -0
- package/dist/MediaCard/MediaCard.esm.js +18 -0
- package/dist/MediaCard/package.json +7 -0
- package/dist/Modal/Modal.cjs.js +1478 -527
- package/dist/Modal/Modal.esm.js +1455 -523
- package/dist/Pagination/Pagination.cjs.js +14 -17
- package/dist/Pagination/Pagination.esm.js +7 -10
- package/dist/PaginationSimple/PaginationSimple.cjs.js +24 -27
- package/dist/PaginationSimple/PaginationSimple.esm.js +22 -25
- package/dist/Poster/Poster.cjs.js +5 -5
- package/dist/Poster/Poster.esm.js +5 -5
- package/dist/ProgressBar/ProgressBar.cjs.js +21 -18
- package/dist/ProgressBar/ProgressBar.esm.js +17 -14
- package/dist/ProgressStepper/ProgressStepper.cjs.js +6 -7
- package/dist/ProgressStepper/ProgressStepper.esm.js +6 -7
- package/dist/RadioGroup/RadioGroup.cjs.js +10 -8
- package/dist/RadioGroup/RadioGroup.esm.js +9 -8
- package/dist/Rule/Rule.cjs.js +14 -4
- package/dist/Rule/Rule.esm.js +15 -5
- package/dist/ScrollToTop/ScrollToTop.cjs.js +12 -11
- package/dist/ScrollToTop/ScrollToTop.esm.js +7 -6
- package/dist/Section/Section.cjs.js +2 -2
- package/dist/Section/Section.esm.js +2 -2
- package/dist/Select/Select.cjs.js +358 -931
- package/dist/Select/Select.esm.js +304 -858
- package/dist/SiteFooter/SiteFooter.cjs.js +10 -33
- package/dist/SiteFooter/SiteFooter.esm.js +10 -33
- package/dist/SiteHeaderV2/SiteHeaderV2.cjs.js +25 -0
- package/dist/SiteHeaderV2/SiteHeaderV2.esm.js +17 -0
- package/dist/SiteHeaderV2/package.json +7 -0
- package/dist/SkipLink/SkipLink.cjs.js +24 -0
- package/dist/SkipLink/SkipLink.esm.js +16 -0
- package/dist/SkipLink/package.json +7 -0
- package/dist/Surface/Surface.cjs.js +2 -2
- package/dist/Surface/Surface.esm.js +2 -2
- package/dist/Switch/Switch.cjs.js +28 -73
- package/dist/Switch/Switch.esm.js +16 -61
- package/dist/Tabs/Tabs.cjs.js +11 -10
- package/dist/Tabs/Tabs.esm.js +11 -10
- package/dist/Tag/Tag.cjs.js +9 -43
- package/dist/Tag/Tag.esm.js +8 -42
- package/dist/Text/Text.cjs.js +4 -4
- package/dist/Text/Text.esm.js +4 -4
- package/dist/TextArea/TextArea.cjs.js +66 -46
- package/dist/TextArea/TextArea.esm.js +64 -44
- package/dist/TextInput/TextInput.cjs.js +10 -9
- package/dist/TextInput/TextInput.esm.js +10 -9
- package/dist/Theme/Theme.cjs.js +15 -4
- package/dist/Theme/Theme.esm.js +15 -4
- package/dist/ThemeIcon/ThemeIcon.cjs.js +14 -0
- package/dist/ThemeIcon/ThemeIcon.esm.js +6 -0
- package/dist/ThemeIcon/package.json +7 -0
- package/dist/Toast/Toast.cjs.js +10 -9
- package/dist/Toast/Toast.esm.js +10 -9
- package/dist/Truncate/Truncate.cjs.js +3 -3
- package/dist/Truncate/Truncate.esm.js +1 -1
- package/dist/TypographyCard/TypographyCard.cjs.js +41 -0
- package/dist/TypographyCard/TypographyCard.esm.js +33 -0
- package/dist/TypographyCard/package.json +7 -0
- package/dist/UniversalHeader/UniversalHeader.cjs.js +3 -3
- package/dist/UniversalHeader/UniversalHeader.esm.js +3 -3
- package/dist/VerticalSpace/VerticalSpace.cjs.js +2 -2
- package/dist/VerticalSpace/VerticalSpace.esm.js +2 -2
- package/dist/VideoPlayer/VideoPlayer.cjs.js +3013 -0
- package/dist/VideoPlayer/VideoPlayer.esm.js +3005 -0
- package/dist/VideoPlayer/package.json +7 -0
- package/dist/Visible/Visible.cjs.js +24 -0
- package/dist/Visible/Visible.esm.js +16 -0
- package/dist/Visible/package.json +7 -0
- package/dist/VisuallyHidden/VisuallyHidden.cjs.js +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.esm.js +1 -1
- package/dist/_shared/cjs/ArcIconEclipse.esm-ac777a76.js +28 -0
- package/dist/_shared/cjs/Avatar-fc0d9b8b.js +49 -0
- package/dist/_shared/cjs/{BrandLogo-aea340c8.js → BrandLogo-1d2ca2c7.js} +7 -7
- package/dist/_shared/cjs/{Breadcrumbs-f3385e2e.js → Breadcrumbs-7af0af2c.js} +16 -16
- package/dist/_shared/cjs/BtIconArrowRight.esm-5989f2ca.js +38 -0
- package/dist/_shared/cjs/BtIconChevronRightMid.esm-3e8d18a9.js +28 -0
- package/dist/_shared/cjs/BtIconPlayFill.esm-b8997cfc.js +30 -0
- package/dist/_shared/cjs/{Button-5c958ce9.js → Button-7d891a89.js} +12 -12
- package/dist/_shared/cjs/ButtonV2-b2db3f46.js +48 -0
- package/dist/_shared/cjs/Calendar-780bb071.js +1927 -0
- package/dist/_shared/cjs/CardFooter-5414bc4f.js +79 -0
- package/dist/_shared/cjs/{Checkbox-5f14bb0d.js → Checkbox-0e423653.js} +18 -14
- package/dist/_shared/cjs/{Columns-ae4f8cef.js → Columns-1224bdff.js} +9 -16
- package/dist/_shared/cjs/Combination-3a639f6d.js +2974 -0
- package/dist/_shared/cjs/ConditionalWrapper-be3b2625.js +14 -0
- package/dist/_shared/cjs/DatePicker-e27ea988.js +550 -0
- package/dist/_shared/cjs/{DisclosureMini-145105a4.js → DisclosureMini-c01ecce0.js} +12 -15
- package/dist/_shared/cjs/{Filter-1bde635c.js → Filter-3b897d92.js} +32 -24
- package/dist/_shared/cjs/{FormControl-30f2330f.js → FormControl-88d48f42.js} +32 -17
- package/dist/_shared/cjs/Grid-9e91fb3d.js +46 -0
- package/dist/_shared/cjs/{Group-0429741a.js → Group-3d5ea240.js} +9 -16
- package/dist/_shared/cjs/{Heading-27cba320.js → Heading-fb63844f.js} +7 -7
- package/dist/_shared/cjs/HeroButton-0586a7c4.js +126 -0
- package/dist/_shared/cjs/{Icon-a47b6c0a.js → Icon-0ec0c1fb.js} +12 -8
- package/dist/_shared/cjs/Image-e9a5a326.js +56 -0
- package/dist/_shared/cjs/MediaCard-e1648705.js +65 -0
- package/dist/_shared/cjs/{Poster-499b78da.js → Poster-b7242b37.js} +14 -14
- package/dist/_shared/cjs/Preview-0bf3f6e8.js +167 -0
- package/dist/_shared/cjs/ProgressStepper-fb8405c2.js +121 -0
- package/dist/_shared/cjs/RadioGroup-a4186267.js +85 -0
- package/dist/_shared/cjs/{Section-59804166.js → Section-ecfc659b.js} +5 -5
- package/dist/_shared/cjs/{SiteFooter-0638c27c.js → SiteFooter-b4247527.js} +13 -12
- package/dist/_shared/cjs/SiteHeaderV2-c2d651bc.js +689 -0
- package/dist/_shared/cjs/{Surface-038db6e1.js → Surface-8599dbe4.js} +23 -23
- package/dist/_shared/cjs/{Tabs-ade6d6b6.js → Tabs-75c34f43.js} +35 -39
- package/dist/_shared/cjs/Tag-452048f6.js +44 -0
- package/dist/_shared/cjs/{Text-606ca3a2.js → Text-1c1110a4.js} +7 -7
- package/dist/_shared/cjs/TextInput-762e2309.js +103 -0
- package/dist/_shared/cjs/{ThemeIcon-9534f091.js → ThemeIcon-ee814862.js} +8 -8
- package/dist/_shared/cjs/{Toast-6d4021d7.js → Toast-d06a89e0.js} +283 -44
- package/dist/_shared/cjs/UniversalHeader-f6d9c63a.js +29 -0
- package/dist/_shared/cjs/{VerticalSpace-dc53bb70.js → VerticalSpace-e128ec68.js} +5 -5
- package/dist/_shared/cjs/{VisuallyHidden-e2c8b291.js → VisuallyHidden-b0de4c7b.js} +1 -1
- package/dist/_shared/cjs/_commonjsHelpers-56412ec5.js +21 -0
- package/dist/_shared/cjs/{index-38d3848e.js → component-df82bc05.js} +154 -435
- package/dist/_shared/cjs/{debounce-123468fb.js → debounce-a74c28cf.js} +2 -2
- package/dist/_shared/cjs/index-039a9d35.js +23 -0
- package/dist/_shared/cjs/{index-23b4f49f.js → index-0c6319ec.js} +1 -1
- package/dist/_shared/cjs/index-28447df0.js +23 -0
- package/dist/_shared/cjs/index-3d629205.js +26 -0
- package/dist/_shared/cjs/{index.module-7d7228b3.js → index-3dd54df1.js} +47 -49
- package/dist/_shared/cjs/index-41b09e85.js +53 -0
- package/dist/_shared/cjs/{index-d75774a9.js → index-7aa7f96a.js} +1 -1
- package/dist/_shared/cjs/index-7e31a45b.js +2206 -0
- package/dist/_shared/cjs/index-996dec94.js +131 -0
- package/dist/_shared/cjs/index-dcfdd5da.js +11 -0
- package/dist/_shared/cjs/{filter-data-attrs-1c9a530c.js → index-df60851b.js} +17 -57
- package/dist/_shared/cjs/index.es-8b018b0d.js +13 -0
- package/dist/_shared/cjs/{suffix-modifier-64dcd338.js → suffix-modifier-c8a34402.js} +2 -2
- package/dist/_shared/cjs/{index.es-77def0c9.js → use-media-query-d34c83b9.js} +0 -9
- package/dist/_shared/esm/ArcIconEclipse.esm-bb48b82a.js +22 -0
- package/dist/_shared/esm/Avatar-38cc0595.js +43 -0
- package/dist/_shared/esm/{BrandLogo-1af78f76.js → BrandLogo-7ed8aeda.js} +3 -3
- package/dist/_shared/esm/{Breadcrumbs-c4b65cff.js → Breadcrumbs-9078b68e.js} +8 -8
- package/dist/_shared/esm/BtIconArrowRight.esm-6a17d0ce.js +31 -0
- package/dist/_shared/esm/BtIconChevronRightMid.esm-4764708f.js +22 -0
- package/dist/_shared/esm/BtIconPlayFill.esm-05fc0344.js +24 -0
- package/dist/_shared/esm/{Button-c3348ed8.js → Button-dde2b46a.js} +6 -6
- package/dist/_shared/esm/ButtonV2-49cd0615.js +42 -0
- package/dist/_shared/esm/Calendar-f81052f4.js +1918 -0
- package/dist/_shared/esm/CardFooter-c79fb2db.js +73 -0
- package/dist/_shared/esm/{Checkbox-2a623386.js → Checkbox-0baca464.js} +14 -10
- package/dist/_shared/esm/{Columns-d96b7425.js → Columns-6a8f6fbb.js} +3 -10
- package/dist/_shared/esm/Combination-ae3a3f08.js +2942 -0
- package/dist/_shared/esm/ConditionalWrapper-59be8f35.js +8 -0
- package/dist/_shared/esm/DatePicker-2260f260.js +539 -0
- package/dist/_shared/esm/{DisclosureMini-bf95a9db.js → DisclosureMini-38f4c459.js} +8 -11
- package/dist/_shared/esm/{Filter-58a42358.js → Filter-49dcf5ce.js} +24 -16
- package/dist/_shared/esm/{FormControl-433228f5.js → FormControl-d873f7fa.js} +29 -14
- package/dist/_shared/esm/Grid-fb9fc522.js +40 -0
- package/dist/_shared/esm/{Group-73fdb896.js → Group-66196f07.js} +3 -10
- package/dist/_shared/esm/{Heading-d16e0e53.js → Heading-906c7c7c.js} +3 -3
- package/dist/_shared/esm/HeroButton-7ea692bf.js +120 -0
- package/dist/_shared/esm/{Icon-9ecaaeab.js → Icon-512f834f.js} +9 -5
- package/dist/_shared/esm/{Image-12fbd327.js → Image-57d08939.js} +15 -5
- package/dist/_shared/esm/MediaCard-01250268.js +59 -0
- package/dist/_shared/esm/{Poster-699dc89b.js → Poster-e05a8b45.js} +6 -6
- package/dist/_shared/esm/Preview-43b2a75d.js +161 -0
- package/dist/_shared/esm/ProgressStepper-189ed0f9.js +115 -0
- package/dist/_shared/esm/RadioGroup-8ff17cbb.js +78 -0
- package/dist/_shared/esm/{Section-73781b56.js → Section-1acbc06a.js} +1 -1
- package/dist/_shared/esm/{SiteFooter-d21da7ab.js → SiteFooter-ef6f0cdc.js} +9 -8
- package/dist/_shared/esm/SiteHeaderV2-a041b889.js +683 -0
- package/dist/_shared/esm/{Surface-0ca6817d.js → Surface-71d21a9e.js} +17 -17
- package/dist/_shared/esm/{Tabs-39d24a7d.js → Tabs-21ac7dfe.js} +11 -15
- package/dist/_shared/esm/Tag-2513c185.js +38 -0
- package/dist/_shared/esm/{Text-14f586ac.js → Text-a46fb76b.js} +3 -3
- package/dist/_shared/esm/TextInput-94c7b1a4.js +96 -0
- package/dist/_shared/esm/{ThemeIcon-eab5a4d0.js → ThemeIcon-c2dc41a6.js} +3 -3
- package/dist/_shared/esm/{Toast-dce2d01e.js → Toast-de6ca2f3.js} +261 -23
- package/dist/_shared/esm/{UniversalHeader-b4c1577c.js → UniversalHeader-456ad60c.js} +8 -13
- package/dist/_shared/esm/{VerticalSpace-43cd9138.js → VerticalSpace-b07cd8e6.js} +1 -1
- package/dist/_shared/esm/{VisuallyHidden-b9eebf71.js → VisuallyHidden-06692fd3.js} +1 -1
- package/dist/_shared/esm/_commonjsHelpers-0109d574.js +18 -0
- package/dist/_shared/esm/{index-ffd720d0.js → component-d0a555cf.js} +144 -432
- package/dist/_shared/esm/{debounce-6fed6b84.js → debounce-c8e41002.js} +1 -1
- package/dist/_shared/esm/{filter-data-attrs-ea8f4ed4.js → index-288c66b5.js} +17 -55
- package/dist/_shared/esm/index-4e58de24.js +51 -0
- package/dist/_shared/esm/index-5113ed53.js +24 -0
- package/dist/_shared/esm/index-6028d797.js +21 -0
- package/dist/_shared/esm/index-605031ca.js +2197 -0
- package/dist/_shared/esm/index-69089474.js +21 -0
- package/dist/_shared/esm/{index-3147c5b0.js → index-7740883c.js} +1 -1
- package/dist/_shared/esm/index-a624de47.js +9 -0
- package/dist/_shared/esm/{index.module-50b2c98a.js → index-cace3545.js} +43 -45
- package/dist/_shared/esm/{index-65264b4e.js → index-f97466e9.js} +1 -1
- package/dist/_shared/esm/index-fa93ec97.js +129 -0
- package/dist/_shared/esm/index.es-3139cf9e.js +9 -0
- package/dist/_shared/esm/{suffix-modifier-3d548e45.js → suffix-modifier-1ce05abe.js} +2 -2
- package/dist/_shared/esm/{index.es-00cb3bcb.js → use-media-query-d3622da8.js} +1 -8
- package/dist/index.es.js +18330 -38186
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +18317 -38162
- package/dist/index.js.map +1 -1
- package/dist/styles.css +7 -38
- package/dist/types/components/Alert/Alert.d.ts +1 -1
- package/dist/types/components/AppButton/AppButton.d.ts +9 -0
- package/dist/types/components/AppButton/icons/AppStore.d.ts +2 -0
- package/dist/types/components/AppButton/icons/GooglePlay.d.ts +2 -0
- package/dist/types/components/AppButton/index.d.ts +1 -0
- package/dist/types/components/Avatar/Avatar.d.ts +14 -0
- package/dist/types/components/Avatar/components/AvatarContent/AvatarContent.d.ts +9 -0
- package/dist/types/components/Avatar/index.d.ts +1 -0
- package/dist/types/components/Avatar/types/avatar-icon-size.d.ts +1 -0
- package/dist/types/components/Avatar/types/avatar-image.d.ts +2 -0
- package/dist/types/components/Avatar/types/avatar-size.d.ts +1 -0
- package/dist/types/components/Avatar/types/avatar-text-size.d.ts +2 -0
- package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +14 -0
- package/dist/types/components/AvatarGroup/index.d.ts +1 -0
- package/dist/types/components/AvatarGroup/types/group-avatar.d.ts +2 -0
- package/dist/types/components/AvatarGroup/utils/get-avatars.d.ts +2 -0
- package/dist/types/components/Badge/Badge.d.ts +1 -9
- package/dist/types/components/Button/Button.d.ts +1 -1
- package/dist/types/components/ButtonV2/ButtonV2.d.ts +79 -0
- package/dist/types/components/ButtonV2/index.d.ts +1 -0
- package/dist/types/components/Calendar/Calendar.d.ts +50 -0
- package/dist/types/components/Calendar/Calendar.provider.d.ts +21 -0
- package/dist/types/components/Calendar/components/CalendarDateSelect/CalendarDateSelect.d.ts +15 -0
- package/dist/types/components/Calendar/components/CalendarDateSelect/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDayGrid/CalendarDayGrid.d.ts +6 -0
- package/dist/types/components/Calendar/components/CalendarDayGrid/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDayNumber/CalendarDayNumber.d.ts +8 -0
- package/dist/types/components/Calendar/components/CalendarDayNumber/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarDoubleMonthView/CalendarDoubleMonthView.d.ts +9 -0
- package/dist/types/components/Calendar/components/CalendarDoubleMonthView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarFooter/CalendarFooter.d.ts +6 -0
- package/dist/types/components/Calendar/components/CalendarFooter/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarMonthView/CalendarMonthView.d.ts +9 -0
- package/dist/types/components/Calendar/components/CalendarMonthView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarMonthYearView/CalendarMonthYearView.d.ts +11 -0
- package/dist/types/components/Calendar/components/CalendarMonthYearView/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarNavButton/CalendarNavButton.d.ts +10 -0
- package/dist/types/components/Calendar/components/CalendarNavButton/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/CalendarWrapper/CalendarWrapper.d.ts +5 -0
- package/dist/types/components/Calendar/components/CalendarWrapper/index.d.ts +1 -0
- package/dist/types/components/Calendar/components/index.d.ts +6 -0
- package/dist/types/components/Calendar/constants/day-names.d.ts +5 -0
- package/dist/types/components/Calendar/constants/index.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/contains-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/contains-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/date-without-time.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/date-without-time.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-calendar-type.d.ts +2 -0
- package/dist/types/components/Calendar/helpers/get-calendar-type.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-dates-in-month.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-dates-in-month.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-double-month-display-range.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-double-month-display-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-focus-date.d.ts +5 -0
- package/dist/types/components/Calendar/helpers/get-focus-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-highlighted-range.d.ts +6 -0
- package/dist/types/components/Calendar/helpers/get-highlighted-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/get-keydown-date.d.ts +6 -0
- package/dist/types/components/Calendar/helpers/get-keydown-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/index.d.ts +13 -0
- package/dist/types/components/Calendar/helpers/is-day.d.ts +2 -0
- package/dist/types/components/Calendar/helpers/is-day.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-disabled-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-disabled-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-after-max-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-after-max-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-before-min-date.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/is-month-before-min-date.test.d.ts +1 -0
- package/dist/types/components/Calendar/helpers/process-selected-range.d.ts +9 -0
- package/dist/types/components/Calendar/helpers/process-selected-range.test.d.ts +1 -0
- package/dist/types/components/Calendar/index.d.ts +2 -0
- package/dist/types/components/Calendar/state/handlers/calendar-keydown-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/day-grid-leave-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/day-number-select-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/default-handler.d.ts +2 -0
- package/dist/types/components/Calendar/state/handlers/dropdown-change-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/dropdown-change-year-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/highlight-range-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/index.d.ts +12 -0
- package/dist/types/components/Calendar/state/handlers/range-select-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-next-double-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-next-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-previous-double-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/handlers/show-previous-month-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/index.d.ts +2 -0
- package/dist/types/components/Calendar/state/reducer.d.ts +3 -0
- package/dist/types/components/Calendar/state/reducer.test.d.ts +1 -0
- package/dist/types/components/Calendar/state/types/actions.d.ts +81 -0
- package/dist/types/components/Calendar/state/types/state-handler.d.ts +3 -0
- package/dist/types/components/Calendar/state/types/state.d.ts +5 -0
- package/dist/types/components/Calendar/types/calendar-type.d.ts +1 -0
- package/dist/types/components/Calendar/types/date-select-value.d.ts +2 -0
- package/dist/types/components/Calendar/types/index.d.ts +6 -0
- package/dist/types/components/Calendar/types/key-names.d.ts +13 -0
- package/dist/types/components/Calendar/types/range-selection.d.ts +10 -0
- package/dist/types/components/Calendar/types/selection-type.d.ts +1 -0
- package/dist/types/components/Calendar/types/week-days.d.ts +18 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +7 -4
- package/dist/types/components/DatePicker/DatePicker.d.ts +20 -0
- package/dist/types/components/DatePicker/constants/date-format.d.ts +1 -0
- package/dist/types/components/DatePicker/constants/index.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-date-string-to-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/convert-range-string-to-dates.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/format-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/format-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/index.d.ts +8 -0
- package/dist/types/components/DatePicker/helpers/is-date-valid.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-date-valid.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-disabled-date.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-disabled-date.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-range-valid.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/is-range-valid.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/parse-date-string.d.ts +5 -0
- package/dist/types/components/DatePicker/helpers/parse-date-string.test.d.ts +1 -0
- package/dist/types/components/DatePicker/helpers/parse-range-string.d.ts +14 -0
- package/dist/types/components/DatePicker/helpers/parse-range-string.test.d.ts +1 -0
- package/dist/types/components/DatePicker/index.d.ts +6 -0
- package/dist/types/components/Disclosure/Disclosure.d.ts +1 -2
- package/dist/types/components/DisclosureMini/DisclosureMini.d.ts +1 -2
- package/dist/types/components/Filter/Filter.d.ts +1 -1
- package/dist/types/components/Filter/FilterItems/FilterItems.d.ts +4 -0
- package/dist/types/components/FormControl/FormControl.d.ts +5 -1
- package/dist/types/components/Grid/Grid.constants.d.ts +1 -0
- package/dist/types/components/Grid/Grid.d.ts +28 -0
- package/dist/types/components/Grid/Grid.types.d.ts +10 -0
- package/dist/types/components/Grid/components/Col/Col.d.ts +10 -0
- package/dist/types/components/Grid/components/Col/index.d.ts +1 -0
- package/dist/types/components/Grid/components/Row/Row.d.ts +10 -0
- package/dist/types/components/Grid/components/Row/index.d.ts +1 -0
- package/dist/types/components/Grid/index.d.ts +2 -0
- package/dist/types/components/HeroButton/HeroButton.d.ts +66 -0
- package/dist/types/components/HeroButton/index.d.ts +1 -0
- package/dist/types/components/Hidden/Hidden.d.ts +11 -0
- package/dist/types/components/Hidden/index.d.ts +1 -0
- package/dist/types/components/Icon/Icon.d.ts +4 -0
- package/dist/types/components/Image/Image.d.ts +4 -0
- package/dist/types/components/ImpactCard/ImpactCard.d.ts +58 -0
- package/dist/types/components/ImpactCard/index.d.ts +1 -0
- package/dist/types/components/InformationCard/InformationCard.d.ts +62 -0
- package/dist/types/components/InformationCard/index.d.ts +1 -0
- package/dist/types/components/Link/Link.d.ts +52 -0
- package/dist/types/components/Link/index.d.ts +1 -0
- package/dist/types/components/MediaCard/MediaCard.d.ts +27 -28
- package/dist/types/components/MediaCard/types/index.d.ts +2 -0
- package/dist/types/components/MediaCard/types/media-card-image.d.ts +4 -0
- package/dist/types/components/MediaCard/types/media-card-video.d.ts +4 -0
- package/dist/types/components/Modal/Modal.d.ts +3 -3
- package/dist/types/components/Pagination/Pagination.d.ts +1 -1
- package/dist/types/components/PaginationSimple/PaginationSimple.d.ts +12 -4
- package/dist/types/components/Poster/Poster.d.ts +1 -1
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +4 -0
- package/dist/types/components/ProgressStepper/ProgressStepper.d.ts +2 -2
- package/dist/types/components/ProgressStepper/ProgressStepperItem/ProgressStepperItem.d.ts +3 -7
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Complete.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Current.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Error.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Todo.d.ts +2 -0
- package/dist/types/components/ProgressStepper/ProgressStepperItem/icons/Warning.d.ts +2 -0
- package/dist/types/components/RadioGroup/RadioButton/RadioButton.d.ts +17 -23
- package/dist/types/components/RadioGroup/RadioButtonGroupInput/RadioButtonGroupInput.d.ts +36 -0
- package/dist/types/components/RadioGroup/RadioButtonGroupInput/index.d.ts +1 -0
- package/dist/types/components/RadioGroup/RadioGroup.d.ts +11 -3
- package/dist/types/components/RadioGroup/context.d.ts +1 -1
- package/dist/types/components/RadioGroup/index.d.ts +1 -0
- package/dist/types/components/Rule/Rule.d.ts +2 -1
- package/dist/types/components/Select/Select.d.ts +53 -0
- package/dist/types/components/SiteFooter/index.d.ts +0 -1
- package/dist/types/components/SiteHeaderV2/SiteHeaderV2.d.ts +82 -0
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/BackButton/BackButton.d.ts +1 -0
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Column/Column.d.ts +1 -1
- package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/HorizontalPanel.d.ts +13 -0
- package/dist/types/components/SiteHeaderV2/components/HorizontalPanel/index.d.ts +1 -0
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/ItemGroup/ItemGroup.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/ItemGroup/index.d.ts +1 -0
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/NavItem/NavItem.d.ts +5 -6
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/NavItem/NavItemWithSubNav.d.ts +13 -4
- package/dist/types/components/SiteHeaderV2/components/NavItem/index.d.ts +2 -0
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/NodeItem/NodeItem.d.ts +1 -1
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Panel/Panel.d.ts +8 -2
- package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/SubNavItem/SubNavItem.d.ts +5 -7
- package/dist/types/components/SiteHeaderV2/components/SubNavItem/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/components/VerticalDivider/VerticalDivider.d.ts +2 -0
- package/dist/types/components/SiteHeaderV2/components/VerticalDivider/index.d.ts +1 -0
- package/dist/types/components/SiteHeaderV2/index.d.ts +1 -0
- package/dist/types/components/SkipLink/SkipLink.d.ts +12 -0
- package/dist/types/components/SkipLink/SkipLinkItem/SkipLinkItem.d.ts +16 -0
- package/dist/types/components/SkipLink/index.d.ts +1 -0
- package/dist/types/components/Surface/Surface.d.ts +3 -3
- package/dist/types/components/Switch/Switch.d.ts +2 -2
- package/dist/types/components/Tabs/Tabs.d.ts +1 -0
- package/dist/types/components/Tag/Tag.d.ts +5 -1
- package/dist/types/components/TextArea/TextArea.d.ts +17 -0
- package/dist/types/components/TextInput/TextInput.d.ts +46 -6
- package/dist/types/components/Theme/Theme.d.ts +11 -3
- package/dist/types/components/Theme/index.d.ts +1 -1
- package/dist/types/components/ThemeIcon/icon-names.d.ts +1 -1
- package/dist/types/components/Toast/Toast.d.ts +1 -1
- package/dist/types/components/TypographyCard/TypographyCard.d.ts +58 -0
- package/dist/types/components/TypographyCard/index.d.ts +1 -0
- package/dist/types/components/UniversalHeader/UniversalHeader.d.ts +4 -0
- package/dist/types/components/VideoPlayer/VideoPlayer.d.ts +18 -0
- package/dist/types/components/VideoPlayer/index.d.ts +1 -0
- package/dist/types/components/Visible/Visible.d.ts +11 -0
- package/dist/types/components/Visible/index.d.ts +1 -0
- package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/types/components/index.d.ts +17 -5
- package/dist/types/helpers/get-theme-img.d.ts +6 -0
- package/dist/types/helpers/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts +2 -4
- package/dist/types/hooks/private/index.d.ts +5 -0
- package/dist/types/hooks/private/use-aria-describedby/index.d.ts +1 -0
- package/dist/types/hooks/private/use-interaction-mode/index.d.ts +1 -0
- package/dist/types/hooks/private/use-numeric-input/index.d.ts +1 -0
- package/dist/types/hooks/{use-numeric-input.d.ts → private/use-numeric-input/use-numeric-input.d.ts} +3 -3
- package/dist/types/hooks/private/use-pagination/index.d.ts +1 -0
- package/dist/types/hooks/private/use-theme-element/index.d.ts +1 -0
- package/dist/types/hooks/public/index.d.ts +1 -0
- package/dist/types/hooks/public/use-media-query/index.d.ts +1 -0
- package/dist/types/hooks/{use-media-query.d.ts → public/use-media-query/use-media-query.d.ts} +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/private-components/CardFooter/CardFooter.d.ts +11 -0
- package/dist/types/private-components/CardFooter/index.d.ts +1 -0
- package/dist/types/private-components/CardHeading/CardHeading.d.ts +19 -0
- package/dist/types/private-components/CardHeading/index.d.ts +1 -0
- package/dist/types/private-components/ConditionalWrapper/ConditionalWrapper.d.ts +7 -0
- package/dist/types/private-components/ConditionalWrapper/index.d.ts +1 -0
- package/dist/types/private-components/index.d.ts +3 -0
- package/dist/types/styles.d.ts +22 -5
- package/dist/types/types/auto-complete-types.d.ts +1 -0
- package/dist/use-media-query/package.json +7 -0
- package/dist/use-media-query/use-media-query.cjs.js +10 -0
- package/dist/use-media-query/use-media-query.esm.js +2 -0
- package/package.json +53 -37
- package/dist/Base/Base.cjs.js +0 -11
- package/dist/Base/Base.esm.js +0 -3
- package/dist/Base/package.json +0 -7
- package/dist/Card/Card.cjs.js +0 -18
- package/dist/Card/Card.esm.js +0 -10
- package/dist/Card/package.json +0 -7
- package/dist/Clock/Clock.cjs.js +0 -43
- package/dist/Clock/Clock.esm.js +0 -34
- package/dist/Clock/package.json +0 -7
- package/dist/SiteHeader/SiteHeader.cjs.js +0 -22
- package/dist/SiteHeader/SiteHeader.esm.js +0 -13
- package/dist/SiteHeader/package.json +0 -7
- package/dist/_shared/cjs/Base-f5a86eed.js +0 -22
- package/dist/_shared/cjs/Card-eb1c20c1.js +0 -121
- package/dist/_shared/cjs/Image-e873b8fc.js +0 -46
- package/dist/_shared/cjs/ProgressStepper-74ee1eec.js +0 -88
- package/dist/_shared/cjs/RadioGroup-9bc96f6a.js +0 -69
- package/dist/_shared/cjs/SiteHeader.rehydrator-42c4a0e0.js +0 -670
- package/dist/_shared/cjs/TextInput-a5f72f6f.js +0 -81
- package/dist/_shared/cjs/UniversalHeader-5e43d320.js +0 -34
- package/dist/_shared/cjs/extends-8c5e4b48.js +0 -18
- package/dist/_shared/cjs/index-4aa11039.js +0 -490
- package/dist/_shared/cjs/index-4dd46cbe.js +0 -289
- package/dist/_shared/esm/Base-f200653c.js +0 -15
- package/dist/_shared/esm/Card-45e8e10a.js +0 -115
- package/dist/_shared/esm/ProgressStepper-5de34269.js +0 -82
- package/dist/_shared/esm/RadioGroup-002a32ba.js +0 -63
- package/dist/_shared/esm/SiteHeader.rehydrator-97900e11.js +0 -663
- package/dist/_shared/esm/TextInput-28f18769.js +0 -75
- package/dist/_shared/esm/extends-8cc61aad.js +0 -16
- package/dist/_shared/esm/index-4f8d3888.js +0 -280
- package/dist/_shared/esm/index-87a828b8.js +0 -479
- package/dist/types/components/Base/Base.d.ts +0 -16
- package/dist/types/components/Base/index.d.ts +0 -1
- package/dist/types/components/Card/Card.d.ts +0 -128
- package/dist/types/components/Card/index.d.ts +0 -1
- package/dist/types/components/Clock/Clock.d.ts +0 -12
- package/dist/types/components/Clock/Clock.rehydrator.d.ts +0 -2
- package/dist/types/components/Clock/index.d.ts +0 -2
- package/dist/types/components/MediaCard/MediaCard.stories-wip.d.ts +0 -15
- package/dist/types/components/SiteFooter/SiteFooter.rehydrator.d.ts +0 -2
- package/dist/types/components/SiteHeader/SiteHeader.d.ts +0 -75
- package/dist/types/components/SiteHeader/SiteHeader.rehydrator.d.ts +0 -8
- package/dist/types/components/SiteHeader/components/ItemGroup/ItemGroup.rehydrator.d.ts +0 -2
- package/dist/types/components/SiteHeader/components/ItemGroup/index.d.ts +0 -2
- package/dist/types/components/SiteHeader/components/NavItem/NavItem.rehydrator.d.ts +0 -2
- package/dist/types/components/SiteHeader/components/NavItem/NavItemWithSubNav.rehydrator.d.ts +0 -2
- package/dist/types/components/SiteHeader/components/NavItem/index.d.ts +0 -4
- package/dist/types/components/SiteHeader/components/SubNavItem/SubNavItem.rehydrator.d.ts +0 -2
- package/dist/types/components/SiteHeader/components/SubNavItem/index.d.ts +0 -2
- package/dist/types/components/SiteHeader/index.d.ts +0 -2
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/BackButton/index.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Column/index.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Item/Item.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Item/index.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/MenuButton/MenuButton.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/MenuButton/index.d.ts +0 -0
- /package/dist/types/components/{SiteHeader → SiteHeaderV2}/components/Panel/index.d.ts +0 -0
- /package/dist/types/hooks/{use-aria-describedby.d.ts → private/use-aria-describedby/use-aria-describedby.d.ts} +0 -0
- /package/dist/types/hooks/{use-interaction-mode.d.ts → private/use-interaction-mode/use-interaction-mode.d.ts} +0 -0
- /package/dist/types/hooks/{use-pagination.d.ts → private/use-pagination/use-pagination.d.ts} +0 -0
|
@@ -1,673 +1,29 @@
|
|
|
1
|
-
import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/
|
|
1
|
+
import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/index-288c66b5.js';
|
|
2
2
|
import { c as classNames } from '../_shared/esm/index-2e73c2e9.js';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import $
|
|
7
|
-
import { $ as $
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import '../_shared/esm/
|
|
14
|
-
import '../_shared/esm/
|
|
15
|
-
import '../_shared/esm/
|
|
3
|
+
import React__default, { useState, useRef, createElement, useCallback, forwardRef, Fragment, useEffect, useMemo, useId, useContext } from 'react';
|
|
4
|
+
import { $ as $c512c27ab02ef895$export$50c7b4e9d9f19c1, a as $71cd76cc60e0454e$export$6f32135080cb4c3, b as $6ed0406888f73fc4$export$c7b2cbe3552a0d05, _ as _extends, e as $8927f6f2acc4f386$export$250ffa63cdc0d034, d as $e42e1063c40fb3ef$export$b9ecd428b558ff10, h as $9f79659886946c16$export$e5c5a5f917a5871c, c as $5e63c961fc1ce211$export$8c6ed5c666ac1360, f as $b1b2314f5f9a1d84$export$25bec8c6f54ee79a } from '../_shared/esm/index-cace3545.js';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
6
|
+
import { $ as $e02a7d9cb1dc128c$export$c74125a8e3af6bb2 } from '../_shared/esm/index-f97466e9.js';
|
|
7
|
+
import { $ as $f631663db3294ace$export$b39126d51d94e6f3 } from '../_shared/esm/index-a624de47.js';
|
|
8
|
+
import { $ as $cf1ac5d9fe0e8206$export$722aac194ae923, a as $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, b as $cf1ac5d9fe0e8206$export$b688253958b8dfe7, c as $f1701beae083dbae$export$602eac185826482c, e as $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c, d as $01b9c$RemoveScroll, f as $d3863c46a17e8a28$export$20e40289641fbbb6, g as $5cb92bef7577960e$export$177fb62ff3ec1f22, h as $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2 } from '../_shared/esm/Combination-ae3a3f08.js';
|
|
9
|
+
import { $ as $1746a345f3d73bb7$export$f680877a34711e37 } from '../_shared/esm/index-7740883c.js';
|
|
10
|
+
import { $ as $010c2913dbd2fe3d$export$5cae361ad82dce8b } from '../_shared/esm/index-69089474.js';
|
|
11
|
+
import { $ as $ea1ef594cf570d83$export$439d29a4e110a164 } from '../_shared/esm/index-5113ed53.js';
|
|
12
|
+
import { h as hideOthers, u as useThemeElement } from '../_shared/esm/component-d0a555cf.js';
|
|
13
|
+
import { F as FormControl } from '../_shared/esm/FormControl-d873f7fa.js';
|
|
14
|
+
import { C as Context } from '../_shared/esm/Surface-71d21a9e.js';
|
|
15
|
+
import { T as ThemeIcon } from '../_shared/esm/ThemeIcon-c2dc41a6.js';
|
|
16
|
+
import '../_shared/esm/index-6028d797.js';
|
|
17
|
+
import '../_shared/esm/index-4e58de24.js';
|
|
18
|
+
import '../_shared/esm/DisclosureMini-38f4c459.js';
|
|
19
|
+
import '../_shared/esm/Text-a46fb76b.js';
|
|
20
|
+
import '../_shared/esm/suffix-modifier-1ce05abe.js';
|
|
21
|
+
import '../_shared/esm/VisuallyHidden-06692fd3.js';
|
|
16
22
|
|
|
17
23
|
function $ae6933e535247d3d$export$7d15b64cf5a3a4c4(value, [min, max]) {
|
|
18
24
|
return Math.min(max, Math.max(min, value));
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
// We have resorted to returning slots directly rather than exposing primitives that can then
|
|
22
|
-
// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.
|
|
23
|
-
// This is because we encountered issues with generic types that cannot be statically analysed
|
|
24
|
-
// due to creating them dynamically via createCollection.
|
|
25
|
-
function $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(name) {
|
|
26
|
-
/* -----------------------------------------------------------------------------------------------
|
|
27
|
-
* CollectionProvider
|
|
28
|
-
* ---------------------------------------------------------------------------------------------*/ const PROVIDER_NAME = name + 'CollectionProvider';
|
|
29
|
-
const [createCollectionContext, createCollectionScope] = $c512c27ab02ef895$export$50c7b4e9d9f19c1(PROVIDER_NAME);
|
|
30
|
-
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {
|
|
31
|
-
collectionRef: {
|
|
32
|
-
current: null
|
|
33
|
-
},
|
|
34
|
-
itemMap: new Map()
|
|
35
|
-
});
|
|
36
|
-
const CollectionProvider = (props)=>{
|
|
37
|
-
const { scope: scope , children: children } = props;
|
|
38
|
-
const ref = React__default.useRef(null);
|
|
39
|
-
const itemMap = React__default.useRef(new Map()).current;
|
|
40
|
-
return /*#__PURE__*/ React__default.createElement(CollectionProviderImpl, {
|
|
41
|
-
scope: scope,
|
|
42
|
-
itemMap: itemMap,
|
|
43
|
-
collectionRef: ref
|
|
44
|
-
}, children);
|
|
45
|
-
};
|
|
46
|
-
/* -----------------------------------------------------------------------------------------------
|
|
47
|
-
* CollectionSlot
|
|
48
|
-
* ---------------------------------------------------------------------------------------------*/ const COLLECTION_SLOT_NAME = name + 'CollectionSlot';
|
|
49
|
-
const CollectionSlot = /*#__PURE__*/ React__default.forwardRef((props, forwardedRef)=>{
|
|
50
|
-
const { scope: scope , children: children } = props;
|
|
51
|
-
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
52
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, context.collectionRef);
|
|
53
|
-
return /*#__PURE__*/ React__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
|
|
54
|
-
ref: composedRefs
|
|
55
|
-
}, children);
|
|
56
|
-
});
|
|
57
|
-
/* -----------------------------------------------------------------------------------------------
|
|
58
|
-
* CollectionItem
|
|
59
|
-
* ---------------------------------------------------------------------------------------------*/ const ITEM_SLOT_NAME = name + 'CollectionItemSlot';
|
|
60
|
-
const ITEM_DATA_ATTR = 'data-radix-collection-item';
|
|
61
|
-
const CollectionItemSlot = /*#__PURE__*/ React__default.forwardRef((props, forwardedRef)=>{
|
|
62
|
-
const { scope: scope , children: children , ...itemData } = props;
|
|
63
|
-
const ref = React__default.useRef(null);
|
|
64
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
|
|
65
|
-
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
|
66
|
-
React__default.useEffect(()=>{
|
|
67
|
-
context.itemMap.set(ref, {
|
|
68
|
-
ref: ref,
|
|
69
|
-
...itemData
|
|
70
|
-
});
|
|
71
|
-
return ()=>void context.itemMap.delete(ref)
|
|
72
|
-
;
|
|
73
|
-
});
|
|
74
|
-
return /*#__PURE__*/ React__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
|
|
75
|
-
[ITEM_DATA_ATTR]: '',
|
|
76
|
-
ref: composedRefs
|
|
77
|
-
}, children);
|
|
78
|
-
});
|
|
79
|
-
/* -----------------------------------------------------------------------------------------------
|
|
80
|
-
* useCollection
|
|
81
|
-
* ---------------------------------------------------------------------------------------------*/ function useCollection(scope) {
|
|
82
|
-
const context = useCollectionContext(name + 'CollectionConsumer', scope);
|
|
83
|
-
const getItems = React__default.useCallback(()=>{
|
|
84
|
-
const collectionNode = context.collectionRef.current;
|
|
85
|
-
if (!collectionNode) return [];
|
|
86
|
-
const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
|
|
87
|
-
const items = Array.from(context.itemMap.values());
|
|
88
|
-
const orderedItems = items.sort((a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
|
|
89
|
-
);
|
|
90
|
-
return orderedItems;
|
|
91
|
-
}, [
|
|
92
|
-
context.collectionRef,
|
|
93
|
-
context.itemMap
|
|
94
|
-
]);
|
|
95
|
-
return getItems;
|
|
96
|
-
}
|
|
97
|
-
return [
|
|
98
|
-
{
|
|
99
|
-
Provider: CollectionProvider,
|
|
100
|
-
Slot: CollectionSlot,
|
|
101
|
-
ItemSlot: CollectionItemSlot
|
|
102
|
-
},
|
|
103
|
-
useCollection,
|
|
104
|
-
createCollectionScope
|
|
105
|
-
];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ createContext(undefined);
|
|
109
|
-
/* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {
|
|
110
|
-
const globalDir = useContext($f631663db3294ace$var$DirectionContext);
|
|
111
|
-
return localDir || globalDir || 'ltr';
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Listens for when the escape key is down
|
|
116
|
-
*/ function $addc16e1bbe58fd0$export$3a72a57244d6e765(onEscapeKeyDownProp, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
117
|
-
const onEscapeKeyDown = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onEscapeKeyDownProp);
|
|
118
|
-
useEffect(()=>{
|
|
119
|
-
const handleKeyDown = (event)=>{
|
|
120
|
-
if (event.key === 'Escape') onEscapeKeyDown(event);
|
|
121
|
-
};
|
|
122
|
-
ownerDocument.addEventListener('keydown', handleKeyDown);
|
|
123
|
-
return ()=>ownerDocument.removeEventListener('keydown', handleKeyDown)
|
|
124
|
-
;
|
|
125
|
-
}, [
|
|
126
|
-
onEscapeKeyDown,
|
|
127
|
-
ownerDocument
|
|
128
|
-
]);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const $5cb92bef7577960e$var$CONTEXT_UPDATE = 'dismissableLayer.update';
|
|
132
|
-
const $5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';
|
|
133
|
-
const $5cb92bef7577960e$var$FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';
|
|
134
|
-
let $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
135
|
-
const $5cb92bef7577960e$var$DismissableLayerContext = /*#__PURE__*/ createContext({
|
|
136
|
-
layers: new Set(),
|
|
137
|
-
layersWithOutsidePointerEventsDisabled: new Set(),
|
|
138
|
-
branches: new Set()
|
|
139
|
-
});
|
|
140
|
-
const $5cb92bef7577960e$export$177fb62ff3ec1f22 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
141
|
-
var _node$ownerDocument;
|
|
142
|
-
const { disableOutsidePointerEvents: disableOutsidePointerEvents = false , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , ...layerProps } = props;
|
|
143
|
-
const context = useContext($5cb92bef7577960e$var$DismissableLayerContext);
|
|
144
|
-
const [node1, setNode] = useState(null);
|
|
145
|
-
const ownerDocument = (_node$ownerDocument = node1 === null || node1 === void 0 ? void 0 : node1.ownerDocument) !== null && _node$ownerDocument !== void 0 ? _node$ownerDocument : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
|
|
146
|
-
const [, force] = useState({});
|
|
147
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setNode(node)
|
|
148
|
-
);
|
|
149
|
-
const layers = Array.from(context.layers);
|
|
150
|
-
const [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
151
|
-
...context.layersWithOutsidePointerEventsDisabled
|
|
152
|
-
].slice(-1); // prettier-ignore
|
|
153
|
-
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled); // prettier-ignore
|
|
154
|
-
const index = node1 ? layers.indexOf(node1) : -1;
|
|
155
|
-
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
156
|
-
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
157
|
-
const pointerDownOutside = $5cb92bef7577960e$var$usePointerDownOutside((event)=>{
|
|
158
|
-
const target = event.target;
|
|
159
|
-
const isPointerDownOnBranch = [
|
|
160
|
-
...context.branches
|
|
161
|
-
].some((branch)=>branch.contains(target)
|
|
162
|
-
);
|
|
163
|
-
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
|
164
|
-
onPointerDownOutside === null || onPointerDownOutside === void 0 || onPointerDownOutside(event);
|
|
165
|
-
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
166
|
-
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
167
|
-
}, ownerDocument);
|
|
168
|
-
const focusOutside = $5cb92bef7577960e$var$useFocusOutside((event)=>{
|
|
169
|
-
const target = event.target;
|
|
170
|
-
const isFocusInBranch = [
|
|
171
|
-
...context.branches
|
|
172
|
-
].some((branch)=>branch.contains(target)
|
|
173
|
-
);
|
|
174
|
-
if (isFocusInBranch) return;
|
|
175
|
-
onFocusOutside === null || onFocusOutside === void 0 || onFocusOutside(event);
|
|
176
|
-
onInteractOutside === null || onInteractOutside === void 0 || onInteractOutside(event);
|
|
177
|
-
if (!event.defaultPrevented) onDismiss === null || onDismiss === void 0 || onDismiss();
|
|
178
|
-
}, ownerDocument);
|
|
179
|
-
$addc16e1bbe58fd0$export$3a72a57244d6e765((event)=>{
|
|
180
|
-
const isHighestLayer = index === context.layers.size - 1;
|
|
181
|
-
if (!isHighestLayer) return;
|
|
182
|
-
onEscapeKeyDown === null || onEscapeKeyDown === void 0 || onEscapeKeyDown(event);
|
|
183
|
-
if (!event.defaultPrevented && onDismiss) {
|
|
184
|
-
event.preventDefault();
|
|
185
|
-
onDismiss();
|
|
186
|
-
}
|
|
187
|
-
}, ownerDocument);
|
|
188
|
-
useEffect(()=>{
|
|
189
|
-
if (!node1) return;
|
|
190
|
-
if (disableOutsidePointerEvents) {
|
|
191
|
-
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
192
|
-
$5cb92bef7577960e$var$originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
|
193
|
-
ownerDocument.body.style.pointerEvents = 'none';
|
|
194
|
-
}
|
|
195
|
-
context.layersWithOutsidePointerEventsDisabled.add(node1);
|
|
196
|
-
}
|
|
197
|
-
context.layers.add(node1);
|
|
198
|
-
$5cb92bef7577960e$var$dispatchUpdate();
|
|
199
|
-
return ()=>{
|
|
200
|
-
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) ownerDocument.body.style.pointerEvents = $5cb92bef7577960e$var$originalBodyPointerEvents;
|
|
201
|
-
};
|
|
202
|
-
}, [
|
|
203
|
-
node1,
|
|
204
|
-
ownerDocument,
|
|
205
|
-
disableOutsidePointerEvents,
|
|
206
|
-
context
|
|
207
|
-
]);
|
|
208
|
-
/**
|
|
209
|
-
* We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect
|
|
210
|
-
* because a change to `disableOutsidePointerEvents` would remove this layer from the stack
|
|
211
|
-
* and add it to the end again so the layering order wouldn't be _creation order_.
|
|
212
|
-
* We only want them to be removed from context stacks when unmounted.
|
|
213
|
-
*/ useEffect(()=>{
|
|
214
|
-
return ()=>{
|
|
215
|
-
if (!node1) return;
|
|
216
|
-
context.layers.delete(node1);
|
|
217
|
-
context.layersWithOutsidePointerEventsDisabled.delete(node1);
|
|
218
|
-
$5cb92bef7577960e$var$dispatchUpdate();
|
|
219
|
-
};
|
|
220
|
-
}, [
|
|
221
|
-
node1,
|
|
222
|
-
context
|
|
223
|
-
]);
|
|
224
|
-
useEffect(()=>{
|
|
225
|
-
const handleUpdate = ()=>force({})
|
|
226
|
-
;
|
|
227
|
-
document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate);
|
|
228
|
-
return ()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE, handleUpdate)
|
|
229
|
-
;
|
|
230
|
-
}, []);
|
|
231
|
-
return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({}, layerProps, {
|
|
232
|
-
ref: composedRefs,
|
|
233
|
-
style: {
|
|
234
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? 'auto' : 'none' : undefined,
|
|
235
|
-
...props.style
|
|
236
|
-
},
|
|
237
|
-
onFocusCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
238
|
-
onBlurCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
239
|
-
onPointerDownCapture: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture)
|
|
240
|
-
}));
|
|
241
|
-
});
|
|
242
|
-
/* -----------------------------------------------------------------------------------------------*/ /**
|
|
243
|
-
* Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`
|
|
244
|
-
* to mimic layer dismissing behaviour present in OS.
|
|
245
|
-
* Returns props to pass to the node we want to check for outside events.
|
|
246
|
-
*/ function $5cb92bef7577960e$var$usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
247
|
-
const handlePointerDownOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onPointerDownOutside);
|
|
248
|
-
const isPointerInsideReactTreeRef = useRef(false);
|
|
249
|
-
const handleClickRef = useRef(()=>{});
|
|
250
|
-
useEffect(()=>{
|
|
251
|
-
const handlePointerDown = (event)=>{
|
|
252
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
253
|
-
const eventDetail = {
|
|
254
|
-
originalEvent: event
|
|
255
|
-
};
|
|
256
|
-
function handleAndDispatchPointerDownOutsideEvent() {
|
|
257
|
-
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {
|
|
258
|
-
discrete: true
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* On touch devices, we need to wait for a click event because browsers implement
|
|
263
|
-
* a ~350ms delay between the time the user stops touching the display and when the
|
|
264
|
-
* browser executres events. We need to ensure we don't reactivate pointer-events within
|
|
265
|
-
* this timeframe otherwise the browser may execute events that should have been prevented.
|
|
266
|
-
*
|
|
267
|
-
* Additionally, this also lets us deal automatically with cancellations when a click event
|
|
268
|
-
* isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.
|
|
269
|
-
*
|
|
270
|
-
* This is why we also continuously remove the previous listener, because we cannot be
|
|
271
|
-
* certain that it was raised, and therefore cleaned-up.
|
|
272
|
-
*/ if (event.pointerType === 'touch') {
|
|
273
|
-
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
274
|
-
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;
|
|
275
|
-
ownerDocument.addEventListener('click', handleClickRef.current, {
|
|
276
|
-
once: true
|
|
277
|
-
});
|
|
278
|
-
} else handleAndDispatchPointerDownOutsideEvent();
|
|
279
|
-
}
|
|
280
|
-
isPointerInsideReactTreeRef.current = false;
|
|
281
|
-
};
|
|
282
|
-
/**
|
|
283
|
-
* if this hook executes in a component that mounts via a `pointerdown` event, the event
|
|
284
|
-
* would bubble up to the document and trigger a `pointerDownOutside` event. We avoid
|
|
285
|
-
* this by delaying the event listener registration on the document.
|
|
286
|
-
* This is not React specific, but rather how the DOM works, ie:
|
|
287
|
-
* ```
|
|
288
|
-
* button.addEventListener('pointerdown', () => {
|
|
289
|
-
* console.log('I will log');
|
|
290
|
-
* document.addEventListener('pointerdown', () => {
|
|
291
|
-
* console.log('I will also log');
|
|
292
|
-
* })
|
|
293
|
-
* });
|
|
294
|
-
*/ const timerId = window.setTimeout(()=>{
|
|
295
|
-
ownerDocument.addEventListener('pointerdown', handlePointerDown);
|
|
296
|
-
}, 0);
|
|
297
|
-
return ()=>{
|
|
298
|
-
window.clearTimeout(timerId);
|
|
299
|
-
ownerDocument.removeEventListener('pointerdown', handlePointerDown);
|
|
300
|
-
ownerDocument.removeEventListener('click', handleClickRef.current);
|
|
301
|
-
};
|
|
302
|
-
}, [
|
|
303
|
-
ownerDocument,
|
|
304
|
-
handlePointerDownOutside
|
|
305
|
-
]);
|
|
306
|
-
return {
|
|
307
|
-
// ensures we check React component tree (not just DOM tree)
|
|
308
|
-
onPointerDownCapture: ()=>isPointerInsideReactTreeRef.current = true
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Listens for when focus happens outside a react subtree.
|
|
313
|
-
* Returns props to pass to the root (node) of the subtree we want to check.
|
|
314
|
-
*/ function $5cb92bef7577960e$var$useFocusOutside(onFocusOutside, ownerDocument = globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) {
|
|
315
|
-
const handleFocusOutside = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onFocusOutside);
|
|
316
|
-
const isFocusInsideReactTreeRef = useRef(false);
|
|
317
|
-
useEffect(()=>{
|
|
318
|
-
const handleFocus = (event)=>{
|
|
319
|
-
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
320
|
-
const eventDetail = {
|
|
321
|
-
originalEvent: event
|
|
322
|
-
};
|
|
323
|
-
$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
|
324
|
-
discrete: false
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
};
|
|
328
|
-
ownerDocument.addEventListener('focusin', handleFocus);
|
|
329
|
-
return ()=>ownerDocument.removeEventListener('focusin', handleFocus)
|
|
330
|
-
;
|
|
331
|
-
}, [
|
|
332
|
-
ownerDocument,
|
|
333
|
-
handleFocusOutside
|
|
334
|
-
]);
|
|
335
|
-
return {
|
|
336
|
-
onFocusCapture: ()=>isFocusInsideReactTreeRef.current = true
|
|
337
|
-
,
|
|
338
|
-
onBlurCapture: ()=>isFocusInsideReactTreeRef.current = false
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
function $5cb92bef7577960e$var$dispatchUpdate() {
|
|
342
|
-
const event = new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);
|
|
343
|
-
document.dispatchEvent(event);
|
|
344
|
-
}
|
|
345
|
-
function $5cb92bef7577960e$var$handleAndDispatchCustomEvent(name, handler, detail, { discrete: discrete }) {
|
|
346
|
-
const target = detail.originalEvent.target;
|
|
347
|
-
const event = new CustomEvent(name, {
|
|
348
|
-
bubbles: false,
|
|
349
|
-
cancelable: true,
|
|
350
|
-
detail: detail
|
|
351
|
-
});
|
|
352
|
-
if (handler) target.addEventListener(name, handler, {
|
|
353
|
-
once: true
|
|
354
|
-
});
|
|
355
|
-
if (discrete) $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event);
|
|
356
|
-
else target.dispatchEvent(event);
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
/** Number of components which have requested interest to have focus guards */ let $3db38b7d1fb3fe6a$var$count = 0;
|
|
360
|
-
/**
|
|
361
|
-
* Injects a pair of focus guards at the edges of the whole DOM tree
|
|
362
|
-
* to ensure `focusin` & `focusout` events can be caught consistently.
|
|
363
|
-
*/ function $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c() {
|
|
364
|
-
useEffect(()=>{
|
|
365
|
-
var _edgeGuards$, _edgeGuards$2;
|
|
366
|
-
const edgeGuards = document.querySelectorAll('[data-radix-focus-guard]');
|
|
367
|
-
document.body.insertAdjacentElement('afterbegin', (_edgeGuards$ = edgeGuards[0]) !== null && _edgeGuards$ !== void 0 ? _edgeGuards$ : $3db38b7d1fb3fe6a$var$createFocusGuard());
|
|
368
|
-
document.body.insertAdjacentElement('beforeend', (_edgeGuards$2 = edgeGuards[1]) !== null && _edgeGuards$2 !== void 0 ? _edgeGuards$2 : $3db38b7d1fb3fe6a$var$createFocusGuard());
|
|
369
|
-
$3db38b7d1fb3fe6a$var$count++;
|
|
370
|
-
return ()=>{
|
|
371
|
-
if ($3db38b7d1fb3fe6a$var$count === 1) document.querySelectorAll('[data-radix-focus-guard]').forEach((node)=>node.remove()
|
|
372
|
-
);
|
|
373
|
-
$3db38b7d1fb3fe6a$var$count--;
|
|
374
|
-
};
|
|
375
|
-
}, []);
|
|
376
|
-
}
|
|
377
|
-
function $3db38b7d1fb3fe6a$var$createFocusGuard() {
|
|
378
|
-
const element = document.createElement('span');
|
|
379
|
-
element.setAttribute('data-radix-focus-guard', '');
|
|
380
|
-
element.tabIndex = 0;
|
|
381
|
-
element.style.cssText = 'outline: none; opacity: 0; position: fixed; pointer-events: none';
|
|
382
|
-
return element;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT = 'focusScope.autoFocusOnMount';
|
|
386
|
-
const $d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT = 'focusScope.autoFocusOnUnmount';
|
|
387
|
-
const $d3863c46a17e8a28$var$EVENT_OPTIONS = {
|
|
388
|
-
bubbles: false,
|
|
389
|
-
cancelable: true
|
|
390
|
-
};
|
|
391
|
-
const $d3863c46a17e8a28$export$20e40289641fbbb6 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
392
|
-
const { loop: loop = false , trapped: trapped = false , onMountAutoFocus: onMountAutoFocusProp , onUnmountAutoFocus: onUnmountAutoFocusProp , ...scopeProps } = props;
|
|
393
|
-
const [container1, setContainer] = useState(null);
|
|
394
|
-
const onMountAutoFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onMountAutoFocusProp);
|
|
395
|
-
const onUnmountAutoFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onUnmountAutoFocusProp);
|
|
396
|
-
const lastFocusedElementRef = useRef(null);
|
|
397
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setContainer(node)
|
|
398
|
-
);
|
|
399
|
-
const focusScope = useRef({
|
|
400
|
-
paused: false,
|
|
401
|
-
pause () {
|
|
402
|
-
this.paused = true;
|
|
403
|
-
},
|
|
404
|
-
resume () {
|
|
405
|
-
this.paused = false;
|
|
406
|
-
}
|
|
407
|
-
}).current; // Takes care of trapping focus if focus is moved outside programmatically for example
|
|
408
|
-
useEffect(()=>{
|
|
409
|
-
if (trapped) {
|
|
410
|
-
function handleFocusIn(event) {
|
|
411
|
-
if (focusScope.paused || !container1) return;
|
|
412
|
-
const target = event.target;
|
|
413
|
-
if (container1.contains(target)) lastFocusedElementRef.current = target;
|
|
414
|
-
else $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
415
|
-
select: true
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
function handleFocusOut(event) {
|
|
419
|
-
if (focusScope.paused || !container1) return;
|
|
420
|
-
if (!container1.contains(event.relatedTarget)) $d3863c46a17e8a28$var$focus(lastFocusedElementRef.current, {
|
|
421
|
-
select: true
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
document.addEventListener('focusin', handleFocusIn);
|
|
425
|
-
document.addEventListener('focusout', handleFocusOut);
|
|
426
|
-
return ()=>{
|
|
427
|
-
document.removeEventListener('focusin', handleFocusIn);
|
|
428
|
-
document.removeEventListener('focusout', handleFocusOut);
|
|
429
|
-
};
|
|
430
|
-
}
|
|
431
|
-
}, [
|
|
432
|
-
trapped,
|
|
433
|
-
container1,
|
|
434
|
-
focusScope.paused
|
|
435
|
-
]);
|
|
436
|
-
useEffect(()=>{
|
|
437
|
-
if (container1) {
|
|
438
|
-
$d3863c46a17e8a28$var$focusScopesStack.add(focusScope);
|
|
439
|
-
const previouslyFocusedElement = document.activeElement;
|
|
440
|
-
const hasFocusedCandidate = container1.contains(previouslyFocusedElement);
|
|
441
|
-
if (!hasFocusedCandidate) {
|
|
442
|
-
const mountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
443
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus);
|
|
444
|
-
container1.dispatchEvent(mountEvent);
|
|
445
|
-
if (!mountEvent.defaultPrevented) {
|
|
446
|
-
$d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(container1)), {
|
|
447
|
-
select: true
|
|
448
|
-
});
|
|
449
|
-
if (document.activeElement === previouslyFocusedElement) $d3863c46a17e8a28$var$focus(container1);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
return ()=>{
|
|
453
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT, onMountAutoFocus); // We hit a react bug (fixed in v17) with focusing in unmount.
|
|
454
|
-
// We need to delay the focus a little to get around it for now.
|
|
455
|
-
// See: https://github.com/facebook/react/issues/17894
|
|
456
|
-
setTimeout(()=>{
|
|
457
|
-
const unmountEvent = new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, $d3863c46a17e8a28$var$EVENT_OPTIONS);
|
|
458
|
-
container1.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
459
|
-
container1.dispatchEvent(unmountEvent);
|
|
460
|
-
if (!unmountEvent.defaultPrevented) $d3863c46a17e8a28$var$focus(previouslyFocusedElement !== null && previouslyFocusedElement !== void 0 ? previouslyFocusedElement : document.body, {
|
|
461
|
-
select: true
|
|
462
|
-
});
|
|
463
|
-
// we need to remove the listener after we `dispatchEvent`
|
|
464
|
-
container1.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);
|
|
465
|
-
$d3863c46a17e8a28$var$focusScopesStack.remove(focusScope);
|
|
466
|
-
}, 0);
|
|
467
|
-
};
|
|
468
|
-
}
|
|
469
|
-
}, [
|
|
470
|
-
container1,
|
|
471
|
-
onMountAutoFocus,
|
|
472
|
-
onUnmountAutoFocus,
|
|
473
|
-
focusScope
|
|
474
|
-
]); // Takes care of looping focus (when tabbing whilst at the edges)
|
|
475
|
-
const handleKeyDown = useCallback((event)=>{
|
|
476
|
-
if (!loop && !trapped) return;
|
|
477
|
-
if (focusScope.paused) return;
|
|
478
|
-
const isTabKey = event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
479
|
-
const focusedElement = document.activeElement;
|
|
480
|
-
if (isTabKey && focusedElement) {
|
|
481
|
-
const container = event.currentTarget;
|
|
482
|
-
const [first, last] = $d3863c46a17e8a28$var$getTabbableEdges(container);
|
|
483
|
-
const hasTabbableElementsInside = first && last; // we can only wrap focus if we have tabbable edges
|
|
484
|
-
if (!hasTabbableElementsInside) {
|
|
485
|
-
if (focusedElement === container) event.preventDefault();
|
|
486
|
-
} else {
|
|
487
|
-
if (!event.shiftKey && focusedElement === last) {
|
|
488
|
-
event.preventDefault();
|
|
489
|
-
if (loop) $d3863c46a17e8a28$var$focus(first, {
|
|
490
|
-
select: true
|
|
491
|
-
});
|
|
492
|
-
} else if (event.shiftKey && focusedElement === first) {
|
|
493
|
-
event.preventDefault();
|
|
494
|
-
if (loop) $d3863c46a17e8a28$var$focus(last, {
|
|
495
|
-
select: true
|
|
496
|
-
});
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}, [
|
|
501
|
-
loop,
|
|
502
|
-
trapped,
|
|
503
|
-
focusScope.paused
|
|
504
|
-
]);
|
|
505
|
-
return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
|
|
506
|
-
tabIndex: -1
|
|
507
|
-
}, scopeProps, {
|
|
508
|
-
ref: composedRefs,
|
|
509
|
-
onKeyDown: handleKeyDown
|
|
510
|
-
}));
|
|
511
|
-
});
|
|
512
|
-
/* -------------------------------------------------------------------------------------------------
|
|
513
|
-
* Utils
|
|
514
|
-
* -----------------------------------------------------------------------------------------------*/ /**
|
|
515
|
-
* Attempts focusing the first element in a list of candidates.
|
|
516
|
-
* Stops when focus has actually moved.
|
|
517
|
-
*/ function $d3863c46a17e8a28$var$focusFirst(candidates, { select: select = false } = {}) {
|
|
518
|
-
const previouslyFocusedElement = document.activeElement;
|
|
519
|
-
for (const candidate of candidates){
|
|
520
|
-
$d3863c46a17e8a28$var$focus(candidate, {
|
|
521
|
-
select: select
|
|
522
|
-
});
|
|
523
|
-
if (document.activeElement !== previouslyFocusedElement) return;
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
/**
|
|
527
|
-
* Returns the first and last tabbable elements inside a container.
|
|
528
|
-
*/ function $d3863c46a17e8a28$var$getTabbableEdges(container) {
|
|
529
|
-
const candidates = $d3863c46a17e8a28$var$getTabbableCandidates(container);
|
|
530
|
-
const first = $d3863c46a17e8a28$var$findVisible(candidates, container);
|
|
531
|
-
const last = $d3863c46a17e8a28$var$findVisible(candidates.reverse(), container);
|
|
532
|
-
return [
|
|
533
|
-
first,
|
|
534
|
-
last
|
|
535
|
-
];
|
|
536
|
-
}
|
|
537
|
-
/**
|
|
538
|
-
* Returns a list of potential tabbable candidates.
|
|
539
|
-
*
|
|
540
|
-
* NOTE: This is only a close approximation. For example it doesn't take into account cases like when
|
|
541
|
-
* elements are not visible. This cannot be worked out easily by just reading a property, but rather
|
|
542
|
-
* necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.
|
|
543
|
-
*
|
|
544
|
-
* See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker
|
|
545
|
-
* Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1
|
|
546
|
-
*/ function $d3863c46a17e8a28$var$getTabbableCandidates(container) {
|
|
547
|
-
const nodes = [];
|
|
548
|
-
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
|
549
|
-
acceptNode: (node)=>{
|
|
550
|
-
const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';
|
|
551
|
-
if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP; // `.tabIndex` is not the same as the `tabindex` attribute. It works on the
|
|
552
|
-
// runtime's understanding of tabbability, so this automatically accounts
|
|
553
|
-
// for any kind of element that could be tabbed to.
|
|
554
|
-
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
555
|
-
}
|
|
556
|
-
});
|
|
557
|
-
while(walker.nextNode())nodes.push(walker.currentNode); // we do not take into account the order of nodes with positive `tabIndex` as it
|
|
558
|
-
// hinders accessibility to have tab order different from visual order.
|
|
559
|
-
return nodes;
|
|
560
|
-
}
|
|
561
|
-
/**
|
|
562
|
-
* Returns the first visible element in a list.
|
|
563
|
-
* NOTE: Only checks visibility up to the `container`.
|
|
564
|
-
*/ function $d3863c46a17e8a28$var$findVisible(elements, container) {
|
|
565
|
-
for (const element of elements){
|
|
566
|
-
// we stop checking if it's hidden at the `container` level (excluding)
|
|
567
|
-
if (!$d3863c46a17e8a28$var$isHidden(element, {
|
|
568
|
-
upTo: container
|
|
569
|
-
})) return element;
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
function $d3863c46a17e8a28$var$isHidden(node, { upTo: upTo }) {
|
|
573
|
-
if (getComputedStyle(node).visibility === 'hidden') return true;
|
|
574
|
-
while(node){
|
|
575
|
-
// we stop at `upTo` (excluding it)
|
|
576
|
-
if (upTo !== undefined && node === upTo) return false;
|
|
577
|
-
if (getComputedStyle(node).display === 'none') return true;
|
|
578
|
-
node = node.parentElement;
|
|
579
|
-
}
|
|
580
|
-
return false;
|
|
581
|
-
}
|
|
582
|
-
function $d3863c46a17e8a28$var$isSelectableInput(element) {
|
|
583
|
-
return element instanceof HTMLInputElement && 'select' in element;
|
|
584
|
-
}
|
|
585
|
-
function $d3863c46a17e8a28$var$focus(element, { select: select = false } = {}) {
|
|
586
|
-
// only focus if that element is focusable
|
|
587
|
-
if (element && element.focus) {
|
|
588
|
-
const previouslyFocusedElement = document.activeElement; // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users
|
|
589
|
-
element.focus({
|
|
590
|
-
preventScroll: true
|
|
591
|
-
}); // only select if its not the same element, it supports selection and we need to select
|
|
592
|
-
if (element !== previouslyFocusedElement && $d3863c46a17e8a28$var$isSelectableInput(element) && select) element.select();
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
/* -------------------------------------------------------------------------------------------------
|
|
596
|
-
* FocusScope stack
|
|
597
|
-
* -----------------------------------------------------------------------------------------------*/ const $d3863c46a17e8a28$var$focusScopesStack = $d3863c46a17e8a28$var$createFocusScopesStack();
|
|
598
|
-
function $d3863c46a17e8a28$var$createFocusScopesStack() {
|
|
599
|
-
/** A stack of focus scopes, with the active one at the top */ let stack = [];
|
|
600
|
-
return {
|
|
601
|
-
add (focusScope) {
|
|
602
|
-
// pause the currently active focus scope (at the top of the stack)
|
|
603
|
-
const activeFocusScope = stack[0];
|
|
604
|
-
if (focusScope !== activeFocusScope) activeFocusScope === null || activeFocusScope === void 0 || activeFocusScope.pause();
|
|
605
|
-
// remove in case it already exists (because we'll re-add it at the top of the stack)
|
|
606
|
-
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
607
|
-
stack.unshift(focusScope);
|
|
608
|
-
},
|
|
609
|
-
remove (focusScope) {
|
|
610
|
-
var _stack$;
|
|
611
|
-
stack = $d3863c46a17e8a28$var$arrayRemove(stack, focusScope);
|
|
612
|
-
(_stack$ = stack[0]) === null || _stack$ === void 0 || _stack$.resume();
|
|
613
|
-
}
|
|
614
|
-
};
|
|
615
|
-
}
|
|
616
|
-
function $d3863c46a17e8a28$var$arrayRemove(array, item) {
|
|
617
|
-
const updatedArray = [
|
|
618
|
-
...array
|
|
619
|
-
];
|
|
620
|
-
const index = updatedArray.indexOf(item);
|
|
621
|
-
if (index !== -1) updatedArray.splice(index, 1);
|
|
622
|
-
return updatedArray;
|
|
623
|
-
}
|
|
624
|
-
function $d3863c46a17e8a28$var$removeLinks(items) {
|
|
625
|
-
return items.filter((item)=>item.tagName !== 'A'
|
|
626
|
-
);
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
const $1746a345f3d73bb7$var$useReactId = React['useId'.toString()] || (()=>undefined
|
|
630
|
-
);
|
|
631
|
-
let $1746a345f3d73bb7$var$count = 0;
|
|
632
|
-
function $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {
|
|
633
|
-
const [id, setId] = React.useState($1746a345f3d73bb7$var$useReactId()); // React versions older than 18 will have client-side ids only.
|
|
634
|
-
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
635
|
-
if (!deterministicId) setId((reactId)=>reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)
|
|
636
|
-
);
|
|
637
|
-
}, [
|
|
638
|
-
deterministicId
|
|
639
|
-
]);
|
|
640
|
-
return deterministicId || (id ? `radix-${id}` : '');
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
const $f1701beae083dbae$export$602eac185826482c = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
644
|
-
var _globalThis$document;
|
|
645
|
-
const { container: container = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.body , ...portalProps } = props;
|
|
646
|
-
return container ? /*#__PURE__*/ $7SXl2$reactdom.createPortal(/*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({}, portalProps, {
|
|
647
|
-
ref: forwardedRef
|
|
648
|
-
})), container) : null;
|
|
649
|
-
});
|
|
650
|
-
|
|
651
|
-
const $ea1ef594cf570d83$export$439d29a4e110a164 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
652
|
-
return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends({}, props, {
|
|
653
|
-
ref: forwardedRef,
|
|
654
|
-
style: {
|
|
655
|
-
// See: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss
|
|
656
|
-
position: 'absolute',
|
|
657
|
-
border: 0,
|
|
658
|
-
width: 1,
|
|
659
|
-
height: 1,
|
|
660
|
-
padding: 0,
|
|
661
|
-
margin: -1,
|
|
662
|
-
overflow: 'hidden',
|
|
663
|
-
clip: 'rect(0, 0, 0, 0)',
|
|
664
|
-
whiteSpace: 'nowrap',
|
|
665
|
-
wordWrap: 'normal',
|
|
666
|
-
...props.style
|
|
667
|
-
}
|
|
668
|
-
}));
|
|
669
|
-
});
|
|
670
|
-
|
|
671
27
|
const $cc7e05a45900e73f$var$OPEN_KEYS = [
|
|
672
28
|
' ',
|
|
673
29
|
'Enter',
|
|
@@ -683,12 +39,15 @@ const $cc7e05a45900e73f$var$SELECTION_KEYS = [
|
|
|
683
39
|
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SELECT_NAME = 'Select';
|
|
684
40
|
const [$cc7e05a45900e73f$var$Collection, $cc7e05a45900e73f$var$useCollection, $cc7e05a45900e73f$var$createCollectionScope] = $e02a7d9cb1dc128c$export$c74125a8e3af6bb2($cc7e05a45900e73f$var$SELECT_NAME);
|
|
685
41
|
const [$cc7e05a45900e73f$var$createSelectContext, $cc7e05a45900e73f$export$286727a75dc039bd] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($cc7e05a45900e73f$var$SELECT_NAME, [
|
|
686
|
-
$cc7e05a45900e73f$var$createCollectionScope
|
|
42
|
+
$cc7e05a45900e73f$var$createCollectionScope,
|
|
43
|
+
$cf1ac5d9fe0e8206$export$722aac194ae923
|
|
687
44
|
]);
|
|
45
|
+
const $cc7e05a45900e73f$var$usePopperScope = $cf1ac5d9fe0e8206$export$722aac194ae923();
|
|
688
46
|
const [$cc7e05a45900e73f$var$SelectProvider, $cc7e05a45900e73f$var$useSelectContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);
|
|
689
47
|
const [$cc7e05a45900e73f$var$SelectNativeOptionsProvider, $cc7e05a45900e73f$var$useSelectNativeOptionsContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);
|
|
690
48
|
const $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{
|
|
691
49
|
const { __scopeSelect: __scopeSelect , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange , dir: dir , name: name , autoComplete: autoComplete , disabled: disabled , required: required } = props;
|
|
50
|
+
const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);
|
|
692
51
|
const [trigger, setTrigger] = useState(null);
|
|
693
52
|
const [valueNode, setValueNode] = useState(null);
|
|
694
53
|
const [valueNodeHasChildren, setValueNodeHasChildren] = useState(false);
|
|
@@ -712,7 +71,7 @@ const $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{
|
|
|
712
71
|
// each time the options change.
|
|
713
72
|
const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value
|
|
714
73
|
).join(';');
|
|
715
|
-
return /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectProvider, {
|
|
74
|
+
return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, popperScope, /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectProvider, {
|
|
716
75
|
required: required,
|
|
717
76
|
scope: __scopeSelect,
|
|
718
77
|
trigger: trigger,
|
|
@@ -758,13 +117,14 @@ const $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{
|
|
|
758
117
|
disabled: disabled
|
|
759
118
|
}, value === undefined ? /*#__PURE__*/ createElement("option", {
|
|
760
119
|
value: ""
|
|
761
|
-
}) : null, Array.from(nativeOptionsSet)) : null);
|
|
120
|
+
}) : null, Array.from(nativeOptionsSet)) : null));
|
|
762
121
|
};
|
|
763
122
|
/* -------------------------------------------------------------------------------------------------
|
|
764
123
|
* SelectTrigger
|
|
765
124
|
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$TRIGGER_NAME = 'SelectTrigger';
|
|
766
125
|
const $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
767
126
|
const { __scopeSelect: __scopeSelect , disabled: disabled = false , ...triggerProps } = props;
|
|
127
|
+
const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);
|
|
768
128
|
const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$TRIGGER_NAME, __scopeSelect);
|
|
769
129
|
const isDisabled = context.disabled || disabled;
|
|
770
130
|
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, context.onTriggerChange);
|
|
@@ -783,7 +143,9 @@ const $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ forwardRef((props
|
|
|
783
143
|
resetTypeahead();
|
|
784
144
|
}
|
|
785
145
|
};
|
|
786
|
-
return /*#__PURE__*/ createElement($
|
|
146
|
+
return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$b688253958b8dfe7, _extends({
|
|
147
|
+
asChild: true
|
|
148
|
+
}, popperScope), /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.button, _extends({
|
|
787
149
|
type: "button",
|
|
788
150
|
role: "combobox",
|
|
789
151
|
"aria-controls": context.contentId,
|
|
@@ -794,7 +156,7 @@ const $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ forwardRef((props
|
|
|
794
156
|
"data-state": context.open ? 'open' : 'closed',
|
|
795
157
|
disabled: isDisabled,
|
|
796
158
|
"data-disabled": isDisabled ? '' : undefined,
|
|
797
|
-
"data-placeholder": context.value
|
|
159
|
+
"data-placeholder": $cc7e05a45900e73f$var$shouldShowPlaceholder(context.value) ? '' : undefined
|
|
798
160
|
}, triggerProps, {
|
|
799
161
|
ref: composedRefs // Enable compatibility with native label or custom `Label` "click" for Safari:
|
|
800
162
|
,
|
|
@@ -832,14 +194,14 @@ const $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ forwardRef((props
|
|
|
832
194
|
event.preventDefault();
|
|
833
195
|
}
|
|
834
196
|
})
|
|
835
|
-
}));
|
|
197
|
+
})));
|
|
836
198
|
});
|
|
837
199
|
/* -------------------------------------------------------------------------------------------------
|
|
838
200
|
* SelectValue
|
|
839
201
|
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$VALUE_NAME = 'SelectValue';
|
|
840
202
|
const $cc7e05a45900e73f$export$e288731fd71264f0 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
841
203
|
// We ignore `className` and `style` as this part shouldn't be styled.
|
|
842
|
-
const { __scopeSelect: __scopeSelect , className: className , style: style , children: children , placeholder: placeholder , ...valueProps } = props;
|
|
204
|
+
const { __scopeSelect: __scopeSelect , className: className , style: style , children: children , placeholder: placeholder = '' , ...valueProps } = props;
|
|
843
205
|
const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$VALUE_NAME, __scopeSelect);
|
|
844
206
|
const { onValueNodeHasChildrenChange: onValueNodeHasChildrenChange } = context;
|
|
845
207
|
const hasChildren = children !== undefined;
|
|
@@ -856,7 +218,7 @@ const $cc7e05a45900e73f$export$e288731fd71264f0 = /*#__PURE__*/ forwardRef((prop
|
|
|
856
218
|
style: {
|
|
857
219
|
pointerEvents: 'none'
|
|
858
220
|
}
|
|
859
|
-
}), context.value
|
|
221
|
+
}), $cc7e05a45900e73f$var$shouldShowPlaceholder(context.value) ? /*#__PURE__*/ createElement(Fragment, null, placeholder) : children);
|
|
860
222
|
});
|
|
861
223
|
const $cc7e05a45900e73f$export$99b400cabb58c515 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
862
224
|
const { __scopeSelect: __scopeSelect , children: children , ...iconProps } = props;
|
|
@@ -880,20 +242,28 @@ const $cc7e05a45900e73f$export$c973a4b3cb86a03d = /*#__PURE__*/ forwardRef((prop
|
|
|
880
242
|
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
881
243
|
setFragment(new DocumentFragment());
|
|
882
244
|
}, []);
|
|
883
|
-
|
|
245
|
+
if (!context.open) {
|
|
246
|
+
const frag = fragment;
|
|
247
|
+
return frag ? /*#__PURE__*/ createPortal(/*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectContentProvider, {
|
|
248
|
+
scope: props.__scopeSelect
|
|
249
|
+
}, /*#__PURE__*/ createElement($cc7e05a45900e73f$var$Collection.Slot, {
|
|
250
|
+
scope: props.__scopeSelect
|
|
251
|
+
}, /*#__PURE__*/ createElement("div", null, props.children))), frag) : null;
|
|
252
|
+
}
|
|
253
|
+
return /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectContentImpl, _extends({}, props, {
|
|
884
254
|
ref: forwardedRef
|
|
885
|
-
}))
|
|
886
|
-
scope: props.__scopeSelect
|
|
887
|
-
}, /*#__PURE__*/ createElement($cc7e05a45900e73f$var$Collection.Slot, {
|
|
888
|
-
scope: props.__scopeSelect
|
|
889
|
-
}, /*#__PURE__*/ createElement("div", null, props.children))), fragment) : null);
|
|
255
|
+
}));
|
|
890
256
|
});
|
|
891
|
-
|
|
257
|
+
/* -------------------------------------------------------------------------------------------------
|
|
258
|
+
* SelectContentImpl
|
|
259
|
+
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_MARGIN = 10;
|
|
892
260
|
const [$cc7e05a45900e73f$var$SelectContentProvider, $cc7e05a45900e73f$var$useSelectContentContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME);
|
|
893
261
|
const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
894
|
-
const { __scopeSelect: __scopeSelect , onCloseAutoFocus: onCloseAutoFocus ,
|
|
262
|
+
const { __scopeSelect: __scopeSelect , position: position = 'item-aligned' , onCloseAutoFocus: onCloseAutoFocus , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , side: //
|
|
263
|
+
// PopperContent props
|
|
264
|
+
side , sideOffset: sideOffset , align: align , alignOffset: alignOffset , arrowPadding: arrowPadding , collisionBoundary: collisionBoundary , collisionPadding: collisionPadding , sticky: sticky , hideWhenDetached: hideWhenDetached , avoidCollisions: avoidCollisions , //
|
|
265
|
+
...contentProps } = props;
|
|
895
266
|
const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);
|
|
896
|
-
const [contentWrapper, setContentWrapper] = useState(null);
|
|
897
267
|
const [content, setContent] = useState(null);
|
|
898
268
|
const [viewport, setViewport] = useState(null);
|
|
899
269
|
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setContent(node)
|
|
@@ -902,8 +272,6 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
902
272
|
const [selectedItemText, setSelectedItemText] = useState(null);
|
|
903
273
|
const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);
|
|
904
274
|
const [isPositioned, setIsPositioned] = useState(false);
|
|
905
|
-
const shouldRepositionRef = useRef(true);
|
|
906
|
-
const shouldExpandOnScrollRef = useRef(false);
|
|
907
275
|
const firstValidItemFoundRef = useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)
|
|
908
276
|
useEffect(()=>{
|
|
909
277
|
if (content) return hideOthers(content);
|
|
@@ -912,12 +280,6 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
912
280
|
]); // Make sure the whole tree has focus guards as our `Select` may be
|
|
913
281
|
// the last element in the DOM (because of the `Portal`)
|
|
914
282
|
$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
|
|
915
|
-
const [contentZIndex, setContentZIndex] = useState();
|
|
916
|
-
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
917
|
-
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
918
|
-
}, [
|
|
919
|
-
content
|
|
920
|
-
]);
|
|
921
283
|
const focusFirst = useCallback((candidates)=>{
|
|
922
284
|
const [firstItem, ...restItems] = getItems().map((item)=>item.ref.current
|
|
923
285
|
);
|
|
@@ -938,101 +300,6 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
938
300
|
getItems,
|
|
939
301
|
viewport
|
|
940
302
|
]);
|
|
941
|
-
const position = useCallback(()=>{
|
|
942
|
-
if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
|
|
943
|
-
const triggerRect = context.trigger.getBoundingClientRect(); // -----------------------------------------------------------------------------------------
|
|
944
|
-
// Horizontal positioning
|
|
945
|
-
// -----------------------------------------------------------------------------------------
|
|
946
|
-
const contentRect = content.getBoundingClientRect();
|
|
947
|
-
const valueNodeRect = context.valueNode.getBoundingClientRect();
|
|
948
|
-
const itemTextRect = selectedItemText.getBoundingClientRect();
|
|
949
|
-
if (context.dir !== 'rtl') {
|
|
950
|
-
const itemTextOffset = itemTextRect.left - contentRect.left;
|
|
951
|
-
const left = valueNodeRect.left - itemTextOffset;
|
|
952
|
-
const leftDelta = triggerRect.left - left;
|
|
953
|
-
const minContentWidth = triggerRect.width + leftDelta;
|
|
954
|
-
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
955
|
-
const rightEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
956
|
-
const clampedLeft = $ae6933e535247d3d$export$7d15b64cf5a3a4c4(left, [
|
|
957
|
-
$cc7e05a45900e73f$var$CONTENT_MARGIN,
|
|
958
|
-
rightEdge - contentWidth
|
|
959
|
-
]);
|
|
960
|
-
contentWrapper.style.minWidth = minContentWidth + 'px';
|
|
961
|
-
contentWrapper.style.left = clampedLeft + 'px';
|
|
962
|
-
} else {
|
|
963
|
-
const itemTextOffset = contentRect.right - itemTextRect.right;
|
|
964
|
-
const right = window.innerWidth - valueNodeRect.right - itemTextOffset;
|
|
965
|
-
const rightDelta = window.innerWidth - triggerRect.right - right;
|
|
966
|
-
const minContentWidth = triggerRect.width + rightDelta;
|
|
967
|
-
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
968
|
-
const leftEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
969
|
-
const clampedRight = $ae6933e535247d3d$export$7d15b64cf5a3a4c4(right, [
|
|
970
|
-
$cc7e05a45900e73f$var$CONTENT_MARGIN,
|
|
971
|
-
leftEdge - contentWidth
|
|
972
|
-
]);
|
|
973
|
-
contentWrapper.style.minWidth = minContentWidth + 'px';
|
|
974
|
-
contentWrapper.style.right = clampedRight + 'px';
|
|
975
|
-
} // -----------------------------------------------------------------------------------------
|
|
976
|
-
// Vertical positioning
|
|
977
|
-
// -----------------------------------------------------------------------------------------
|
|
978
|
-
const items = getItems();
|
|
979
|
-
const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;
|
|
980
|
-
const itemsHeight = viewport.scrollHeight;
|
|
981
|
-
const contentStyles = window.getComputedStyle(content);
|
|
982
|
-
const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);
|
|
983
|
-
const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);
|
|
984
|
-
const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);
|
|
985
|
-
const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);
|
|
986
|
-
const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore
|
|
987
|
-
const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);
|
|
988
|
-
const viewportStyles = window.getComputedStyle(viewport);
|
|
989
|
-
const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);
|
|
990
|
-
const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);
|
|
991
|
-
const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
992
|
-
const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;
|
|
993
|
-
const selectedItemHalfHeight = selectedItem.offsetHeight / 2;
|
|
994
|
-
const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;
|
|
995
|
-
const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;
|
|
996
|
-
const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
|
|
997
|
-
const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
|
|
998
|
-
if (willAlignWithoutTopOverflow) {
|
|
999
|
-
const isLastItem = selectedItem === items[items.length - 1].ref.current;
|
|
1000
|
-
contentWrapper.style.bottom = "0px";
|
|
1001
|
-
const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
|
|
1002
|
-
const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);
|
|
1003
|
-
const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
|
|
1004
|
-
contentWrapper.style.height = height + 'px';
|
|
1005
|
-
} else {
|
|
1006
|
-
const isFirstItem = selectedItem === items[0].ref.current;
|
|
1007
|
-
contentWrapper.style.top = "0px";
|
|
1008
|
-
const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);
|
|
1009
|
-
const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;
|
|
1010
|
-
contentWrapper.style.height = height + 'px';
|
|
1011
|
-
viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;
|
|
1012
|
-
}
|
|
1013
|
-
contentWrapper.style.margin = `${$cc7e05a45900e73f$var$CONTENT_MARGIN}px 0`;
|
|
1014
|
-
contentWrapper.style.minHeight = minContentHeight + 'px';
|
|
1015
|
-
contentWrapper.style.maxHeight = availableHeight + 'px'; // -----------------------------------------------------------------------------------------
|
|
1016
|
-
setIsPositioned(true); // we don't want the initial scroll position adjustment to trigger "expand on scroll"
|
|
1017
|
-
// so we explicitly turn it on only after they've registered.
|
|
1018
|
-
requestAnimationFrame(()=>shouldExpandOnScrollRef.current = true
|
|
1019
|
-
);
|
|
1020
|
-
}
|
|
1021
|
-
}, [
|
|
1022
|
-
getItems,
|
|
1023
|
-
context.trigger,
|
|
1024
|
-
context.valueNode,
|
|
1025
|
-
contentWrapper,
|
|
1026
|
-
content,
|
|
1027
|
-
viewport,
|
|
1028
|
-
selectedItem,
|
|
1029
|
-
selectedItemText,
|
|
1030
|
-
context.dir
|
|
1031
|
-
]);
|
|
1032
|
-
$9f79659886946c16$export$e5c5a5f917a5871c(()=>position()
|
|
1033
|
-
, [
|
|
1034
|
-
position
|
|
1035
|
-
]);
|
|
1036
303
|
const focusSelectedItem = useCallback(()=>focusFirst([
|
|
1037
304
|
selectedItem,
|
|
1038
305
|
content
|
|
@@ -1048,19 +315,6 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
1048
315
|
}, [
|
|
1049
316
|
isPositioned,
|
|
1050
317
|
focusSelectedItem
|
|
1051
|
-
]); // When the viewport becomes scrollable at the top, the scroll up button will mount.
|
|
1052
|
-
// Because it is part of the normal flow, it will push down the viewport, thus throwing our
|
|
1053
|
-
// trigger => selectedItem alignment off by the amount the viewport was pushed down.
|
|
1054
|
-
// We wait for this to happen and then re-run the positining logic one more time to account for it.
|
|
1055
|
-
const handleScrollButtonChange = useCallback((node)=>{
|
|
1056
|
-
if (node && shouldRepositionRef.current === true) {
|
|
1057
|
-
position();
|
|
1058
|
-
focusSelectedItem();
|
|
1059
|
-
shouldRepositionRef.current = false;
|
|
1060
|
-
}
|
|
1061
|
-
}, [
|
|
1062
|
-
position,
|
|
1063
|
-
focusSelectedItem
|
|
1064
318
|
]); // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`
|
|
1065
319
|
// and close on `pointerup` outside.
|
|
1066
320
|
const { onOpenChange: onOpenChange , triggerPointerDownPosRef: triggerPointerDownPosRef } = context;
|
|
@@ -1149,9 +403,21 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
1149
403
|
}, [
|
|
1150
404
|
context.value
|
|
1151
405
|
]);
|
|
406
|
+
const SelectPosition = position === 'popper' ? $cc7e05a45900e73f$var$SelectPopperPosition : $cc7e05a45900e73f$var$SelectItemAlignedPosition; // Silently ignore props that are not supported by `SelectItemAlignedPosition`
|
|
407
|
+
const popperContentProps = SelectPosition === $cc7e05a45900e73f$var$SelectPopperPosition ? {
|
|
408
|
+
side: side,
|
|
409
|
+
sideOffset: sideOffset,
|
|
410
|
+
align: align,
|
|
411
|
+
alignOffset: alignOffset,
|
|
412
|
+
arrowPadding: arrowPadding,
|
|
413
|
+
collisionBoundary: collisionBoundary,
|
|
414
|
+
collisionPadding: collisionPadding,
|
|
415
|
+
sticky: sticky,
|
|
416
|
+
hideWhenDetached: hideWhenDetached,
|
|
417
|
+
avoidCollisions: avoidCollisions
|
|
418
|
+
} : {};
|
|
1152
419
|
return /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectContentProvider, {
|
|
1153
420
|
scope: __scopeSelect,
|
|
1154
|
-
contentWrapper: contentWrapper,
|
|
1155
421
|
content: content,
|
|
1156
422
|
viewport: viewport,
|
|
1157
423
|
onViewportChange: setViewport,
|
|
@@ -1159,22 +425,14 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
1159
425
|
selectedItem: selectedItem,
|
|
1160
426
|
onItemLeave: handleItemLeave,
|
|
1161
427
|
itemTextRefCallback: itemTextRefCallback,
|
|
428
|
+
focusSelectedItem: focusSelectedItem,
|
|
1162
429
|
selectedItemText: selectedItemText,
|
|
1163
|
-
|
|
430
|
+
position: position,
|
|
1164
431
|
isPositioned: isPositioned,
|
|
1165
|
-
shouldExpandOnScrollRef: shouldExpandOnScrollRef,
|
|
1166
432
|
searchRef: searchRef
|
|
1167
433
|
}, /*#__PURE__*/ createElement($01b9c$RemoveScroll, {
|
|
1168
434
|
as: $5e63c961fc1ce211$export$8c6ed5c666ac1360,
|
|
1169
435
|
allowPinchZoom: true
|
|
1170
|
-
}, /*#__PURE__*/ createElement("div", {
|
|
1171
|
-
ref: setContentWrapper,
|
|
1172
|
-
style: {
|
|
1173
|
-
display: 'flex',
|
|
1174
|
-
flexDirection: 'column',
|
|
1175
|
-
position: 'fixed',
|
|
1176
|
-
zIndex: contentZIndex
|
|
1177
|
-
}
|
|
1178
436
|
}, /*#__PURE__*/ createElement($d3863c46a17e8a28$export$20e40289641fbbb6, {
|
|
1179
437
|
asChild: true // we make sure we're not trapping once it's been closed
|
|
1180
438
|
,
|
|
@@ -1190,30 +448,33 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
1190
448
|
});
|
|
1191
449
|
event.preventDefault();
|
|
1192
450
|
})
|
|
1193
|
-
}, /*#__PURE__*/ createElement($5cb92bef7577960e$export$177fb62ff3ec1f22,
|
|
451
|
+
}, /*#__PURE__*/ createElement($5cb92bef7577960e$export$177fb62ff3ec1f22, {
|
|
452
|
+
asChild: true,
|
|
453
|
+
disableOutsidePointerEvents: true,
|
|
454
|
+
onEscapeKeyDown: onEscapeKeyDown,
|
|
455
|
+
onPointerDownOutside: onPointerDownOutside // When focus is trapped, a focusout event may still happen.
|
|
456
|
+
,
|
|
457
|
+
onFocusOutside: (event)=>event.preventDefault()
|
|
458
|
+
,
|
|
459
|
+
onDismiss: ()=>context.onOpenChange(false)
|
|
460
|
+
}, /*#__PURE__*/ createElement(SelectPosition, _extends({
|
|
1194
461
|
role: "listbox",
|
|
1195
462
|
id: context.contentId,
|
|
1196
463
|
"data-state": context.open ? 'open' : 'closed',
|
|
1197
464
|
dir: context.dir,
|
|
1198
465
|
onContextMenu: (event)=>event.preventDefault()
|
|
1199
|
-
}, contentProps, {
|
|
466
|
+
}, contentProps, popperContentProps, {
|
|
467
|
+
onPlaced: ()=>setIsPositioned(true)
|
|
468
|
+
,
|
|
1200
469
|
ref: composedRefs,
|
|
1201
470
|
style: {
|
|
471
|
+
// flex layout so we can place the scroll buttons properly
|
|
1202
472
|
display: 'flex',
|
|
1203
473
|
flexDirection: 'column',
|
|
1204
|
-
//
|
|
1205
|
-
// the height without having `boxSizing: 'border-box'` it would be too big.
|
|
1206
|
-
boxSizing: 'border-box',
|
|
1207
|
-
maxHeight: '100%',
|
|
474
|
+
// reset the outline by default as the content MAY get focused
|
|
1208
475
|
outline: 'none',
|
|
1209
476
|
...contentProps.style
|
|
1210
477
|
},
|
|
1211
|
-
disableOutsidePointerEvents: true // When focus is trapped, a focusout event may still happen.
|
|
1212
|
-
,
|
|
1213
|
-
onFocusOutside: (event)=>event.preventDefault()
|
|
1214
|
-
,
|
|
1215
|
-
onDismiss: ()=>context.onOpenChange(false)
|
|
1216
|
-
,
|
|
1217
478
|
onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(contentProps.onKeyDown, (event)=>{
|
|
1218
479
|
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey; // select should not be navigated using tab key so we prevent it
|
|
1219
480
|
if (event.key === 'Tab') event.preventDefault();
|
|
@@ -1250,12 +511,185 @@ const $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ forwardRef((props,
|
|
|
1250
511
|
})
|
|
1251
512
|
}))))));
|
|
1252
513
|
});
|
|
514
|
+
const $cc7e05a45900e73f$var$SelectItemAlignedPosition = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
515
|
+
const { __scopeSelect: __scopeSelect , onPlaced: onPlaced , ...popperProps } = props;
|
|
516
|
+
const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);
|
|
517
|
+
const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);
|
|
518
|
+
const [contentWrapper, setContentWrapper] = useState(null);
|
|
519
|
+
const [content, setContent] = useState(null);
|
|
520
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setContent(node)
|
|
521
|
+
);
|
|
522
|
+
const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);
|
|
523
|
+
const shouldExpandOnScrollRef = useRef(false);
|
|
524
|
+
const shouldRepositionRef = useRef(true);
|
|
525
|
+
const { viewport: viewport , selectedItem: selectedItem , selectedItemText: selectedItemText , focusSelectedItem: focusSelectedItem } = contentContext;
|
|
526
|
+
const position = useCallback(()=>{
|
|
527
|
+
if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
|
|
528
|
+
const triggerRect = context.trigger.getBoundingClientRect(); // -----------------------------------------------------------------------------------------
|
|
529
|
+
// Horizontal positioning
|
|
530
|
+
// -----------------------------------------------------------------------------------------
|
|
531
|
+
const contentRect = content.getBoundingClientRect();
|
|
532
|
+
const valueNodeRect = context.valueNode.getBoundingClientRect();
|
|
533
|
+
const itemTextRect = selectedItemText.getBoundingClientRect();
|
|
534
|
+
if (context.dir !== 'rtl') {
|
|
535
|
+
const itemTextOffset = itemTextRect.left - contentRect.left;
|
|
536
|
+
const left = valueNodeRect.left - itemTextOffset;
|
|
537
|
+
const leftDelta = triggerRect.left - left;
|
|
538
|
+
const minContentWidth = triggerRect.width + leftDelta;
|
|
539
|
+
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
540
|
+
const rightEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
541
|
+
const clampedLeft = $ae6933e535247d3d$export$7d15b64cf5a3a4c4(left, [
|
|
542
|
+
$cc7e05a45900e73f$var$CONTENT_MARGIN,
|
|
543
|
+
rightEdge - contentWidth
|
|
544
|
+
]);
|
|
545
|
+
contentWrapper.style.minWidth = minContentWidth + 'px';
|
|
546
|
+
contentWrapper.style.left = clampedLeft + 'px';
|
|
547
|
+
} else {
|
|
548
|
+
const itemTextOffset = contentRect.right - itemTextRect.right;
|
|
549
|
+
const right = window.innerWidth - valueNodeRect.right - itemTextOffset;
|
|
550
|
+
const rightDelta = window.innerWidth - triggerRect.right - right;
|
|
551
|
+
const minContentWidth = triggerRect.width + rightDelta;
|
|
552
|
+
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
553
|
+
const leftEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
554
|
+
const clampedRight = $ae6933e535247d3d$export$7d15b64cf5a3a4c4(right, [
|
|
555
|
+
$cc7e05a45900e73f$var$CONTENT_MARGIN,
|
|
556
|
+
leftEdge - contentWidth
|
|
557
|
+
]);
|
|
558
|
+
contentWrapper.style.minWidth = minContentWidth + 'px';
|
|
559
|
+
contentWrapper.style.right = clampedRight + 'px';
|
|
560
|
+
} // -----------------------------------------------------------------------------------------
|
|
561
|
+
// Vertical positioning
|
|
562
|
+
// -----------------------------------------------------------------------------------------
|
|
563
|
+
const items = getItems();
|
|
564
|
+
const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;
|
|
565
|
+
const itemsHeight = viewport.scrollHeight;
|
|
566
|
+
const contentStyles = window.getComputedStyle(content);
|
|
567
|
+
const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);
|
|
568
|
+
const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);
|
|
569
|
+
const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);
|
|
570
|
+
const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);
|
|
571
|
+
const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore
|
|
572
|
+
const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);
|
|
573
|
+
const viewportStyles = window.getComputedStyle(viewport);
|
|
574
|
+
const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);
|
|
575
|
+
const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);
|
|
576
|
+
const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - $cc7e05a45900e73f$var$CONTENT_MARGIN;
|
|
577
|
+
const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;
|
|
578
|
+
const selectedItemHalfHeight = selectedItem.offsetHeight / 2;
|
|
579
|
+
const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;
|
|
580
|
+
const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;
|
|
581
|
+
const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
|
|
582
|
+
const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
|
|
583
|
+
if (willAlignWithoutTopOverflow) {
|
|
584
|
+
const isLastItem = selectedItem === items[items.length - 1].ref.current;
|
|
585
|
+
contentWrapper.style.bottom = "0px";
|
|
586
|
+
const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
|
|
587
|
+
const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);
|
|
588
|
+
const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
|
|
589
|
+
contentWrapper.style.height = height + 'px';
|
|
590
|
+
} else {
|
|
591
|
+
const isFirstItem = selectedItem === items[0].ref.current;
|
|
592
|
+
contentWrapper.style.top = "0px";
|
|
593
|
+
const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);
|
|
594
|
+
const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;
|
|
595
|
+
contentWrapper.style.height = height + 'px';
|
|
596
|
+
viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;
|
|
597
|
+
}
|
|
598
|
+
contentWrapper.style.margin = `${$cc7e05a45900e73f$var$CONTENT_MARGIN}px 0`;
|
|
599
|
+
contentWrapper.style.minHeight = minContentHeight + 'px';
|
|
600
|
+
contentWrapper.style.maxHeight = availableHeight + 'px'; // -----------------------------------------------------------------------------------------
|
|
601
|
+
onPlaced === null || onPlaced === void 0 || onPlaced(); // we don't want the initial scroll position adjustment to trigger "expand on scroll"
|
|
602
|
+
// so we explicitly turn it on only after they've registered.
|
|
603
|
+
requestAnimationFrame(()=>shouldExpandOnScrollRef.current = true
|
|
604
|
+
);
|
|
605
|
+
}
|
|
606
|
+
}, [
|
|
607
|
+
getItems,
|
|
608
|
+
context.trigger,
|
|
609
|
+
context.valueNode,
|
|
610
|
+
contentWrapper,
|
|
611
|
+
content,
|
|
612
|
+
viewport,
|
|
613
|
+
selectedItem,
|
|
614
|
+
selectedItemText,
|
|
615
|
+
context.dir,
|
|
616
|
+
onPlaced
|
|
617
|
+
]);
|
|
618
|
+
$9f79659886946c16$export$e5c5a5f917a5871c(()=>position()
|
|
619
|
+
, [
|
|
620
|
+
position
|
|
621
|
+
]); // copy z-index from content to wrapper
|
|
622
|
+
const [contentZIndex, setContentZIndex] = useState();
|
|
623
|
+
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
624
|
+
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
625
|
+
}, [
|
|
626
|
+
content
|
|
627
|
+
]); // When the viewport becomes scrollable at the top, the scroll up button will mount.
|
|
628
|
+
// Because it is part of the normal flow, it will push down the viewport, thus throwing our
|
|
629
|
+
// trigger => selectedItem alignment off by the amount the viewport was pushed down.
|
|
630
|
+
// We wait for this to happen and then re-run the positining logic one more time to account for it.
|
|
631
|
+
const handleScrollButtonChange = useCallback((node)=>{
|
|
632
|
+
if (node && shouldRepositionRef.current === true) {
|
|
633
|
+
position();
|
|
634
|
+
focusSelectedItem === null || focusSelectedItem === void 0 || focusSelectedItem();
|
|
635
|
+
shouldRepositionRef.current = false;
|
|
636
|
+
}
|
|
637
|
+
}, [
|
|
638
|
+
position,
|
|
639
|
+
focusSelectedItem
|
|
640
|
+
]);
|
|
641
|
+
return /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectViewportProvider, {
|
|
642
|
+
scope: __scopeSelect,
|
|
643
|
+
contentWrapper: contentWrapper,
|
|
644
|
+
shouldExpandOnScrollRef: shouldExpandOnScrollRef,
|
|
645
|
+
onScrollButtonChange: handleScrollButtonChange
|
|
646
|
+
}, /*#__PURE__*/ createElement("div", {
|
|
647
|
+
ref: setContentWrapper,
|
|
648
|
+
style: {
|
|
649
|
+
display: 'flex',
|
|
650
|
+
flexDirection: 'column',
|
|
651
|
+
position: 'fixed',
|
|
652
|
+
zIndex: contentZIndex
|
|
653
|
+
}
|
|
654
|
+
}, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({}, popperProps, {
|
|
655
|
+
ref: composedRefs,
|
|
656
|
+
style: {
|
|
657
|
+
// When we get the height of the content, it includes borders. If we were to set
|
|
658
|
+
// the height without having `boxSizing: 'border-box'` it would be too big.
|
|
659
|
+
boxSizing: 'border-box',
|
|
660
|
+
// We need to ensure the content doesn't get taller than the wrapper
|
|
661
|
+
maxHeight: '100%',
|
|
662
|
+
...popperProps.style
|
|
663
|
+
}
|
|
664
|
+
}))));
|
|
665
|
+
});
|
|
666
|
+
const $cc7e05a45900e73f$var$SelectPopperPosition = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
667
|
+
const { __scopeSelect: __scopeSelect , align: align = 'start' , collisionPadding: collisionPadding = $cc7e05a45900e73f$var$CONTENT_MARGIN , ...popperProps } = props;
|
|
668
|
+
const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);
|
|
669
|
+
return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2, _extends({}, popperScope, popperProps, {
|
|
670
|
+
ref: forwardedRef,
|
|
671
|
+
align: align,
|
|
672
|
+
collisionPadding: collisionPadding,
|
|
673
|
+
style: {
|
|
674
|
+
// Ensure border-box for floating-ui calculations
|
|
675
|
+
boxSizing: 'border-box',
|
|
676
|
+
...popperProps.style,
|
|
677
|
+
'--radix-select-content-transform-origin': 'var(--radix-popper-transform-origin)',
|
|
678
|
+
'--radix-select-content-available-width': 'var(--radix-popper-available-width)',
|
|
679
|
+
'--radix-select-content-available-height': 'var(--radix-popper-available-height)',
|
|
680
|
+
'--radix-select-trigger-width': 'var(--radix-popper-anchor-width)',
|
|
681
|
+
'--radix-select-trigger-height': 'var(--radix-popper-anchor-height)'
|
|
682
|
+
}
|
|
683
|
+
}));
|
|
684
|
+
});
|
|
1253
685
|
/* -------------------------------------------------------------------------------------------------
|
|
1254
686
|
* SelectViewport
|
|
1255
|
-
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$
|
|
687
|
+
* -----------------------------------------------------------------------------------------------*/ const [$cc7e05a45900e73f$var$SelectViewportProvider, $cc7e05a45900e73f$var$useSelectViewportContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, {});
|
|
688
|
+
const $cc7e05a45900e73f$var$VIEWPORT_NAME = 'SelectViewport';
|
|
1256
689
|
const $cc7e05a45900e73f$export$9ed6e7b40248d36d = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
1257
690
|
const { __scopeSelect: __scopeSelect , ...viewportProps } = props;
|
|
1258
691
|
const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);
|
|
692
|
+
const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);
|
|
1259
693
|
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, contentContext.onViewportChange);
|
|
1260
694
|
const prevScrollTopRef = useRef(0);
|
|
1261
695
|
return /*#__PURE__*/ createElement(Fragment, null, /*#__PURE__*/ createElement("style", {
|
|
@@ -1280,7 +714,7 @@ const $cc7e05a45900e73f$export$9ed6e7b40248d36d = /*#__PURE__*/ forwardRef((prop
|
|
|
1280
714
|
},
|
|
1281
715
|
onScroll: $e42e1063c40fb3ef$export$b9ecd428b558ff10(viewportProps.onScroll, (event)=>{
|
|
1282
716
|
const viewport = event.currentTarget;
|
|
1283
|
-
const { contentWrapper: contentWrapper , shouldExpandOnScrollRef: shouldExpandOnScrollRef } =
|
|
717
|
+
const { contentWrapper: contentWrapper , shouldExpandOnScrollRef: shouldExpandOnScrollRef } = viewportContext;
|
|
1284
718
|
if (shouldExpandOnScrollRef !== null && shouldExpandOnScrollRef !== void 0 && shouldExpandOnScrollRef.current && contentWrapper) {
|
|
1285
719
|
const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);
|
|
1286
720
|
if (scrolledBy > 0) {
|
|
@@ -1330,6 +764,7 @@ const $cc7e05a45900e73f$export$13ef48a934230896 = /*#__PURE__*/ forwardRef((prop
|
|
|
1330
764
|
context.onOpenChange(false);
|
|
1331
765
|
}
|
|
1332
766
|
};
|
|
767
|
+
if (value === '') throw new Error('A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.');
|
|
1333
768
|
return /*#__PURE__*/ createElement($cc7e05a45900e73f$var$SelectItemContextProvider, {
|
|
1334
769
|
scope: __scopeSelect,
|
|
1335
770
|
value: value,
|
|
@@ -1449,8 +884,9 @@ const $cc7e05a45900e73f$export$6b9198de19accfe6 = /*#__PURE__*/ forwardRef((prop
|
|
|
1449
884
|
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';
|
|
1450
885
|
const $cc7e05a45900e73f$export$d8117927658af6d7 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
1451
886
|
const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
|
887
|
+
const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
|
|
1452
888
|
const [canScrollUp1, setCanScrollUp] = useState(false);
|
|
1453
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef,
|
|
889
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, viewportContext.onScrollButtonChange);
|
|
1454
890
|
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
1455
891
|
if (contentContext.viewport && contentContext.isPositioned) {
|
|
1456
892
|
const viewport = contentContext.viewport;
|
|
@@ -1480,8 +916,9 @@ const $cc7e05a45900e73f$export$d8117927658af6d7 = /*#__PURE__*/ forwardRef((prop
|
|
|
1480
916
|
* -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';
|
|
1481
917
|
const $cc7e05a45900e73f$export$ff951e476c12189 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
1482
918
|
const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
|
919
|
+
const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
|
|
1483
920
|
const [canScrollDown1, setCanScrollDown] = useState(false);
|
|
1484
|
-
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef,
|
|
921
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, viewportContext.onScrollButtonChange);
|
|
1485
922
|
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
1486
923
|
if (contentContext.viewport && contentContext.isPositioned) {
|
|
1487
924
|
const viewport = contentContext.viewport;
|
|
@@ -1546,6 +983,9 @@ const $cc7e05a45900e73f$var$SelectScrollButtonImpl = /*#__PURE__*/ forwardRef((p
|
|
|
1546
983
|
flexShrink: 0,
|
|
1547
984
|
...scrollIndicatorProps.style
|
|
1548
985
|
},
|
|
986
|
+
onPointerDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(scrollIndicatorProps.onPointerDown, ()=>{
|
|
987
|
+
if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
|
988
|
+
}),
|
|
1549
989
|
onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(scrollIndicatorProps.onPointerMove, ()=>{
|
|
1550
990
|
var _contentContext$onIte3;
|
|
1551
991
|
(_contentContext$onIte3 = contentContext.onItemLeave) === null || _contentContext$onIte3 === void 0 || _contentContext$onIte3.call(contentContext);
|
|
@@ -1556,7 +996,10 @@ const $cc7e05a45900e73f$var$SelectScrollButtonImpl = /*#__PURE__*/ forwardRef((p
|
|
|
1556
996
|
})
|
|
1557
997
|
}));
|
|
1558
998
|
});
|
|
1559
|
-
/* -----------------------------------------------------------------------------------------------*/
|
|
999
|
+
/* -----------------------------------------------------------------------------------------------*/ function $cc7e05a45900e73f$var$shouldShowPlaceholder(value) {
|
|
1000
|
+
return value === '' || value === undefined;
|
|
1001
|
+
}
|
|
1002
|
+
const $cc7e05a45900e73f$var$BubbleSelect = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
|
|
1560
1003
|
const { value: value , ...selectProps } = props;
|
|
1561
1004
|
const ref = useRef(null);
|
|
1562
1005
|
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
|
|
@@ -1678,14 +1121,16 @@ const $cc7e05a45900e73f$export$bf1aedc3039c8d63 = $cc7e05a45900e73f$export$ff951
|
|
|
1678
1121
|
/** Use `Select` to choose from a dropdown list of options. */
|
|
1679
1122
|
var Select = function (_a) {
|
|
1680
1123
|
var _b;
|
|
1681
|
-
var isRequired = _a.isRequired, isDisabled = _a.isDisabled, placeholder = _a.placeholder, label = _a.label, _c = _a.ariaLabel, ariaLabel = _c === void 0 ? label : _c, options = _a.options, onOpenChange = _a.onOpenChange, isDefaultOpen = _a.isDefaultOpen, defaultValue = _a.defaultValue, errorMessage = _a.errorMessage, labelSize = _a.labelSize, helper = _a.helper, name = _a.name, isFluid = _a.isFluid, onBlur = _a.onBlur, onChange = _a.onChange, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, _d = _a.selectSize, selectSize = _d === void 0 ? "m" : _d, props = __rest(_a, ["isRequired", "isDisabled", "placeholder", "label", "ariaLabel", "options", "onOpenChange", "isDefaultOpen", "defaultValue", "errorMessage", "labelSize", "helper", "name", "isFluid", "onBlur", "onChange", "disclosureTitle", "disclosureText", "onClickDisclosure", "selectSize"]);
|
|
1124
|
+
var isRequired = _a.isRequired, isDisabled = _a.isDisabled, placeholder = _a.placeholder, label = _a.label, value = _a.value, _c = _a.ariaLabel, ariaLabel = _c === void 0 ? label : _c, options = _a.options, onOpenChange = _a.onOpenChange, isDefaultOpen = _a.isDefaultOpen, defaultValue = _a.defaultValue, errorMessage = _a.errorMessage, labelSize = _a.labelSize, helper = _a.helper, hideLabel = _a.hideLabel, name = _a.name, width = _a.width, isFluid = _a.isFluid, onBlur = _a.onBlur, onChange = _a.onChange, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, _d = _a.selectSize, selectSize = _d === void 0 ? "m" : _d, props = __rest(_a, ["isRequired", "isDisabled", "placeholder", "label", "value", "ariaLabel", "options", "onOpenChange", "isDefaultOpen", "defaultValue", "errorMessage", "labelSize", "helper", "hideLabel", "name", "width", "isFluid", "onBlur", "onChange", "disclosureTitle", "disclosureText", "onClickDisclosure", "selectSize"]);
|
|
1682
1125
|
var id = useId();
|
|
1683
|
-
var
|
|
1126
|
+
var _e = useThemeElement(), themeElement = _e[0], setThemeElement = _e[1];
|
|
1684
1127
|
var surface = useContext(Context).surface;
|
|
1685
|
-
var
|
|
1128
|
+
var _f = useState(defaultValue), uncontrolledValue = _f[0], setUncontrolledValue = _f[1];
|
|
1129
|
+
var isControlled = typeof value !== "undefined";
|
|
1130
|
+
var selectValue = isControlled ? value : uncontrolledValue;
|
|
1686
1131
|
var onValueChange = function (value) {
|
|
1687
1132
|
onChange && onChange(value);
|
|
1688
|
-
|
|
1133
|
+
setUncontrolledValue(value);
|
|
1689
1134
|
};
|
|
1690
1135
|
var getSelectedValueName = function (value) {
|
|
1691
1136
|
var _a;
|
|
@@ -1701,35 +1146,36 @@ var Select = function (_a) {
|
|
|
1701
1146
|
return 20;
|
|
1702
1147
|
}
|
|
1703
1148
|
};
|
|
1704
|
-
return (React__default.createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", isDisabled: isDisabled, disclosureText: disclosureText, disclosureTitle: disclosureTitle, onClickDisclosure: onClickDisclosure },
|
|
1705
|
-
React__default.createElement($cc7e05a45900e73f$export$be92b6f5f03c0fe9, { name: name, required: isRequired, disabled: isDisabled, defaultOpen: isDefaultOpen, value:
|
|
1706
|
-
React__default.createElement(
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
React__default.createElement(
|
|
1716
|
-
|
|
1717
|
-
React__default.createElement($cc7e05a45900e73f$export$
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
React__default.createElement(
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
React__default.createElement(
|
|
1726
|
-
React__default.createElement(
|
|
1727
|
-
React__default.createElement(
|
|
1728
|
-
|
|
1729
|
-
React__default.createElement(
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
React__default.createElement(
|
|
1149
|
+
return (React__default.createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, hideLabel: hideLabel, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", isDisabled: isDisabled, disclosureText: disclosureText, disclosureTitle: disclosureTitle, onClickDisclosure: onClickDisclosure },
|
|
1150
|
+
React__default.createElement($cc7e05a45900e73f$export$be92b6f5f03c0fe9, { name: name, required: isRequired, disabled: isDisabled, defaultOpen: isDefaultOpen, value: selectValue, onOpenChange: onOpenChange, onValueChange: function (value) { return onValueChange(value); } },
|
|
1151
|
+
React__default.createElement("div", { ref: setThemeElement, className: "arc-Select-wrapper" },
|
|
1152
|
+
React__default.createElement($cc7e05a45900e73f$export$41fb9f06171c75f4, __assign({ id: id, name: name, onBlur: onBlur, "aria-label": ariaLabel, style: { width: width }, className: classNames("arc-Select-trigger", (_b = {
|
|
1153
|
+
"arc-Select-trigger--constrained": !isFluid,
|
|
1154
|
+
"arc-Select-trigger--onDarkSurface": surface === "dark",
|
|
1155
|
+
"arc-Select-trigger--invalid": errorMessage
|
|
1156
|
+
},
|
|
1157
|
+
_b["arc-Select-trigger--size".concat(selectSize && selectSize.toUpperCase())] = selectSize && selectSize !== "m",
|
|
1158
|
+
_b)), "aria-describedby": "".concat(id, "-helper") }, filterDataAttrs(props)),
|
|
1159
|
+
React__default.createElement($cc7e05a45900e73f$export$4c8d1a57a761ef94, { className: "arc-Select-triggerText", placeholder: placeholder, "aria-label": getSelectedValueName(uncontrolledValue) }),
|
|
1160
|
+
React__default.createElement($cc7e05a45900e73f$export$f04a61298a47a40f, { className: "arc-Select-triggerIcon" },
|
|
1161
|
+
React__default.createElement(ThemeIcon, { size: getIconSize(selectSize), icon: "selectTrigger" }))),
|
|
1162
|
+
React__default.createElement($cc7e05a45900e73f$export$602eac185826482c, { container: themeElement },
|
|
1163
|
+
React__default.createElement($cc7e05a45900e73f$export$7c6e2c02157bb7d2, { sideOffset: 5, position: "popper", className: classNames("arc-Select-content", {
|
|
1164
|
+
"arc-Select-content--onDarkSurface": surface === "dark"
|
|
1165
|
+
}) },
|
|
1166
|
+
React__default.createElement($cc7e05a45900e73f$export$2f60d3ec9ad468f2, { className: "arc-Select-scrollButton" },
|
|
1167
|
+
React__default.createElement(ThemeIcon, { size: 16, icon: "selectScrollUp" })),
|
|
1168
|
+
React__default.createElement($cc7e05a45900e73f$export$d5c6c08dc2d3ca7, null, options.map(function (_a, i) {
|
|
1169
|
+
var name = _a.name, value = _a.value;
|
|
1170
|
+
return (React__default.createElement($cc7e05a45900e73f$export$6d08773d2e66f8f2, { className: "arc-Select-item", key: "select-item-".concat(i), value: value },
|
|
1171
|
+
React__default.createElement("div", { className: "arc-Select-itemTextWrapper" },
|
|
1172
|
+
React__default.createElement($cc7e05a45900e73f$export$d6e5bf9c43ea9319, { asChild: true },
|
|
1173
|
+
React__default.createElement("span", { className: "arc-Select-itemText" }, name))),
|
|
1174
|
+
React__default.createElement($cc7e05a45900e73f$export$c3468e2714d175fa, null,
|
|
1175
|
+
React__default.createElement(ThemeIcon, { size: 20, icon: "selectIndicator" }))));
|
|
1176
|
+
})),
|
|
1177
|
+
React__default.createElement($cc7e05a45900e73f$export$bf1aedc3039c8d63, { className: "arc-Select-scrollButton" },
|
|
1178
|
+
React__default.createElement(ThemeIcon, { size: 16, icon: "selectScrollDown" }))))))));
|
|
1733
1179
|
};
|
|
1734
1180
|
|
|
1735
1181
|
export { Select };
|