@plaidlabs/ui 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/basic/avatar/Avatar.css.d.ts +53 -0
- package/dist/components/basic/avatar/Avatar.d.ts +13 -0
- package/dist/components/basic/avatar/Avatar.stories.d.ts +38 -0
- package/dist/components/basic/avatar/index.d.ts +2 -0
- package/dist/components/basic/bottom-tab/BottomTab.css.d.ts +33 -0
- package/dist/components/basic/bottom-tab/BottomTab.d.ts +14 -0
- package/dist/components/basic/bottom-tab/BottomTab.stories.d.ts +24 -0
- package/dist/components/basic/bottom-tab/index.d.ts +2 -0
- package/dist/components/basic/button/Button.css.d.ts +58 -0
- package/dist/components/basic/button/Button.d.ts +17 -0
- package/dist/components/basic/button/Button.stories.d.ts +45 -0
- package/dist/components/basic/button/index.d.ts +2 -0
- package/dist/components/basic/checkbox/Checkbox.css.d.ts +64 -0
- package/dist/components/basic/checkbox/Checkbox.d.ts +10 -0
- package/dist/components/basic/checkbox/Checkbox.stories.d.ts +45 -0
- package/dist/components/basic/checkbox/index.d.ts +2 -0
- package/dist/components/basic/chip/Chip.css.d.ts +46 -0
- package/dist/components/basic/chip/Chip.d.ts +16 -0
- package/dist/components/basic/chip/Chip.stories.d.ts +50 -0
- package/dist/components/basic/chip/index.d.ts +2 -0
- package/dist/components/basic/close/Close.css.d.ts +15 -0
- package/dist/components/basic/close/Close.d.ts +10 -0
- package/dist/components/basic/close/Close.stories.d.ts +39 -0
- package/dist/components/basic/close/index.d.ts +2 -0
- package/dist/components/basic/guide-text/GuideText.css.d.ts +17 -0
- package/dist/components/basic/guide-text/GuideText.d.ts +8 -0
- package/dist/components/basic/guide-text/GuideText.stories.d.ts +34 -0
- package/dist/components/basic/guide-text/index.d.ts +2 -0
- package/dist/components/basic/link/Link.css.d.ts +17 -0
- package/dist/components/basic/link/Link.d.ts +11 -0
- package/dist/components/basic/link/Link.stories.d.ts +44 -0
- package/dist/components/basic/link/index.d.ts +2 -0
- package/dist/components/basic/lnb-item/LnbItem.css.d.ts +54 -0
- package/dist/components/basic/lnb-item/LnbItem.d.ts +22 -0
- package/dist/components/basic/lnb-item/LnbItem.stories.d.ts +59 -0
- package/dist/components/basic/lnb-item/index.d.ts +2 -0
- package/dist/components/basic/loading/Loading.css.d.ts +70 -0
- package/dist/components/basic/loading/Loading.d.ts +9 -0
- package/dist/components/basic/loading/Loading.stories.d.ts +34 -0
- package/dist/components/basic/loading/index.d.ts +2 -0
- package/dist/components/basic/notice/Notice.css.d.ts +27 -0
- package/dist/components/basic/notice/Notice.d.ts +9 -0
- package/dist/components/basic/notice/Notice.stories.d.ts +38 -0
- package/dist/components/basic/notice/index.d.ts +2 -0
- package/dist/components/basic/page-header/PageHeader.css.d.ts +16 -0
- package/dist/components/basic/page-header/PageHeader.d.ts +12 -0
- package/dist/components/basic/page-header/PageHeader.stories.d.ts +47 -0
- package/dist/components/basic/page-header/index.d.ts +2 -0
- package/dist/components/basic/pagination/Pagination.css.d.ts +30 -0
- package/dist/components/basic/pagination/Pagination.d.ts +9 -0
- package/dist/components/basic/pagination/Pagination.stories.d.ts +52 -0
- package/dist/components/basic/pagination/index.d.ts +2 -0
- package/dist/components/basic/stepper/Stepper.css.d.ts +34 -0
- package/dist/components/basic/stepper/Stepper.d.ts +10 -0
- package/dist/components/basic/stepper/Stepper.stories.d.ts +46 -0
- package/dist/components/basic/stepper/index.d.ts +2 -0
- package/dist/components/basic/tab/Tab.css.d.ts +3 -0
- package/dist/components/basic/tab/Tab.d.ts +22 -0
- package/dist/components/basic/tab/Tab.stories.d.ts +14 -0
- package/dist/components/basic/tab/index.d.ts +2 -0
- package/dist/components/basic/text-area/TextArea.css.d.ts +69 -0
- package/dist/components/basic/text-area/TextArea.d.ts +10 -0
- package/dist/components/basic/text-area/TextArea.stories.d.ts +42 -0
- package/dist/components/basic/text-area/index.d.ts +2 -0
- package/dist/components/basic/text-field/TextField.css.d.ts +84 -0
- package/dist/components/basic/text-field/TextField.d.ts +12 -0
- package/dist/components/basic/text-field/TextField.stories.d.ts +38 -0
- package/dist/components/basic/text-field/index.d.ts +2 -0
- package/dist/components/basic/toggle/Toggle.css.d.ts +52 -0
- package/dist/components/basic/toggle/Toggle.d.ts +9 -0
- package/dist/components/basic/toggle/Toggle.stories.d.ts +31 -0
- package/dist/components/basic/toggle/index.d.ts +2 -0
- package/dist/components/complex/dropdown/Dropdown.d.ts +22 -0
- package/dist/components/complex/dropdown/Dropdown.stories.d.ts +93 -0
- package/dist/components/complex/dropdown/dropdown.css.d.ts +63 -0
- package/dist/components/complex/dropdown/index.d.ts +2 -0
- package/dist/components/complex/modal/Modal.css.d.ts +49 -0
- package/dist/components/complex/modal/Modal.d.ts +42 -0
- package/dist/components/complex/modal/Modal.stories.d.ts +24 -0
- package/dist/components/complex/modal/index.d.ts +2 -0
- package/dist/components/complex/popup/Popup.css.d.ts +40 -0
- package/dist/components/complex/popup/Popup.d.ts +42 -0
- package/dist/components/complex/popup/Popup.stories.d.ts +25 -0
- package/dist/components/complex/popup/index.d.ts +2 -0
- package/dist/components/index.d.ts +19 -0
- package/dist/icons/components/filled/IconOnline.d.ts +3 -0
- package/dist/icons/components/filled/IconUserProfile.d.ts +3 -0
- package/dist/icons/components/filled/index.d.ts +9 -0
- package/dist/icons/components/outline/IconActivity.d.ts +3 -0
- package/dist/icons/components/outline/IconAlertOctagon.d.ts +3 -0
- package/dist/icons/components/outline/IconAlignCenter.d.ts +3 -0
- package/dist/icons/components/outline/IconAlignJustify.d.ts +3 -0
- package/dist/icons/components/outline/IconAlignLeft.d.ts +3 -0
- package/dist/icons/components/outline/IconAlignRight.d.ts +3 -0
- package/dist/icons/components/outline/IconAnchor.d.ts +3 -0
- package/dist/icons/components/outline/IconArchive.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowCircleDown.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowCircleLeft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowCircleRight.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowCircleUp.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalDownleft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalDownleftSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalDownright.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalDownrightSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalUpleft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalUpleftSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalUpright.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDiagonalUprightSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDown.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDownSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDownleft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowDownright.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowLeft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowLeftSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowLeftdown.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowLeftup.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowRight.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowRightSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowRightdown.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowRightup.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowUp.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowUpSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowUpleft.d.ts +3 -0
- package/dist/icons/components/outline/IconArrowUpright.d.ts +3 -0
- package/dist/icons/components/outline/IconAward.d.ts +3 -0
- package/dist/icons/components/outline/IconBarChart1.d.ts +3 -0
- package/dist/icons/components/outline/IconBarChart2.d.ts +3 -0
- package/dist/icons/components/outline/IconBattery.d.ts +3 -0
- package/dist/icons/components/outline/IconBatteryCharging.d.ts +3 -0
- package/dist/icons/components/outline/IconBell.d.ts +3 -0
- package/dist/icons/components/outline/IconBellOff.d.ts +3 -0
- package/dist/icons/components/outline/IconBluetooth.d.ts +3 -0
- package/dist/icons/components/outline/IconBold.d.ts +3 -0
- package/dist/icons/components/outline/IconBook.d.ts +3 -0
- package/dist/icons/components/outline/IconBookOpen.d.ts +3 -0
- package/dist/icons/components/outline/IconBookmark.d.ts +3 -0
- package/dist/icons/components/outline/IconBox.d.ts +3 -0
- package/dist/icons/components/outline/IconBriefcase.d.ts +3 -0
- package/dist/icons/components/outline/IconCalendar.d.ts +3 -0
- package/dist/icons/components/outline/IconCall.d.ts +3 -0
- package/dist/icons/components/outline/IconCallCalling.d.ts +3 -0
- package/dist/icons/components/outline/IconCallForwarded.d.ts +3 -0
- package/dist/icons/components/outline/IconCallIn.d.ts +3 -0
- package/dist/icons/components/outline/IconCallMissed.d.ts +3 -0
- package/dist/icons/components/outline/IconCallOff.d.ts +3 -0
- package/dist/icons/components/outline/IconCallOut.d.ts +3 -0
- package/dist/icons/components/outline/IconCamera.d.ts +3 -0
- package/dist/icons/components/outline/IconCameraOff.d.ts +3 -0
- package/dist/icons/components/outline/IconCard.d.ts +3 -0
- package/dist/icons/components/outline/IconCast.d.ts +3 -0
- package/dist/icons/components/outline/IconCenter.d.ts +3 -0
- package/dist/icons/components/outline/IconChatCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconChatRectangle.d.ts +3 -0
- package/dist/icons/components/outline/IconCheck.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2Down.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2DownLight.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2Left.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2LeftLight.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2Right.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2RightLight.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2Up.d.ts +3 -0
- package/dist/icons/components/outline/IconChevron2UpLight.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronDown.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronDownSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronLeft.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronLeftSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronRight.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronRightSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronUp.d.ts +3 -0
- package/dist/icons/components/outline/IconChevronUpSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconClip.d.ts +3 -0
- package/dist/icons/components/outline/IconClipboard.d.ts +3 -0
- package/dist/icons/components/outline/IconClock.d.ts +3 -0
- package/dist/icons/components/outline/IconCloud.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudDownload.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudLighting.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudRain1.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudRain2.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudSnow.d.ts +3 -0
- package/dist/icons/components/outline/IconCloudUpload.d.ts +3 -0
- package/dist/icons/components/outline/IconCode.d.ts +3 -0
- package/dist/icons/components/outline/IconCoffee.d.ts +3 -0
- package/dist/icons/components/outline/IconCoin.d.ts +3 -0
- package/dist/icons/components/outline/IconColumn.d.ts +3 -0
- package/dist/icons/components/outline/IconCompass.d.ts +3 -0
- package/dist/icons/components/outline/IconCopy.d.ts +3 -0
- package/dist/icons/components/outline/IconCpu.d.ts +3 -0
- package/dist/icons/components/outline/IconCrop.d.ts +3 -0
- package/dist/icons/components/outline/IconCrosshair.d.ts +3 -0
- package/dist/icons/components/outline/IconDelete.d.ts +3 -0
- package/dist/icons/components/outline/IconDisc.d.ts +3 -0
- package/dist/icons/components/outline/IconDollar.d.ts +3 -0
- package/dist/icons/components/outline/IconDownload.d.ts +3 -0
- package/dist/icons/components/outline/IconDroplet.d.ts +3 -0
- package/dist/icons/components/outline/IconEdit1.d.ts +3 -0
- package/dist/icons/components/outline/IconEdit2.d.ts +3 -0
- package/dist/icons/components/outline/IconEdit3.d.ts +3 -0
- package/dist/icons/components/outline/IconEnergy.d.ts +3 -0
- package/dist/icons/components/outline/IconEnergyOff.d.ts +3 -0
- package/dist/icons/components/outline/IconExternalLink.d.ts +3 -0
- package/dist/icons/components/outline/IconEye.d.ts +3 -0
- package/dist/icons/components/outline/IconEyeOff.d.ts +3 -0
- package/dist/icons/components/outline/IconFastForward.d.ts +3 -0
- package/dist/icons/components/outline/IconFeather.d.ts +3 -0
- package/dist/icons/components/outline/IconFileMinus.d.ts +3 -0
- package/dist/icons/components/outline/IconFilePlus.d.ts +3 -0
- package/dist/icons/components/outline/IconFilm.d.ts +3 -0
- package/dist/icons/components/outline/IconFlag.d.ts +3 -0
- package/dist/icons/components/outline/IconFlter.d.ts +3 -0
- package/dist/icons/components/outline/IconFocus.d.ts +3 -0
- package/dist/icons/components/outline/IconFolder.d.ts +3 -0
- package/dist/icons/components/outline/IconFolderMinus.d.ts +3 -0
- package/dist/icons/components/outline/IconFolderPlus.d.ts +3 -0
- package/dist/icons/components/outline/IconFrame.d.ts +3 -0
- package/dist/icons/components/outline/IconFrown.d.ts +3 -0
- package/dist/icons/components/outline/IconGift.d.ts +3 -0
- package/dist/icons/components/outline/IconGlobe.d.ts +3 -0
- package/dist/icons/components/outline/IconGrid.d.ts +3 -0
- package/dist/icons/components/outline/IconHardDrive.d.ts +3 -0
- package/dist/icons/components/outline/IconHash.d.ts +3 -0
- package/dist/icons/components/outline/IconHeadphones.d.ts +3 -0
- package/dist/icons/components/outline/IconHeart.d.ts +3 -0
- package/dist/icons/components/outline/IconHelpCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconHelpCircleSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconHexagon.d.ts +3 -0
- package/dist/icons/components/outline/IconHome.d.ts +3 -0
- package/dist/icons/components/outline/IconImage.d.ts +3 -0
- package/dist/icons/components/outline/IconInbox.d.ts +3 -0
- package/dist/icons/components/outline/IconInfo.d.ts +3 -0
- package/dist/icons/components/outline/IconInfoSmall.d.ts +3 -0
- package/dist/icons/components/outline/IconItalic.d.ts +3 -0
- package/dist/icons/components/outline/IconKey.d.ts +3 -0
- package/dist/icons/components/outline/IconLayer.d.ts +3 -0
- package/dist/icons/components/outline/IconLayout.d.ts +3 -0
- package/dist/icons/components/outline/IconLifeBuoy.d.ts +3 -0
- package/dist/icons/components/outline/IconLinkDiagonal.d.ts +3 -0
- package/dist/icons/components/outline/IconLinkHorizontal.d.ts +3 -0
- package/dist/icons/components/outline/IconList.d.ts +3 -0
- package/dist/icons/components/outline/IconLoader.d.ts +3 -0
- package/dist/icons/components/outline/IconLock.d.ts +3 -0
- package/dist/icons/components/outline/IconLogin.d.ts +3 -0
- package/dist/icons/components/outline/IconLogout.d.ts +3 -0
- package/dist/icons/components/outline/IconMail.d.ts +3 -0
- package/dist/icons/components/outline/IconMap.d.ts +3 -0
- package/dist/icons/components/outline/IconMaximize.d.ts +3 -0
- package/dist/icons/components/outline/IconMenu.d.ts +3 -0
- package/dist/icons/components/outline/IconMic.d.ts +3 -0
- package/dist/icons/components/outline/IconMicOff.d.ts +3 -0
- package/dist/icons/components/outline/IconMinimize.d.ts +3 -0
- package/dist/icons/components/outline/IconMinus.d.ts +3 -0
- package/dist/icons/components/outline/IconMinusCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconMinusSquare.d.ts +3 -0
- package/dist/icons/components/outline/IconMonitor.d.ts +3 -0
- package/dist/icons/components/outline/IconMoon.d.ts +3 -0
- package/dist/icons/components/outline/IconMoreHorizontal.d.ts +3 -0
- package/dist/icons/components/outline/IconMoreVertical.d.ts +3 -0
- package/dist/icons/components/outline/IconMove.d.ts +3 -0
- package/dist/icons/components/outline/IconMusic.d.ts +3 -0
- package/dist/icons/components/outline/IconNavigation1.d.ts +3 -0
- package/dist/icons/components/outline/IconNavigation2.d.ts +3 -0
- package/dist/icons/components/outline/IconNeutral.d.ts +3 -0
- package/dist/icons/components/outline/IconOctagon.d.ts +3 -0
- package/dist/icons/components/outline/IconPackage.d.ts +3 -0
- package/dist/icons/components/outline/IconPause.d.ts +3 -0
- package/dist/icons/components/outline/IconPauseCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconPercent.d.ts +3 -0
- package/dist/icons/components/outline/IconPhone.d.ts +3 -0
- package/dist/icons/components/outline/IconPiechart.d.ts +3 -0
- package/dist/icons/components/outline/IconPin.d.ts +3 -0
- package/dist/icons/components/outline/IconPlay.d.ts +3 -0
- package/dist/icons/components/outline/IconPlayCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconPlus.d.ts +3 -0
- package/dist/icons/components/outline/IconPlusCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconPlusSquare.d.ts +3 -0
- package/dist/icons/components/outline/IconPocket.d.ts +3 -0
- package/dist/icons/components/outline/IconPower.d.ts +3 -0
- package/dist/icons/components/outline/IconPrinter.d.ts +3 -0
- package/dist/icons/components/outline/IconProhibition.d.ts +3 -0
- package/dist/icons/components/outline/IconRadio.d.ts +3 -0
- package/dist/icons/components/outline/IconRefresh1.d.ts +3 -0
- package/dist/icons/components/outline/IconRefresh2.d.ts +3 -0
- package/dist/icons/components/outline/IconRepeat.d.ts +3 -0
- package/dist/icons/components/outline/IconRewind.d.ts +3 -0
- package/dist/icons/components/outline/IconRollBack.d.ts +3 -0
- package/dist/icons/components/outline/IconRollForward.d.ts +3 -0
- package/dist/icons/components/outline/IconRss.d.ts +3 -0
- package/dist/icons/components/outline/IconSandbox.d.ts +3 -0
- package/dist/icons/components/outline/IconSave.d.ts +3 -0
- package/dist/icons/components/outline/IconScissors.d.ts +3 -0
- package/dist/icons/components/outline/IconSearch.d.ts +3 -0
- package/dist/icons/components/outline/IconSend.d.ts +3 -0
- package/dist/icons/components/outline/IconServer.d.ts +3 -0
- package/dist/icons/components/outline/IconSettings.d.ts +3 -0
- package/dist/icons/components/outline/IconShare1.d.ts +3 -0
- package/dist/icons/components/outline/IconShare2.d.ts +3 -0
- package/dist/icons/components/outline/IconShield.d.ts +3 -0
- package/dist/icons/components/outline/IconShieldOff.d.ts +3 -0
- package/dist/icons/components/outline/IconShoppingBag.d.ts +3 -0
- package/dist/icons/components/outline/IconShoppingCart.d.ts +3 -0
- package/dist/icons/components/outline/IconShuffle.d.ts +3 -0
- package/dist/icons/components/outline/IconSidebar.d.ts +3 -0
- package/dist/icons/components/outline/IconSkipBack.d.ts +3 -0
- package/dist/icons/components/outline/IconSkipForward.d.ts +3 -0
- package/dist/icons/components/outline/IconSliders.d.ts +3 -0
- package/dist/icons/components/outline/IconSmile.d.ts +3 -0
- package/dist/icons/components/outline/IconSpeaker.d.ts +3 -0
- package/dist/icons/components/outline/IconSquare.d.ts +3 -0
- package/dist/icons/components/outline/IconStar.d.ts +3 -0
- package/dist/icons/components/outline/IconStopCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconSun.d.ts +3 -0
- package/dist/icons/components/outline/IconSunrise.d.ts +3 -0
- package/dist/icons/components/outline/IconSunset.d.ts +3 -0
- package/dist/icons/components/outline/IconTablet.d.ts +3 -0
- package/dist/icons/components/outline/IconTag.d.ts +3 -0
- package/dist/icons/components/outline/IconTarget.d.ts +3 -0
- package/dist/icons/components/outline/IconTemperature.d.ts +3 -0
- package/dist/icons/components/outline/IconTextfile.d.ts +3 -0
- package/dist/icons/components/outline/IconThumbsDown.d.ts +3 -0
- package/dist/icons/components/outline/IconThumbsUp.d.ts +3 -0
- package/dist/icons/components/outline/IconTool.d.ts +3 -0
- package/dist/icons/components/outline/IconTrash1.d.ts +3 -0
- package/dist/icons/components/outline/IconTrash2.d.ts +3 -0
- package/dist/icons/components/outline/IconTrendingDown.d.ts +3 -0
- package/dist/icons/components/outline/IconTrendingUp.d.ts +3 -0
- package/dist/icons/components/outline/IconTriangle.d.ts +3 -0
- package/dist/icons/components/outline/IconTruck.d.ts +3 -0
- package/dist/icons/components/outline/IconTv.d.ts +3 -0
- package/dist/icons/components/outline/IconType.d.ts +3 -0
- package/dist/icons/components/outline/IconUmbrella.d.ts +3 -0
- package/dist/icons/components/outline/IconUnderline.d.ts +3 -0
- package/dist/icons/components/outline/IconUnlock.d.ts +3 -0
- package/dist/icons/components/outline/IconUpload.d.ts +3 -0
- package/dist/icons/components/outline/IconUser.d.ts +3 -0
- package/dist/icons/components/outline/IconUserCheck.d.ts +3 -0
- package/dist/icons/components/outline/IconUserMinus.d.ts +3 -0
- package/dist/icons/components/outline/IconUserPlus.d.ts +3 -0
- package/dist/icons/components/outline/IconUserX.d.ts +3 -0
- package/dist/icons/components/outline/IconUsers.d.ts +3 -0
- package/dist/icons/components/outline/IconVideo.d.ts +3 -0
- package/dist/icons/components/outline/IconVideoOff.d.ts +3 -0
- package/dist/icons/components/outline/IconVoicemail.d.ts +3 -0
- package/dist/icons/components/outline/IconVolume.d.ts +3 -0
- package/dist/icons/components/outline/IconVolume1.d.ts +3 -0
- package/dist/icons/components/outline/IconVolume2.d.ts +3 -0
- package/dist/icons/components/outline/IconVolumeX.d.ts +3 -0
- package/dist/icons/components/outline/IconWatch.d.ts +3 -0
- package/dist/icons/components/outline/IconWifi.d.ts +3 -0
- package/dist/icons/components/outline/IconWifiOff.d.ts +3 -0
- package/dist/icons/components/outline/IconWind.d.ts +3 -0
- package/dist/icons/components/outline/IconWireframe.d.ts +3 -0
- package/dist/icons/components/outline/IconX.d.ts +3 -0
- package/dist/icons/components/outline/IconXCircle.d.ts +3 -0
- package/dist/icons/components/outline/IconXOctagon.d.ts +3 -0
- package/dist/icons/components/outline/IconXSquare.d.ts +3 -0
- package/dist/icons/components/outline/IconZoomIn.d.ts +3 -0
- package/dist/icons/components/outline/IconZoomOut.d.ts +3 -0
- package/dist/icons/components/outline/index.d.ts +543 -0
- package/dist/icons/index.d.ts +5 -0
- package/dist/icons/types.d.ts +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +17950 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/tokens/colors.css.d.ts +107 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/typography.css.d.ts +7 -0
- package/package.json +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js","../../../node_modules/clsx/dist/clsx.mjs","../src/icons/components/filled/IconOnline.tsx","../src/icons/components/filled/IconUserProfile.tsx","../../../node_modules/react-aria-components/dist/RSPContexts.mjs","../../../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","../../../node_modules/@react-aria/ssr/dist/SSRProvider.mjs","../../../node_modules/@react-aria/utils/dist/useId.mjs","../../../node_modules/@react-aria/utils/dist/chain.mjs","../../../node_modules/@react-aria/utils/dist/domHelpers.mjs","../../../node_modules/@react-stately/flags/dist/import.mjs","../../../node_modules/@react-aria/utils/dist/DOMFunctions.mjs","../../../node_modules/@react-aria/utils/dist/ShadowTreeWalker.mjs","../../../node_modules/@react-aria/utils/dist/mergeProps.mjs","../../../node_modules/@react-aria/utils/dist/mergeRefs.mjs","../../../node_modules/@react-aria/utils/dist/filterDOMProps.mjs","../../../node_modules/@react-aria/utils/dist/focusWithoutScrolling.mjs","../../../node_modules/@react-aria/utils/dist/platform.mjs","../../../node_modules/@react-aria/utils/dist/openLink.mjs","../../../node_modules/@react-aria/utils/dist/runAfterTransition.mjs","../../../node_modules/@react-aria/utils/dist/useGlobalListeners.mjs","../../../node_modules/@react-aria/utils/dist/useLabels.mjs","../../../node_modules/@react-aria/utils/dist/useObjectRef.mjs","../../../node_modules/@react-aria/utils/dist/useEffectEvent.mjs","../../../node_modules/@react-aria/utils/dist/useUpdateLayoutEffect.mjs","../../../node_modules/@react-aria/utils/dist/useSyncRef.mjs","../../../node_modules/@react-aria/utils/dist/isScrollable.mjs","../../../node_modules/@react-aria/utils/dist/getScrollParents.mjs","../../../node_modules/@react-aria/utils/dist/keyboard.mjs","../../../node_modules/@react-aria/utils/dist/useDescription.mjs","../../../node_modules/@react-aria/utils/dist/useEvent.mjs","../../../node_modules/@react-aria/utils/dist/scrollIntoView.mjs","../../../node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","../../../node_modules/@react-aria/utils/dist/useFormReset.mjs","../../../node_modules/@react-aria/utils/dist/inertValue.mjs","../../../node_modules/@react-aria/utils/dist/constants.mjs","../../../node_modules/@react-aria/utils/dist/animation.mjs","../../../node_modules/@react-aria/utils/dist/isElementVisible.mjs","../../../node_modules/@react-aria/utils/dist/isFocusable.mjs","../../../node_modules/@react-stately/utils/dist/useControlledState.mjs","../../../node_modules/react-aria-components/dist/utils.mjs","../../../node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.mjs","../../../node_modules/@react-aria/i18n/dist/utils.mjs","../../../node_modules/@react-aria/i18n/dist/useDefaultLocale.mjs","../../../node_modules/@react-aria/i18n/dist/context.mjs","../../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","../../../node_modules/@swc/helpers/esm/_class_private_field_init.js","../../../node_modules/@react-aria/interactions/dist/utils.mjs","../../../node_modules/@react-aria/interactions/dist/textSelection.mjs","../../../node_modules/@react-aria/interactions/dist/context.mjs","../../../node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js","../../../node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js","../../../node_modules/@swc/helpers/esm/_class_private_field_get.js","../../../node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js","../../../node_modules/@swc/helpers/esm/_class_private_field_set.js","../../../node_modules/@react-aria/interactions/dist/usePress.mjs","../../../node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","../../../node_modules/@react-aria/interactions/dist/focusSafely.mjs","../../../node_modules/@react-aria/interactions/dist/useFocus.mjs","../../../node_modules/@react-aria/interactions/dist/createEventHandler.mjs","../../../node_modules/@react-aria/interactions/dist/useKeyboard.mjs","../../../node_modules/@react-aria/interactions/dist/useFocusable.mjs","../../../node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","../../../node_modules/@react-aria/interactions/dist/useHover.mjs","../../../node_modules/@react-aria/interactions/dist/useLongPress.mjs","../../../node_modules/@react-aria/focus/dist/FocusScope.mjs","../../../node_modules/@react-aria/focus/dist/useFocusRing.mjs","../../../node_modules/@react-aria/focus/dist/useHasTabbableChild.mjs","../../../node_modules/@react-aria/focus/dist/virtualFocus.mjs","../../../node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.mjs","../../../node_modules/@react-aria/selection/dist/utils.mjs","../../../node_modules/@react-aria/selection/dist/useTypeSelect.mjs","../../../node_modules/@react-aria/selection/dist/useSelectableCollection.mjs","../../../node_modules/@react-aria/selection/dist/useSelectableItem.mjs","../../../node_modules/@react-stately/collections/dist/CollectionBuilder.mjs","../../../node_modules/@react-stately/collections/dist/useCollection.mjs","../../../node_modules/@react-stately/collections/dist/getChildNodes.mjs","../../../node_modules/@react-stately/form/dist/useFormValidationState.mjs","../../../node_modules/@react-aria/form/dist/useFormValidation.mjs","../../../node_modules/@react-aria/collections/dist/BaseCollection.mjs","../../../node_modules/@react-aria/collections/dist/Document.mjs","../../../node_modules/@react-aria/collections/dist/useCachedChildren.mjs","../../../node_modules/@react-aria/collections/dist/Hidden.mjs","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@react-aria/collections/dist/CollectionBuilder.mjs","../../../node_modules/react-aria-components/dist/Collection.mjs","../../../node_modules/@react-aria/button/dist/useButton.mjs","../../../node_modules/@react-aria/toggle/dist/useToggle.mjs","../../../node_modules/@react-aria/checkbox/dist/useCheckbox.mjs","../../../node_modules/@react-aria/checkbox/dist/utils.mjs","../../../node_modules/@react-stately/toggle/dist/useToggleState.mjs","../../../node_modules/@react-aria/checkbox/dist/useCheckboxGroupItem.mjs","../../../node_modules/@react-aria/tabs/dist/utils.mjs","../../../node_modules/@react-aria/tabs/dist/useTab.mjs","../../../node_modules/@react-aria/tabs/dist/useTabPanel.mjs","../../../node_modules/@react-aria/tabs/dist/TabsKeyboardDelegate.mjs","../../../node_modules/@react-aria/tabs/dist/useTabList.mjs","../../../node_modules/react-aria-components/dist/ProgressBar.mjs","../../../node_modules/react-aria-components/dist/Button.mjs","../../../node_modules/@react-stately/list/dist/ListCollection.mjs","../../../node_modules/@react-stately/selection/dist/Selection.mjs","../../../node_modules/@react-stately/selection/dist/useMultipleSelectionState.mjs","../../../node_modules/@react-stately/selection/dist/SelectionManager.mjs","../../../node_modules/@react-stately/list/dist/useListState.mjs","../../../node_modules/@react-stately/list/dist/useSingleSelectListState.mjs","../../../node_modules/@react-stately/tabs/dist/useTabListState.mjs","../../../node_modules/react-aria-components/dist/Form.mjs","../../../node_modules/react-aria-components/dist/Checkbox.mjs","../../../node_modules/react-aria-components/dist/SharedElementTransition.mjs","../../../node_modules/react-aria-components/dist/SelectionIndicator.mjs","../../../node_modules/react-aria-components/dist/Tabs.mjs","../../../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","../../../node_modules/framer-motion/dist/es/utils/use-constant.mjs","../../../node_modules/framer-motion/dist/es/utils/is-browser.mjs","../../../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","../../../node_modules/framer-motion/dist/es/context/PresenceContext.mjs","../../../node_modules/motion-utils/dist/es/array.mjs","../../../node_modules/motion-utils/dist/es/clamp.mjs","../../../node_modules/motion-utils/dist/es/format-error-message.mjs","../../../node_modules/motion-utils/dist/es/errors.mjs","../../../node_modules/motion-utils/dist/es/global-config.mjs","../../../node_modules/motion-utils/dist/es/is-numerical-string.mjs","../../../node_modules/motion-utils/dist/es/is-object.mjs","../../../node_modules/motion-utils/dist/es/is-zero-value-string.mjs","../../../node_modules/motion-utils/dist/es/memo.mjs","../../../node_modules/motion-utils/dist/es/noop.mjs","../../../node_modules/motion-utils/dist/es/pipe.mjs","../../../node_modules/motion-utils/dist/es/progress.mjs","../../../node_modules/motion-utils/dist/es/subscription-manager.mjs","../../../node_modules/motion-utils/dist/es/time-conversion.mjs","../../../node_modules/motion-utils/dist/es/velocity-per-second.mjs","../../../node_modules/motion-utils/dist/es/warn-once.mjs","../../../node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs","../../../node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs","../../../node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs","../../../node_modules/motion-utils/dist/es/easing/back.mjs","../../../node_modules/motion-utils/dist/es/easing/anticipate.mjs","../../../node_modules/motion-utils/dist/es/easing/circ.mjs","../../../node_modules/motion-utils/dist/es/easing/ease.mjs","../../../node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs","../../../node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs","../../../node_modules/motion-utils/dist/es/easing/utils/map.mjs","../../../node_modules/motion-dom/dist/es/frameloop/order.mjs","../../../node_modules/motion-dom/dist/es/frameloop/render-step.mjs","../../../node_modules/motion-dom/dist/es/frameloop/batcher.mjs","../../../node_modules/motion-dom/dist/es/frameloop/frame.mjs","../../../node_modules/motion-dom/dist/es/frameloop/sync-time.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs","../../../node_modules/motion-dom/dist/es/value/types/numbers/index.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/utils.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/rgba.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/hex.mjs","../../../node_modules/motion-dom/dist/es/value/types/numbers/units.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/hsla.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/index.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs","../../../node_modules/motion-dom/dist/es/value/types/complex/index.mjs","../../../node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/immediate.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/number.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/color.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/visibility.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/complex.mjs","../../../node_modules/motion-dom/dist/es/utils/mix/index.mjs","../../../node_modules/motion-dom/dist/es/animation/drivers/frame.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/spring/defaults.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/spring/find.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/spring/index.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/inertia.mjs","../../../node_modules/motion-dom/dist/es/utils/interpolate.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs","../../../node_modules/motion-dom/dist/es/animation/JSAnimation.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs","../../../node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs","../../../node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs","../../../node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs","../../../node_modules/motion-dom/dist/es/render/dom/style-set.mjs","../../../node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs","../../../node_modules/motion-dom/dist/es/utils/supports/flags.mjs","../../../node_modules/motion-dom/dist/es/utils/supports/memo.mjs","../../../node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs","../../../node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs","../../../node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs","../../../node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs","../../../node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs","../../../node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs","../../../node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs","../../../node_modules/motion-dom/dist/es/render/utils/keys-position.mjs","../../../node_modules/motion-dom/dist/es/value/types/auto.mjs","../../../node_modules/motion-dom/dist/es/value/types/test.mjs","../../../node_modules/motion-dom/dist/es/value/types/dimensions.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs","../../../node_modules/motion-dom/dist/es/value/types/complex/filter.mjs","../../../node_modules/motion-dom/dist/es/value/types/int.mjs","../../../node_modules/motion-dom/dist/es/value/types/maps/transform.mjs","../../../node_modules/motion-dom/dist/es/value/types/maps/number.mjs","../../../node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs","../../../node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs","../../../node_modules/motion-dom/dist/es/utils/resolve-elements.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs","../../../node_modules/motion-dom/dist/es/utils/is-html-element.mjs","../../../node_modules/motion-dom/dist/es/value/index.mjs","../../../node_modules/motion-dom/dist/es/frameloop/microtask.mjs","../../../node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs","../../../node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs","../../../node_modules/motion-dom/dist/es/gestures/utils/setup.mjs","../../../node_modules/motion-dom/dist/es/gestures/hover.mjs","../../../node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs","../../../node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs","../../../node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs","../../../node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs","../../../node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs","../../../node_modules/motion-dom/dist/es/gestures/press/index.mjs","../../../node_modules/motion-dom/dist/es/utils/is-svg-element.mjs","../../../node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs","../../../node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs","../../../node_modules/motion-dom/dist/es/value/types/utils/find.mjs","../../../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","../../../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","../../../node_modules/framer-motion/dist/es/context/LazyContext.mjs","../../../node_modules/framer-motion/dist/es/motion/features/definitions.mjs","../../../node_modules/framer-motion/dist/es/motion/features/load-features.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","../../../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","../../../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","../../../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.mjs","../../../node_modules/framer-motion/dist/es/render/utils/is-variant-label.mjs","../../../node_modules/framer-motion/dist/es/render/utils/variant-props.mjs","../../../node_modules/framer-motion/dist/es/render/utils/is-controlling-variants.mjs","../../../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","../../../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","../../../node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","../../../node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","../../../node_modules/framer-motion/dist/es/projection/styles/scale-correction.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.mjs","../../../node_modules/framer-motion/dist/es/render/html/utils/build-transform.mjs","../../../node_modules/framer-motion/dist/es/render/html/utils/build-styles.mjs","../../../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","../../../node_modules/framer-motion/dist/es/render/html/use-props.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/path.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/is-svg-tag.mjs","../../../node_modules/framer-motion/dist/es/render/svg/use-props.mjs","../../../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","../../../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","../../../node_modules/framer-motion/dist/es/render/dom/use-render.mjs","../../../node_modules/framer-motion/dist/es/render/utils/resolve-variants.mjs","../../../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","../../../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.mjs","../../../node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.mjs","../../../node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","../../../node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","../../../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.mjs","../../../node_modules/framer-motion/dist/es/animation/optimized-appear/data-id.mjs","../../../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","../../../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","../../../node_modules/framer-motion/dist/es/motion/index.mjs","../../../node_modules/framer-motion/dist/es/render/components/create-proxy.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/conversion.mjs","../../../node_modules/framer-motion/dist/es/projection/utils/has-transform.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/delta-apply.mjs","../../../node_modules/framer-motion/dist/es/projection/utils/measure.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/models.mjs","../../../node_modules/framer-motion/dist/es/utils/reduced-motion/state.mjs","../../../node_modules/framer-motion/dist/es/utils/reduced-motion/index.mjs","../../../node_modules/framer-motion/dist/es/render/store.mjs","../../../node_modules/framer-motion/dist/es/render/utils/motion-values.mjs","../../../node_modules/framer-motion/dist/es/render/VisualElement.mjs","../../../node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.mjs","../../../node_modules/framer-motion/dist/es/render/html/utils/render.mjs","../../../node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.mjs","../../../node_modules/framer-motion/dist/es/render/svg/utils/render.mjs","../../../node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.mjs","../../../node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","../../../node_modules/framer-motion/dist/es/render/utils/resolve-dynamic-variants.mjs","../../../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.mjs","../../../node_modules/framer-motion/dist/es/render/utils/setters.mjs","../../../node_modules/framer-motion/dist/es/value/use-will-change/is.mjs","../../../node_modules/framer-motion/dist/es/value/use-will-change/add-will-change.mjs","../../../node_modules/framer-motion/dist/es/animation/optimized-appear/get-appear-id.mjs","../../../node_modules/framer-motion/dist/es/animation/animators/waapi/utils/get-final-keyframe.mjs","../../../node_modules/framer-motion/dist/es/animation/utils/default-transitions.mjs","../../../node_modules/framer-motion/dist/es/animation/utils/is-transition-defined.mjs","../../../node_modules/framer-motion/dist/es/animation/interfaces/motion-value.mjs","../../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.mjs","../../../node_modules/framer-motion/dist/es/animation/utils/calc-child-stagger.mjs","../../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.mjs","../../../node_modules/framer-motion/dist/es/animation/interfaces/visual-element.mjs","../../../node_modules/framer-motion/dist/es/utils/shallow-compare.mjs","../../../node_modules/framer-motion/dist/es/render/utils/get-variant-context.mjs","../../../node_modules/framer-motion/dist/es/render/utils/animation-state.mjs","../../../node_modules/framer-motion/dist/es/motion/features/Feature.mjs","../../../node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","../../../node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","../../../node_modules/framer-motion/dist/es/motion/features/animations.mjs","../../../node_modules/framer-motion/dist/es/events/add-dom-event.mjs","../../../node_modules/framer-motion/dist/es/events/event-info.mjs","../../../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","../../../node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","../../../node_modules/framer-motion/dist/es/utils/get-context-window.mjs","../../../node_modules/framer-motion/dist/es/utils/distance.mjs","../../../node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","../../../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","../../../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","../../../node_modules/framer-motion/dist/es/gestures/drag/index.mjs","../../../node_modules/framer-motion/dist/es/gestures/pan/index.mjs","../../../node_modules/framer-motion/dist/es/projection/node/state.mjs","../../../node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","../../../node_modules/framer-motion/dist/es/animation/animate/single-value.mjs","../../../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","../../../node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","../../../node_modules/framer-motion/dist/es/utils/delay.mjs","../../../node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","../../../node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","../../../node_modules/framer-motion/dist/es/projection/shared/stack.mjs","../../../node_modules/framer-motion/dist/es/projection/styles/transform.mjs","../../../node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","../../../node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","../../../node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","../../../node_modules/framer-motion/dist/es/motion/features/drag.mjs","../../../node_modules/framer-motion/dist/es/gestures/hover.mjs","../../../node_modules/framer-motion/dist/es/gestures/focus.mjs","../../../node_modules/framer-motion/dist/es/gestures/press.mjs","../../../node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","../../../node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","../../../node_modules/framer-motion/dist/es/motion/features/gestures.mjs","../../../node_modules/framer-motion/dist/es/motion/features/layout.mjs","../../../node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs","../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs","../src/components/basic/loading/Loading.tsx","../src/components/basic/button/Button.tsx","../src/icons/components/outline/IconActivity.tsx","../src/icons/components/outline/IconAlertOctagon.tsx","../src/icons/components/outline/IconAlignCenter.tsx","../src/icons/components/outline/IconAlignJustify.tsx","../src/icons/components/outline/IconAlignLeft.tsx","../src/icons/components/outline/IconAlignRight.tsx","../src/icons/components/outline/IconAnchor.tsx","../src/icons/components/outline/IconArchive.tsx","../src/icons/components/outline/IconArrowCircleDown.tsx","../src/icons/components/outline/IconArrowCircleLeft.tsx","../src/icons/components/outline/IconArrowCircleRight.tsx","../src/icons/components/outline/IconArrowCircleUp.tsx","../src/icons/components/outline/IconArrowDiagonalDownleft.tsx","../src/icons/components/outline/IconArrowDiagonalDownleftSmall.tsx","../src/icons/components/outline/IconArrowDiagonalDownright.tsx","../src/icons/components/outline/IconArrowDiagonalDownrightSmall.tsx","../src/icons/components/outline/IconArrowDiagonalUpleft.tsx","../src/icons/components/outline/IconArrowDiagonalUpleftSmall.tsx","../src/icons/components/outline/IconArrowDiagonalUpright.tsx","../src/icons/components/outline/IconArrowDiagonalUprightSmall.tsx","../src/icons/components/outline/IconArrowDown.tsx","../src/icons/components/outline/IconArrowDownSmall.tsx","../src/icons/components/outline/IconArrowDownleft.tsx","../src/icons/components/outline/IconArrowDownright.tsx","../src/icons/components/outline/IconArrowLeft.tsx","../src/icons/components/outline/IconArrowLeftSmall.tsx","../src/icons/components/outline/IconArrowLeftdown.tsx","../src/icons/components/outline/IconArrowLeftup.tsx","../src/icons/components/outline/IconArrowRight.tsx","../src/icons/components/outline/IconArrowRightSmall.tsx","../src/icons/components/outline/IconArrowRightdown.tsx","../src/icons/components/outline/IconArrowRightup.tsx","../src/icons/components/outline/IconArrowUp.tsx","../src/icons/components/outline/IconArrowUpSmall.tsx","../src/icons/components/outline/IconArrowUpleft.tsx","../src/icons/components/outline/IconArrowUpright.tsx","../src/icons/components/outline/IconAward.tsx","../src/icons/components/outline/IconBarChart1.tsx","../src/icons/components/outline/IconBarChart2.tsx","../src/icons/components/outline/IconBattery.tsx","../src/icons/components/outline/IconBatteryCharging.tsx","../src/icons/components/outline/IconBell.tsx","../src/icons/components/outline/IconBellOff.tsx","../src/icons/components/outline/IconBluetooth.tsx","../src/icons/components/outline/IconBold.tsx","../src/icons/components/outline/IconBook.tsx","../src/icons/components/outline/IconBookOpen.tsx","../src/icons/components/outline/IconBookmark.tsx","../src/icons/components/outline/IconBox.tsx","../src/icons/components/outline/IconBriefcase.tsx","../src/icons/components/outline/IconCalendar.tsx","../src/icons/components/outline/IconCall.tsx","../src/icons/components/outline/IconCallCalling.tsx","../src/icons/components/outline/IconCallForwarded.tsx","../src/icons/components/outline/IconCallIn.tsx","../src/icons/components/outline/IconCallMissed.tsx","../src/icons/components/outline/IconCallOff.tsx","../src/icons/components/outline/IconCallOut.tsx","../src/icons/components/outline/IconCamera.tsx","../src/icons/components/outline/IconCameraOff.tsx","../src/icons/components/outline/IconCard.tsx","../src/icons/components/outline/IconCast.tsx","../src/icons/components/outline/IconCenter.tsx","../src/icons/components/outline/IconChatCircle.tsx","../src/icons/components/outline/IconChatRectangle.tsx","../src/icons/components/outline/IconCheck.tsx","../src/icons/components/outline/IconChevron2Down.tsx","../src/icons/components/outline/IconChevron2DownLight.tsx","../src/icons/components/outline/IconChevron2Left.tsx","../src/icons/components/outline/IconChevron2LeftLight.tsx","../src/icons/components/outline/IconChevron2Right.tsx","../src/icons/components/outline/IconChevron2RightLight.tsx","../src/icons/components/outline/IconChevron2Up.tsx","../src/icons/components/outline/IconChevron2UpLight.tsx","../src/icons/components/outline/IconChevronDown.tsx","../src/icons/components/outline/IconChevronDownSmall.tsx","../src/icons/components/outline/IconChevronLeft.tsx","../src/icons/components/outline/IconChevronLeftSmall.tsx","../src/icons/components/outline/IconChevronRight.tsx","../src/icons/components/outline/IconChevronRightSmall.tsx","../src/icons/components/outline/IconChevronUp.tsx","../src/icons/components/outline/IconChevronUpSmall.tsx","../src/icons/components/outline/IconCircle.tsx","../src/icons/components/outline/IconClip.tsx","../src/icons/components/outline/IconClipboard.tsx","../src/icons/components/outline/IconClock.tsx","../src/icons/components/outline/IconCloud.tsx","../src/icons/components/outline/IconCloudDownload.tsx","../src/icons/components/outline/IconCloudLighting.tsx","../src/icons/components/outline/IconCloudRain1.tsx","../src/icons/components/outline/IconCloudRain2.tsx","../src/icons/components/outline/IconCloudSnow.tsx","../src/icons/components/outline/IconCloudUpload.tsx","../src/icons/components/outline/IconCode.tsx","../src/icons/components/outline/IconCoffee.tsx","../src/icons/components/outline/IconCoin.tsx","../src/icons/components/outline/IconColumn.tsx","../src/icons/components/outline/IconCompass.tsx","../src/icons/components/outline/IconCopy.tsx","../src/icons/components/outline/IconCpu.tsx","../src/icons/components/outline/IconCrop.tsx","../src/icons/components/outline/IconCrosshair.tsx","../src/icons/components/outline/IconDelete.tsx","../src/icons/components/outline/IconDisc.tsx","../src/icons/components/outline/IconDollar.tsx","../src/icons/components/outline/IconDownload.tsx","../src/icons/components/outline/IconDroplet.tsx","../src/icons/components/outline/IconEdit1.tsx","../src/icons/components/outline/IconEdit2.tsx","../src/icons/components/outline/IconEdit3.tsx","../src/icons/components/outline/IconEnergy.tsx","../src/icons/components/outline/IconEnergyOff.tsx","../src/icons/components/outline/IconExternalLink.tsx","../src/icons/components/outline/IconEye.tsx","../src/icons/components/outline/IconEyeOff.tsx","../src/icons/components/outline/IconFastForward.tsx","../src/icons/components/outline/IconFeather.tsx","../src/icons/components/outline/IconFileMinus.tsx","../src/icons/components/outline/IconFilePlus.tsx","../src/icons/components/outline/IconFilm.tsx","../src/icons/components/outline/IconFlag.tsx","../src/icons/components/outline/IconFlter.tsx","../src/icons/components/outline/IconFocus.tsx","../src/icons/components/outline/IconFolder.tsx","../src/icons/components/outline/IconFolderMinus.tsx","../src/icons/components/outline/IconFolderPlus.tsx","../src/icons/components/outline/IconFrame.tsx","../src/icons/components/outline/IconFrown.tsx","../src/icons/components/outline/IconGift.tsx","../src/icons/components/outline/IconGlobe.tsx","../src/icons/components/outline/IconGrid.tsx","../src/icons/components/outline/IconHardDrive.tsx","../src/icons/components/outline/IconHash.tsx","../src/icons/components/outline/IconHeadphones.tsx","../src/icons/components/outline/IconHeart.tsx","../src/icons/components/outline/IconHelpCircle.tsx","../src/icons/components/outline/IconHelpCircleSmall.tsx","../src/icons/components/outline/IconHexagon.tsx","../src/icons/components/outline/IconHome.tsx","../src/icons/components/outline/IconImage.tsx","../src/icons/components/outline/IconInbox.tsx","../src/icons/components/outline/IconInfo.tsx","../src/icons/components/outline/IconInfoSmall.tsx","../src/icons/components/outline/IconItalic.tsx","../src/icons/components/outline/IconKey.tsx","../src/icons/components/outline/IconLayer.tsx","../src/icons/components/outline/IconLayout.tsx","../src/icons/components/outline/IconLifeBuoy.tsx","../src/icons/components/outline/IconLinkDiagonal.tsx","../src/icons/components/outline/IconLinkHorizontal.tsx","../src/icons/components/outline/IconList.tsx","../src/icons/components/outline/IconLoader.tsx","../src/icons/components/outline/IconLock.tsx","../src/icons/components/outline/IconLogin.tsx","../src/icons/components/outline/IconLogout.tsx","../src/icons/components/outline/IconMail.tsx","../src/icons/components/outline/IconMap.tsx","../src/icons/components/outline/IconMaximize.tsx","../src/icons/components/outline/IconMenu.tsx","../src/icons/components/outline/IconMic.tsx","../src/icons/components/outline/IconMicOff.tsx","../src/icons/components/outline/IconMinimize.tsx","../src/icons/components/outline/IconMinus.tsx","../src/icons/components/outline/IconMinusCircle.tsx","../src/icons/components/outline/IconMinusSquare.tsx","../src/icons/components/outline/IconMonitor.tsx","../src/icons/components/outline/IconMoon.tsx","../src/icons/components/outline/IconMoreHorizontal.tsx","../src/icons/components/outline/IconMoreVertical.tsx","../src/icons/components/outline/IconMove.tsx","../src/icons/components/outline/IconMusic.tsx","../src/icons/components/outline/IconNavigation1.tsx","../src/icons/components/outline/IconNavigation2.tsx","../src/icons/components/outline/IconNeutral.tsx","../src/icons/components/outline/IconOctagon.tsx","../src/icons/components/outline/IconPackage.tsx","../src/icons/components/outline/IconPause.tsx","../src/icons/components/outline/IconPauseCircle.tsx","../src/icons/components/outline/IconPercent.tsx","../src/icons/components/outline/IconPhone.tsx","../src/icons/components/outline/IconPiechart.tsx","../src/icons/components/outline/IconPin.tsx","../src/icons/components/outline/IconPlay.tsx","../src/icons/components/outline/IconPlayCircle.tsx","../src/icons/components/outline/IconPlus.tsx","../src/icons/components/outline/IconPlusCircle.tsx","../src/icons/components/outline/IconPlusSquare.tsx","../src/icons/components/outline/IconPocket.tsx","../src/icons/components/outline/IconPower.tsx","../src/icons/components/outline/IconPrinter.tsx","../src/icons/components/outline/IconProhibition.tsx","../src/icons/components/outline/IconRadio.tsx","../src/icons/components/outline/IconRefresh1.tsx","../src/icons/components/outline/IconRefresh2.tsx","../src/icons/components/outline/IconRepeat.tsx","../src/icons/components/outline/IconRewind.tsx","../src/icons/components/outline/IconRollBack.tsx","../src/icons/components/outline/IconRollForward.tsx","../src/icons/components/outline/IconRss.tsx","../src/icons/components/outline/IconSandbox.tsx","../src/icons/components/outline/IconSave.tsx","../src/icons/components/outline/IconScissors.tsx","../src/icons/components/outline/IconSearch.tsx","../src/icons/components/outline/IconSend.tsx","../src/icons/components/outline/IconServer.tsx","../src/icons/components/outline/IconSettings.tsx","../src/icons/components/outline/IconShare1.tsx","../src/icons/components/outline/IconShare2.tsx","../src/icons/components/outline/IconShield.tsx","../src/icons/components/outline/IconShieldOff.tsx","../src/icons/components/outline/IconShoppingBag.tsx","../src/icons/components/outline/IconShoppingCart.tsx","../src/icons/components/outline/IconShuffle.tsx","../src/icons/components/outline/IconSidebar.tsx","../src/icons/components/outline/IconSkipBack.tsx","../src/icons/components/outline/IconSkipForward.tsx","../src/icons/components/outline/IconSliders.tsx","../src/icons/components/outline/IconSmile.tsx","../src/icons/components/outline/IconSpeaker.tsx","../src/icons/components/outline/IconSquare.tsx","../src/icons/components/outline/IconStar.tsx","../src/icons/components/outline/IconStopCircle.tsx","../src/icons/components/outline/IconSun.tsx","../src/icons/components/outline/IconSunrise.tsx","../src/icons/components/outline/IconSunset.tsx","../src/icons/components/outline/IconTablet.tsx","../src/icons/components/outline/IconTag.tsx","../src/icons/components/outline/IconTarget.tsx","../src/icons/components/outline/IconTemperature.tsx","../src/icons/components/outline/IconTextfile.tsx","../src/icons/components/outline/IconThumbsDown.tsx","../src/icons/components/outline/IconThumbsUp.tsx","../src/icons/components/outline/IconTool.tsx","../src/icons/components/outline/IconTrash1.tsx","../src/icons/components/outline/IconTrash2.tsx","../src/icons/components/outline/IconTrendingDown.tsx","../src/icons/components/outline/IconTrendingUp.tsx","../src/icons/components/outline/IconTriangle.tsx","../src/icons/components/outline/IconTruck.tsx","../src/icons/components/outline/IconTv.tsx","../src/icons/components/outline/IconType.tsx","../src/icons/components/outline/IconUmbrella.tsx","../src/icons/components/outline/IconUnderline.tsx","../src/icons/components/outline/IconUnlock.tsx","../src/icons/components/outline/IconUpload.tsx","../src/icons/components/outline/IconUser.tsx","../src/icons/components/outline/IconUserCheck.tsx","../src/icons/components/outline/IconUserMinus.tsx","../src/icons/components/outline/IconUserPlus.tsx","../src/icons/components/outline/IconUserX.tsx","../src/icons/components/outline/IconUsers.tsx","../src/icons/components/outline/IconVideo.tsx","../src/icons/components/outline/IconVideoOff.tsx","../src/icons/components/outline/IconVoicemail.tsx","../src/icons/components/outline/IconVolume.tsx","../src/icons/components/outline/IconVolume1.tsx","../src/icons/components/outline/IconVolume2.tsx","../src/icons/components/outline/IconVolumeX.tsx","../src/icons/components/outline/IconWatch.tsx","../src/icons/components/outline/IconWifi.tsx","../src/icons/components/outline/IconWifiOff.tsx","../src/icons/components/outline/IconWind.tsx","../src/icons/components/outline/IconWireframe.tsx","../src/icons/components/outline/IconX.tsx","../src/icons/components/outline/IconXCircle.tsx","../src/icons/components/outline/IconXOctagon.tsx","../src/icons/components/outline/IconXSquare.tsx","../src/icons/components/outline/IconZoomIn.tsx","../src/icons/components/outline/IconZoomOut.tsx","../src/components/basic/guide-text/GuideText.tsx","../src/components/basic/link/Link.tsx","../src/components/basic/stepper/Stepper.tsx","../src/components/basic/checkbox/Checkbox.tsx","../src/components/basic/chip/Chip.tsx","../src/components/basic/text-field/TextField.tsx","../src/components/basic/bottom-tab/BottomTab.tsx","../src/components/basic/page-header/PageHeader.tsx","../src/components/basic/tab/Tab.tsx"],"sourcesContent":["function toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nfunction mapValues(input, fn) {\n var result = {};\n for (var _key in input) {\n result[_key] = fn(input[_key], _key);\n }\n return result;\n}\n\nvar shouldApplyCompound = (compoundCheck, selections, defaultVariants) => {\n for (var key of Object.keys(compoundCheck)) {\n var _selections$key;\n if (compoundCheck[key] !== ((_selections$key = selections[key]) !== null && _selections$key !== void 0 ? _selections$key : defaultVariants[key])) {\n return false;\n }\n }\n return true;\n};\nvar createRuntimeFn = config => {\n var runtimeFn = options => {\n var className = config.defaultClassName;\n var selections = _objectSpread2(_objectSpread2({}, config.defaultVariants), options);\n for (var variantName in selections) {\n var _selections$variantNa;\n var variantSelection = (_selections$variantNa = selections[variantName]) !== null && _selections$variantNa !== void 0 ? _selections$variantNa : config.defaultVariants[variantName];\n if (variantSelection != null) {\n var selection = variantSelection;\n if (typeof selection === 'boolean') {\n // @ts-expect-error\n selection = selection === true ? 'true' : 'false';\n }\n var selectionClassName =\n // @ts-expect-error\n config.variantClassNames[variantName][selection];\n if (selectionClassName) {\n className += ' ' + selectionClassName;\n }\n }\n }\n for (var [compoundCheck, compoundClassName] of config.compoundVariants) {\n if (shouldApplyCompound(compoundCheck, selections, config.defaultVariants)) {\n className += ' ' + compoundClassName;\n }\n }\n return className;\n };\n runtimeFn.variants = () => Object.keys(config.variantClassNames);\n runtimeFn.classNames = {\n get base() {\n return config.defaultClassName.split(' ')[0];\n },\n get variants() {\n return mapValues(config.variantClassNames, classNames => mapValues(classNames, className => className.split(' ')[0]));\n }\n };\n return runtimeFn;\n};\n\nexport { createRuntimeFn as c, mapValues as m };\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconOnline = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <rect x=\".5\" y=\".5\" rx=\"3.5\" fill=\"currentColor\" />\n </svg>\n );\n }\n);\n\nIconOnline.displayName = 'IconOnline';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUserProfile = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g clipPath=\"url(#user_profile__a)\">\n <path\n d=\"M4 21.217c.686-3.309 4.007-5.819 8-5.819s7.314 2.51 8 5.819A12.8 12.8 0 0 1 12 24a12.8 12.8 0 0 1-8-2.783M15.902 9.903c0 2.155-1.783 3.902-3.983 3.902s-3.984-1.747-3.984-3.902S9.719 6 11.919 6s3.983 1.747 3.983 3.903\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"user_profile__a\">\n <rect height=\"24\" width=\"24\" rx=\"12\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconUserProfile.displayName = 'IconUserProfile';\n","import {createContext as $95phC$createContext} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $4e85f108e88277b8$export$b085522c77523c51 = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$ebe63fadcdce34ed = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$44644b8a16031b5b = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$717b2c0a523a0b53 = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$265015d6dc85bf21 = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$d688439359537581 = (0, $95phC$createContext)({});\nconst $4e85f108e88277b8$export$b0d3ecf7112093a7 = (0, $95phC$createContext)(null);\nconst $4e85f108e88277b8$export$698f465ec27e93df = (0, $95phC$createContext)(null);\n\n\nexport {$4e85f108e88277b8$export$b085522c77523c51 as CheckboxContext, $4e85f108e88277b8$export$ebe63fadcdce34ed as ColorAreaContext, $4e85f108e88277b8$export$44644b8a16031b5b as ColorFieldContext, $4e85f108e88277b8$export$717b2c0a523a0b53 as ColorSliderContext, $4e85f108e88277b8$export$265015d6dc85bf21 as ColorWheelContext, $4e85f108e88277b8$export$d688439359537581 as HeadingContext, $4e85f108e88277b8$export$b0d3ecf7112093a7 as SelectableCollectionContext, $4e85f108e88277b8$export$698f465ec27e93df as FieldInputContext};\n//# sourceMappingURL=RSPContexts.module.js.map\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import $670gB$react, {useContext as $670gB$useContext, useState as $670gB$useState, useMemo as $670gB$useMemo, useLayoutEffect as $670gB$useLayoutEffect, useRef as $670gB$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, $670gB$react).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, $670gB$react).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, $670gB$useState)(true);\n let value = (0, $670gB$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, $670gB$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, $670gB$react)['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement((0, $670gB$react).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, $670gB$useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, $670gB$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM && process.env.NODE_ENV !== 'production') console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n let id = (0, $670gB$react).useId();\n let [didSSR] = (0, $670gB$useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, $670gB$react)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, $670gB$react)['useSyncExternalStore'] === 'function') return (0, $670gB$react)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, $670gB$useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\nexport {$b5e257d569688ac6$export$9f8ac96af4b1b2ae as SSRProvider, $b5e257d569688ac6$export$535bd6ca7f90a273 as useIsSSR, $b5e257d569688ac6$export$619500959fc48b26 as useSSRSafeId};\n//# sourceMappingURL=SSRProvider.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useValueEffect as $1dbecbe27a04f9af$export$14d238f342723f25} from \"./useValueEffect.mjs\";\nimport {useState as $eKkEp$useState, useRef as $eKkEp$useRef, useEffect as $eKkEp$useEffect, useCallback as $eKkEp$useCallback} from \"react\";\nimport {useSSRSafeId as $eKkEp$useSSRSafeId} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet $bdb11010cef70236$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $bdb11010cef70236$export$d41a04c74483c6ef = new Map();\n// This allows us to clean up the idsUpdaterMap when the id is no longer used.\n// Map is a strong reference, so unused ids wouldn't be cleaned up otherwise.\n// This can happen in suspended components where mount/unmount is not called.\nlet $bdb11010cef70236$var$registry;\nif (typeof FinalizationRegistry !== 'undefined') $bdb11010cef70236$var$registry = new FinalizationRegistry((heldValue)=>{\n $bdb11010cef70236$export$d41a04c74483c6ef.delete(heldValue);\n});\nfunction $bdb11010cef70236$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $eKkEp$useState)(defaultId);\n let nextId = (0, $eKkEp$useRef)(null);\n let res = (0, $eKkEp$useSSRSafeId)(value);\n let cleanupRef = (0, $eKkEp$useRef)(null);\n if ($bdb11010cef70236$var$registry) $bdb11010cef70236$var$registry.register(cleanupRef, res);\n if ($bdb11010cef70236$var$canUseDOM) {\n const cacheIdRef = $bdb11010cef70236$export$d41a04c74483c6ef.get(res);\n if (cacheIdRef && !cacheIdRef.includes(nextId)) cacheIdRef.push(nextId);\n else $bdb11010cef70236$export$d41a04c74483c6ef.set(res, [\n nextId\n ]);\n }\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n // In Suspense, the cleanup function may be not called\n // when it is though, also remove it from the finalization registry.\n if ($bdb11010cef70236$var$registry) $bdb11010cef70236$var$registry.unregister(cleanupRef);\n $bdb11010cef70236$export$d41a04c74483c6ef.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is always cleaned up.\n // eslint-disable-next-line\n (0, $eKkEp$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) setValue(newId);\n return ()=>{\n if (newId) nextId.current = null;\n };\n });\n return res;\n}\nfunction $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdsA = $bdb11010cef70236$export$d41a04c74483c6ef.get(idA);\n if (setIdsA) {\n setIdsA.forEach((ref)=>ref.current = idB);\n return idB;\n }\n let setIdsB = $bdb11010cef70236$export$d41a04c74483c6ef.get(idB);\n if (setIdsB) {\n setIdsB.forEach((ref)=>ref.current = idA);\n return idA;\n }\n return idB;\n}\nfunction $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $bdb11010cef70236$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1dbecbe27a04f9af$export$14d238f342723f25)(id);\n let updateId = (0, $eKkEp$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nexport {$bdb11010cef70236$export$d41a04c74483c6ef as idsUpdaterMap, $bdb11010cef70236$export$f680877a34711e37 as useId, $bdb11010cef70236$export$cd8c9cb68f842629 as mergeIds, $bdb11010cef70236$export$b4cc09c592e8fdb8 as useSlotId};\n//# sourceMappingURL=useId.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Calls all functions in the order they were chained with the same arguments.\n */ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\nexport {$ff5963eb1fccf552$export$e08e3b67e392101e as chain};\n//# sourceMappingURL=chain.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n/**\n * Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType property.\n */ function $431fbd86ca7dc216$var$isNode(value) {\n return value !== null && typeof value === 'object' && 'nodeType' in value && typeof value.nodeType === 'number';\n}\nfunction $431fbd86ca7dc216$export$af51f0f06c0f328a(node) {\n return $431fbd86ca7dc216$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && 'host' in node;\n}\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow, $431fbd86ca7dc216$export$af51f0f06c0f328a as isShadowRoot};\n//# sourceMappingURL=domHelpers.module.js.map\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $f4e2df6bd15f8569$var$_tableNestedRows = false;\nlet $f4e2df6bd15f8569$var$_shadowDOM = false;\nfunction $f4e2df6bd15f8569$export$d9d8a0f82de49530() {\n $f4e2df6bd15f8569$var$_tableNestedRows = true;\n}\nfunction $f4e2df6bd15f8569$export$1b00cb14a96194e6() {\n return $f4e2df6bd15f8569$var$_tableNestedRows;\n}\nfunction $f4e2df6bd15f8569$export$12b151d9882e9985() {\n $f4e2df6bd15f8569$var$_shadowDOM = true;\n}\nfunction $f4e2df6bd15f8569$export$98658e8c59125e6a() {\n return $f4e2df6bd15f8569$var$_shadowDOM;\n}\n\n\nexport {$f4e2df6bd15f8569$export$d9d8a0f82de49530 as enableTableNestedRows, $f4e2df6bd15f8569$export$1b00cb14a96194e6 as tableNestedRows, $f4e2df6bd15f8569$export$12b151d9882e9985 as enableShadowDOM, $f4e2df6bd15f8569$export$98658e8c59125e6a as shadowDOM};\n//# sourceMappingURL=module.js.map\n","import {isShadowRoot as $431fbd86ca7dc216$export$af51f0f06c0f328a} from \"./domHelpers.mjs\";\nimport {shadowDOM as $lcSu5$shadowDOM} from \"@react-stately/flags\";\n\n// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n\n\nfunction $d4ee10de306f2510$export$4282f70798064fe0(node, otherNode) {\n if (!(0, $lcSu5$shadowDOM)()) return otherNode && node ? node.contains(otherNode) : false;\n if (!node || !otherNode) return false;\n let currentNode = otherNode;\n while(currentNode !== null){\n if (currentNode === node) return true;\n if (currentNode.tagName === 'SLOT' && currentNode.assignedSlot) // Element is slotted\n currentNode = currentNode.assignedSlot.parentNode;\n else if ((0, $431fbd86ca7dc216$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root\n currentNode = currentNode.host;\n else currentNode = currentNode.parentNode;\n }\n return false;\n}\nconst $d4ee10de306f2510$export$cd4e5573fbe2b576 = (doc = document)=>{\n var _activeElement_shadowRoot;\n if (!(0, $lcSu5$shadowDOM)()) return doc.activeElement;\n let activeElement = doc.activeElement;\n while(activeElement && 'shadowRoot' in activeElement && ((_activeElement_shadowRoot = activeElement.shadowRoot) === null || _activeElement_shadowRoot === void 0 ? void 0 : _activeElement_shadowRoot.activeElement))activeElement = activeElement.shadowRoot.activeElement;\n return activeElement;\n};\nfunction $d4ee10de306f2510$export$e58f029f0fbfdb29(event) {\n if ((0, $lcSu5$shadowDOM)() && event.target.shadowRoot) {\n if (event.composedPath) return event.composedPath()[0];\n }\n return event.target;\n}\n\n\nexport {$d4ee10de306f2510$export$4282f70798064fe0 as nodeContains, $d4ee10de306f2510$export$cd4e5573fbe2b576 as getActiveElement, $d4ee10de306f2510$export$e58f029f0fbfdb29 as getEventTarget};\n//# sourceMappingURL=DOMFunctions.module.js.map\n","import {nodeContains as $d4ee10de306f2510$export$4282f70798064fe0} from \"./DOMFunctions.mjs\";\nimport {shadowDOM as $bJKXg$shadowDOM} from \"@react-stately/flags\";\n\n// https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/ShadowTreeWalker.ts\n\n\nclass $dfc540311bf7f109$export$63eb3ababa9c55c4 {\n get currentNode() {\n return this._currentNode;\n }\n set currentNode(node) {\n if (!(0, $d4ee10de306f2510$export$4282f70798064fe0)(this.root, node)) throw new Error('Cannot set currentNode to a node that is not contained by the root node.');\n const walkers = [];\n let curNode = node;\n let currentWalkerCurrentNode = node;\n this._currentNode = node;\n while(curNode && curNode !== this.root)if (curNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n const shadowRoot = curNode;\n const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this._acceptNode\n });\n walkers.push(walker);\n walker.currentNode = currentWalkerCurrentNode;\n this._currentSetFor.add(walker);\n curNode = currentWalkerCurrentNode = shadowRoot.host;\n } else curNode = curNode.parentNode;\n const walker = this._doc.createTreeWalker(this.root, this.whatToShow, {\n acceptNode: this._acceptNode\n });\n walkers.push(walker);\n walker.currentNode = currentWalkerCurrentNode;\n this._currentSetFor.add(walker);\n this._walkerStack = walkers;\n }\n get doc() {\n return this._doc;\n }\n firstChild() {\n let currentNode = this.currentNode;\n let newNode = this.nextNode();\n if (!(0, $d4ee10de306f2510$export$4282f70798064fe0)(currentNode, newNode)) {\n this.currentNode = currentNode;\n return null;\n }\n if (newNode) this.currentNode = newNode;\n return newNode;\n }\n lastChild() {\n let walker = this._walkerStack[0];\n let newNode = walker.lastChild();\n if (newNode) this.currentNode = newNode;\n return newNode;\n }\n nextNode() {\n const nextNode = this._walkerStack[0].nextNode();\n if (nextNode) {\n const shadowRoot = nextNode.shadowRoot;\n if (shadowRoot) {\n var _this_filter;\n let nodeResult;\n if (typeof this.filter === 'function') nodeResult = this.filter(nextNode);\n else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) nodeResult = this.filter.acceptNode(nextNode);\n if (nodeResult === NodeFilter.FILTER_ACCEPT) {\n this.currentNode = nextNode;\n return nextNode;\n }\n // _acceptNode should have added new walker for this shadow,\n // go in recursively.\n let newNode = this.nextNode();\n if (newNode) this.currentNode = newNode;\n return newNode;\n }\n if (nextNode) this.currentNode = nextNode;\n return nextNode;\n } else {\n if (this._walkerStack.length > 1) {\n this._walkerStack.shift();\n let newNode = this.nextNode();\n if (newNode) this.currentNode = newNode;\n return newNode;\n } else return null;\n }\n }\n previousNode() {\n const currentWalker = this._walkerStack[0];\n if (currentWalker.currentNode === currentWalker.root) {\n if (this._currentSetFor.has(currentWalker)) {\n this._currentSetFor.delete(currentWalker);\n if (this._walkerStack.length > 1) {\n this._walkerStack.shift();\n let newNode = this.previousNode();\n if (newNode) this.currentNode = newNode;\n return newNode;\n } else return null;\n }\n return null;\n }\n const previousNode = currentWalker.previousNode();\n if (previousNode) {\n const shadowRoot = previousNode.shadowRoot;\n if (shadowRoot) {\n var _this_filter;\n let nodeResult;\n if (typeof this.filter === 'function') nodeResult = this.filter(previousNode);\n else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) nodeResult = this.filter.acceptNode(previousNode);\n if (nodeResult === NodeFilter.FILTER_ACCEPT) {\n if (previousNode) this.currentNode = previousNode;\n return previousNode;\n }\n // _acceptNode should have added new walker for this shadow,\n // go in recursively.\n let newNode = this.lastChild();\n if (newNode) this.currentNode = newNode;\n return newNode;\n }\n if (previousNode) this.currentNode = previousNode;\n return previousNode;\n } else {\n if (this._walkerStack.length > 1) {\n this._walkerStack.shift();\n let newNode = this.previousNode();\n if (newNode) this.currentNode = newNode;\n return newNode;\n } else return null;\n }\n }\n /**\n * @deprecated\n */ nextSibling() {\n // if (__DEV__) {\n // throw new Error(\"Method not implemented.\");\n // }\n return null;\n }\n /**\n * @deprecated\n */ previousSibling() {\n // if (__DEV__) {\n // throw new Error(\"Method not implemented.\");\n // }\n return null;\n }\n /**\n * @deprecated\n */ parentNode() {\n // if (__DEV__) {\n // throw new Error(\"Method not implemented.\");\n // }\n return null;\n }\n constructor(doc, root, whatToShow, filter){\n this._walkerStack = [];\n this._currentSetFor = new Set();\n this._acceptNode = (node)=>{\n if (node.nodeType === Node.ELEMENT_NODE) {\n const shadowRoot = node.shadowRoot;\n if (shadowRoot) {\n const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this._acceptNode\n });\n this._walkerStack.unshift(walker);\n return NodeFilter.FILTER_ACCEPT;\n } else {\n var _this_filter;\n if (typeof this.filter === 'function') return this.filter(node);\n else if ((_this_filter = this.filter) === null || _this_filter === void 0 ? void 0 : _this_filter.acceptNode) return this.filter.acceptNode(node);\n else if (this.filter === null) return NodeFilter.FILTER_ACCEPT;\n }\n }\n return NodeFilter.FILTER_SKIP;\n };\n this._doc = doc;\n this.root = root;\n this.filter = filter !== null && filter !== void 0 ? filter : null;\n this.whatToShow = whatToShow !== null && whatToShow !== void 0 ? whatToShow : NodeFilter.SHOW_ALL;\n this._currentNode = root;\n this._walkerStack.unshift(doc.createTreeWalker(root, whatToShow, this._acceptNode));\n const shadowRoot = root.shadowRoot;\n if (shadowRoot) {\n const walker = this._doc.createTreeWalker(shadowRoot, this.whatToShow, {\n acceptNode: this._acceptNode\n });\n this._walkerStack.unshift(walker);\n }\n }\n}\nfunction $dfc540311bf7f109$export$4d0f8be8b12a7ef6(doc, root, whatToShow, filter) {\n if ((0, $bJKXg$shadowDOM)()) return new $dfc540311bf7f109$export$63eb3ababa9c55c4(doc, root, whatToShow, filter);\n return doc.createTreeWalker(root, whatToShow, filter);\n}\n\n\nexport {$dfc540311bf7f109$export$63eb3ababa9c55c4 as ShadowTreeWalker, $dfc540311bf7f109$export$4d0f8be8b12a7ef6 as createShadowTreeWalker};\n//# sourceMappingURL=ShadowTreeWalker.module.js.map\n","import {chain as $ff5963eb1fccf552$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $bdb11010cef70236$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport $7jXr9$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $7jXr9$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $bdb11010cef70236$export$cd8c9cb68f842629)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $5dc95899b306f630$export$c9058316764c140e(...refs) {\n if (refs.length === 1 && refs[0]) return refs[0];\n return (value)=>{\n let hasCleanup = false;\n const cleanups = refs.map((ref)=>{\n const cleanup = $5dc95899b306f630$var$setRef(ref, value);\n hasCleanup || (hasCleanup = typeof cleanup == 'function');\n return cleanup;\n });\n if (hasCleanup) return ()=>{\n cleanups.forEach((cleanup, i)=>{\n if (typeof cleanup === 'function') cleanup();\n else $5dc95899b306f630$var$setRef(refs[i], null);\n });\n };\n };\n}\nfunction $5dc95899b306f630$var$setRef(ref, value) {\n if (typeof ref === 'function') return ref(value);\n else if (ref != null) ref.current = value;\n}\n\n\nexport {$5dc95899b306f630$export$c9058316764c140e as mergeRefs};\n//# sourceMappingURL=mergeRefs.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $65484d02dcb7eb3e$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $65484d02dcb7eb3e$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n// See LinkDOMProps in dom.d.ts.\nconst $65484d02dcb7eb3e$var$linkPropNames = new Set([\n 'href',\n 'hrefLang',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n]);\nconst $65484d02dcb7eb3e$var$globalAttrs = new Set([\n 'dir',\n 'lang',\n 'hidden',\n 'inert',\n 'translate'\n]);\nconst $65484d02dcb7eb3e$var$globalEvents = new Set([\n 'onClick',\n 'onAuxClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n 'onScroll',\n 'onWheel',\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n 'onTransitionCancel',\n 'onTransitionEnd',\n 'onTransitionRun',\n 'onTransitionStart'\n]);\nconst $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;\nfunction $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable, isLink: isLink, global: global, events: events = global, propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || global && $65484d02dcb7eb3e$var$globalAttrs.has(prop) || events && ($65484d02dcb7eb3e$var$globalEvents.has(prop) || prop.endsWith('Capture') && $65484d02dcb7eb3e$var$globalEvents.has(prop.slice(0, -7))) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$65484d02dcb7eb3e$export$457c3d6518dd4c6f as filterDOMProps};\n//# sourceMappingURL=filterDOMProps.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $7215afc6de606d6b$export$de79e2c695e052f3(element) {\n if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({\n preventScroll: true\n });\n else {\n let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);\n element.focus();\n $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);\n }\n}\nlet $7215afc6de606d6b$var$supportsPreventScrollCached = null;\nfunction $7215afc6de606d6b$var$supportsPreventScroll() {\n if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {\n $7215afc6de606d6b$var$supportsPreventScrollCached = false;\n try {\n let focusElem = document.createElement('div');\n focusElem.focus({\n get preventScroll () {\n $7215afc6de606d6b$var$supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch {\n // Ignore\n }\n }\n return $7215afc6de606d6b$var$supportsPreventScrollCached;\n}\nfunction $7215afc6de606d6b$var$getScrollableElements(element) {\n let parent = element.parentNode;\n let scrollableElements = [];\n let rootScrollingElement = document.scrollingElement || document.documentElement;\n while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n return scrollableElements;\n}\nfunction $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {\n for (let { element: element, scrollTop: scrollTop, scrollLeft: scrollLeft } of scrollableElements){\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\n\n\nexport {$7215afc6de606d6b$export$de79e2c695e052f3 as focusWithoutScrolling};\n//# sourceMappingURL=focusWithoutScrolling.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n let brands = (_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;\n return Array.isArray(brands) && brands.some((brand)=>re.test(brand.brand)) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$var$cached(fn) {\n if (process.env.NODE_ENV === 'test') return fn;\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n});\nconst $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n});\nconst $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n});\nconst $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n});\nconst $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n});\nconst $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n});\nconst $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n});\nconst $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n});\n\n\nexport {$c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $c87311424ea30a05$export$b7d78993b74f766d as isFirefox};\n//# sourceMappingURL=platform.module.js.map\n","import {focusWithoutScrolling as $7215afc6de606d6b$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isMac as $c87311424ea30a05$export$9ac100e40613ea10, isWebKit as $c87311424ea30a05$export$78551043582a6a98, isFirefox as $c87311424ea30a05$export$b7d78993b74f766d, isIPad as $c87311424ea30a05$export$7bef049ce92e4224} from \"./platform.mjs\";\nimport $g3jFn$react, {createContext as $g3jFn$createContext, useMemo as $g3jFn$useMemo, useContext as $g3jFn$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $ea8dcbcb9ea1b556$var$RouterContext = /*#__PURE__*/ (0, $g3jFn$createContext)({\n isNative: true,\n open: $ea8dcbcb9ea1b556$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $ea8dcbcb9ea1b556$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $g3jFn$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>{\n if ($ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $g3jFn$react).createElement($ea8dcbcb9ea1b556$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {\n return (0, $g3jFn$useContext)($ea8dcbcb9ea1b556$var$RouterContext);\n}\nfunction $ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n var _window_event_type, _window_event;\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if ((0, $c87311424ea30a05$export$b7d78993b74f766d)() && ((_window_event = window.event) === null || _window_event === void 0 ? void 0 : (_window_event_type = _window_event.type) === null || _window_event_type === void 0 ? void 0 : _window_event_type.startsWith('key')) && target.target === '_blank') {\n if ((0, $c87311424ea30a05$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $c87311424ea30a05$export$78551043582a6a98)() && (0, $c87311424ea30a05$export$9ac100e40613ea10)() && !(0, $c87311424ea30a05$export$7bef049ce92e4224)() && process.env.NODE_ENV !== 'test' ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n detail: 1,\n bubbles: true,\n cancelable: true\n });\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $7215afc6de606d6b$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\nfunction $ea8dcbcb9ea1b556$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>$ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n 'data-href': props.href ? href : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props === null || props === void 0 ? void 0 : props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n href: (props === null || props === void 0 ? void 0 : props.href) ? href : undefined,\n target: props === null || props === void 0 ? void 0 : props.target,\n rel: props === null || props === void 0 ? void 0 : props.rel,\n download: props === null || props === void 0 ? void 0 : props.download,\n ping: props === null || props === void 0 ? void 0 : props.ping,\n referrerPolicy: props === null || props === void 0 ? void 0 : props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f(e, router, href, routerOptions) {\n // If a custom router is provided, prevent default and forward if this link should client navigate.\n if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.\n !e.isDefaultPrevented() && $ea8dcbcb9ea1b556$export$efa8c9099e530235(e.currentTarget, e) && href) {\n e.preventDefault();\n router.open(e.currentTarget, e, href, routerOptions);\n }\n}\n\n\nexport {$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb as RouterProvider, $ea8dcbcb9ea1b556$export$efa8c9099e530235 as shouldClientNavigate, $ea8dcbcb9ea1b556$export$95185d699e05d4d7 as openLink, $ea8dcbcb9ea1b556$export$9a302a45f65d0572 as useRouter, $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $ea8dcbcb9ea1b556$export$51437d503373d223 as getSyntheticLinkProps, $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 as useLinkProps, $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f as handleLinkClick};\n//# sourceMappingURL=openLink.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\nlet $bbed8b41f857bcc0$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $bbed8b41f857bcc0$var$transitionCallbacks = new Set();\nfunction $bbed8b41f857bcc0$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Add the transitioning property to the list for this element.\n let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n e.target.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Remove property from list of transitioning properties.\n let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n e.target.removeEventListener('transitioncancel', onTransitionEnd);\n $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {\n for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();\n $bbed8b41f857bcc0$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $bbed8b41f857bcc0$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $bbed8b41f857bcc0$var$setupGlobalEvents);\n}\n/**\n * Cleans up any elements that are no longer in the document.\n * This is necessary because we can't rely on transitionend events to fire\n * for elements that are removed from the document while transitioning.\n */ function $bbed8b41f857bcc0$var$cleanupDetachedElements() {\n for (const [eventTarget] of $bbed8b41f857bcc0$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids\n // the explicit instanceof check, since it may be different in different contexts.\n if ('isConnected' in eventTarget && !eventTarget.isConnected) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);\n}\nfunction $bbed8b41f857bcc0$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $bbed8b41f857bcc0$var$cleanupDetachedElements();\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();\n else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$bbed8b41f857bcc0$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.module.js.map\n","import {useRef as $lPAwt$useRef, useCallback as $lPAwt$useCallback, useEffect as $lPAwt$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $03deb23ff14920c4$export$4eaf04e54aa8eed6() {\n let globalListeners = (0, $lPAwt$useRef)(new Map());\n let addGlobalListener = (0, $lPAwt$useCallback)((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, fn, options);\n }, []);\n let removeGlobalListener = (0, $lPAwt$useCallback)((eventTarget, type, listener, options)=>{\n var _globalListeners_current_get;\n let fn = ((_globalListeners_current_get = globalListeners.current.get(listener)) === null || _globalListeners_current_get === void 0 ? void 0 : _globalListeners_current_get.fn) || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = (0, $lPAwt$useCallback)(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n (0, $lPAwt$useEffect)(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\nexport {$03deb23ff14920c4$export$4eaf04e54aa8eed6 as useGlobalListeners};\n//# sourceMappingURL=useGlobalListeners.module.js.map\n","import {useId as $bdb11010cef70236$export$f680877a34711e37} from \"./useId.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $313b98861ee5dd6c$export$d6875122194c7b44(props, defaultLabel) {\n let { id: id, 'aria-label': label, 'aria-labelledby': labelledBy } = props;\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = (0, $bdb11010cef70236$export$f680877a34711e37)(id);\n if (labelledBy && label) {\n let ids = new Set([\n id,\n ...labelledBy.trim().split(/\\s+/)\n ]);\n labelledBy = [\n ...ids\n ].join(' ');\n } else if (labelledBy) labelledBy = labelledBy.trim().split(/\\s+/).join(' ');\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) label = defaultLabel;\n return {\n id: id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n };\n}\n\n\nexport {$313b98861ee5dd6c$export$d6875122194c7b44 as useLabels};\n//# sourceMappingURL=useLabels.module.js.map\n","import {useRef as $gbmns$useRef, useCallback as $gbmns$useCallback, useMemo as $gbmns$useMemo} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $df56164dff5785e2$export$4338b53315abf666(ref) {\n const objRef = (0, $gbmns$useRef)(null);\n const cleanupRef = (0, $gbmns$useRef)(undefined);\n const refEffect = (0, $gbmns$useCallback)((instance)=>{\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return ()=>{\n if (typeof refCleanup === 'function') refCleanup();\n else refCallback(null);\n };\n } else if (ref) {\n ref.current = instance;\n return ()=>{\n ref.current = null;\n };\n }\n }, [\n ref\n ]);\n return (0, $gbmns$useMemo)(()=>({\n get current () {\n return objRef.current;\n },\n set current (value){\n objRef.current = value;\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) cleanupRef.current = refEffect(value);\n }\n }), [\n refEffect\n ]);\n}\n\n\nexport {$df56164dff5785e2$export$4338b53315abf666 as useObjectRef};\n//# sourceMappingURL=useObjectRef.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport $lmaYr$react, {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nvar $8ae05eaa5c114e9c$var$_React_useInsertionEffect;\n// Use the earliest effect type possible. useInsertionEffect runs during the mutation phase,\n// before all layout effects, but is available only in React 18 and later.\nconst $8ae05eaa5c114e9c$var$useEarlyEffect = ($8ae05eaa5c114e9c$var$_React_useInsertionEffect = (0, $lmaYr$react)['useInsertionEffect']) !== null && $8ae05eaa5c114e9c$var$_React_useInsertionEffect !== void 0 ? $8ae05eaa5c114e9c$var$_React_useInsertionEffect : (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c);\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, $lmaYr$useRef)(null);\n $8ae05eaa5c114e9c$var$useEarlyEffect(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $lmaYr$useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $azsE2$useRef} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $ca9b37712f007381$export$72ef708ab07251f1(effect, dependencies) {\n const isInitialMount = (0, $azsE2$useRef)(true);\n const lastDeps = (0, $azsE2$useRef)(null);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n isInitialMount.current = true;\n return ()=>{\n isInitialMount.current = false;\n };\n }, []);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (isInitialMount.current) isInitialMount.current = false;\n else if (!lastDeps.current || dependencies.some((dep, i)=>!Object.is(dep, lastDeps[i]))) effect();\n lastDeps.current = dependencies;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n}\n\n\nexport {$ca9b37712f007381$export$72ef708ab07251f1 as useUpdateLayoutEffect};\n//# sourceMappingURL=useUpdateLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.module.js.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $cc38e7bd3fc7b213$export$2bb74740c4e19def(node, checkForOverflow) {\n if (!node) return false;\n let style = window.getComputedStyle(node);\n let isScrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n if (isScrollable && checkForOverflow) isScrollable = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;\n return isScrollable;\n}\n\n\nexport {$cc38e7bd3fc7b213$export$2bb74740c4e19def as isScrollable};\n//# sourceMappingURL=isScrollable.module.js.map\n","import {isScrollable as $cc38e7bd3fc7b213$export$2bb74740c4e19def} from \"./isScrollable.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $a40c673dc9f6d9c7$export$94ed1c92c7beeb22(node, checkForOverflow) {\n const scrollParents = [];\n while(node && node !== document.documentElement){\n if ((0, $cc38e7bd3fc7b213$export$2bb74740c4e19def)(node, checkForOverflow)) scrollParents.push(node);\n node = node.parentElement;\n }\n return scrollParents;\n}\n\n\nexport {$a40c673dc9f6d9c7$export$94ed1c92c7beeb22 as getScrollParents};\n//# sourceMappingURL=getScrollParents.module.js.map\n","import {isMac as $c87311424ea30a05$export$9ac100e40613ea10} from \"./platform.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $21f1aa98acb08317$export$16792effe837dba3(e) {\n if ((0, $c87311424ea30a05$export$9ac100e40613ea10)()) return e.metaKey;\n return e.ctrlKey;\n}\n// HTML input types that do not cause the software keyboard to appear.\nconst $21f1aa98acb08317$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nfunction $21f1aa98acb08317$export$c57958e35f31ed73(target) {\n return target instanceof HTMLInputElement && !$21f1aa98acb08317$var$nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;\n}\n\n\nexport {$21f1aa98acb08317$export$16792effe837dba3 as isCtrlKeyPressed, $21f1aa98acb08317$export$c57958e35f31ed73 as willOpenKeyboard};\n//# sourceMappingURL=keyboard.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useState as $hQ5Hp$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nlet $ef06256079686ba0$var$descriptionId = 0;\nconst $ef06256079686ba0$var$descriptionNodes = new Map();\nfunction $ef06256079686ba0$export$f8aeda7b10753fa1(description) {\n let [id, setId] = (0, $hQ5Hp$useState)();\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (!description) return;\n let desc = $ef06256079686ba0$var$descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${$ef06256079686ba0$var$descriptionId++}`;\n setId(id);\n let node = document.createElement('div');\n node.id = id;\n node.style.display = 'none';\n node.textContent = description;\n document.body.appendChild(node);\n desc = {\n refCount: 0,\n element: node\n };\n $ef06256079686ba0$var$descriptionNodes.set(description, desc);\n } else setId(desc.element.id);\n desc.refCount++;\n return ()=>{\n if (desc && --desc.refCount === 0) {\n desc.element.remove();\n $ef06256079686ba0$var$descriptionNodes.delete(description);\n }\n };\n }, [\n description\n ]);\n return {\n 'aria-describedby': description ? id : undefined\n };\n}\n\n\nexport {$ef06256079686ba0$export$f8aeda7b10753fa1 as useDescription};\n//# sourceMappingURL=useDescription.module.js.map\n","import {useEffectEvent as $8ae05eaa5c114e9c$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useEffect as $ceQd6$useEffect} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $e9faafb641e167db$export$90fc3a17d93f704c(ref, event, handler, options) {\n let handleEvent = (0, $8ae05eaa5c114e9c$export$7f54fc3180508a52)(handler);\n let isDisabled = handler == null;\n (0, $ceQd6$useEffect)(()=>{\n if (isDisabled || !ref.current) return;\n let element = ref.current;\n element.addEventListener(event, handleEvent, options);\n return ()=>{\n element.removeEventListener(event, handleEvent, options);\n };\n }, [\n ref,\n event,\n options,\n isDisabled\n ]);\n}\n\n\nexport {$e9faafb641e167db$export$90fc3a17d93f704c as useEvent};\n//# sourceMappingURL=useEvent.module.js.map\n","import {getScrollParents as $a40c673dc9f6d9c7$export$94ed1c92c7beeb22} from \"./getScrollParents.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $2f04cbc44ee30ce0$export$53a0910f038337bd(scrollView, element) {\n let offsetX = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, 'left');\n let offsetY = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, 'top');\n let width = element.offsetWidth;\n let height = element.offsetHeight;\n let x = scrollView.scrollLeft;\n let y = scrollView.scrollTop;\n // Account for top/left border offsetting the scroll top/Left + scroll padding\n let { borderTopWidth: borderTopWidth, borderLeftWidth: borderLeftWidth, scrollPaddingTop: scrollPaddingTop, scrollPaddingRight: scrollPaddingRight, scrollPaddingBottom: scrollPaddingBottom, scrollPaddingLeft: scrollPaddingLeft } = getComputedStyle(scrollView);\n let borderAdjustedX = x + parseInt(borderLeftWidth, 10);\n let borderAdjustedY = y + parseInt(borderTopWidth, 10);\n // Ignore end/bottom border via clientHeight/Width instead of offsetHeight/Width\n let maxX = borderAdjustedX + scrollView.clientWidth;\n let maxY = borderAdjustedY + scrollView.clientHeight;\n // Get scroll padding values as pixels - defaults to 0 if no scroll padding\n // is used.\n let scrollPaddingTopNumber = parseInt(scrollPaddingTop, 10) || 0;\n let scrollPaddingBottomNumber = parseInt(scrollPaddingBottom, 10) || 0;\n let scrollPaddingRightNumber = parseInt(scrollPaddingRight, 10) || 0;\n let scrollPaddingLeftNumber = parseInt(scrollPaddingLeft, 10) || 0;\n if (offsetX <= x + scrollPaddingLeftNumber) x = offsetX - parseInt(borderLeftWidth, 10) - scrollPaddingLeftNumber;\n else if (offsetX + width > maxX - scrollPaddingRightNumber) x += offsetX + width - maxX + scrollPaddingRightNumber;\n if (offsetY <= borderAdjustedY + scrollPaddingTopNumber) y = offsetY - parseInt(borderTopWidth, 10) - scrollPaddingTopNumber;\n else if (offsetY + height > maxY - scrollPaddingBottomNumber) y += offsetY + height - maxY + scrollPaddingBottomNumber;\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n}\n/**\n * Computes the offset left or top from child to ancestor by accumulating\n * offsetLeft or offsetTop through intervening offsetParents.\n */ function $2f04cbc44ee30ce0$var$relativeOffset(ancestor, child, axis) {\n const prop = axis === 'left' ? 'offsetLeft' : 'offsetTop';\n let sum = 0;\n while(child.offsetParent){\n sum += child[prop];\n if (child.offsetParent === ancestor) break;\n else if (child.offsetParent.contains(ancestor)) {\n // If the ancestor is not `position:relative`, then we stop at\n // _its_ offset parent, and we subtract off _its_ offset, so that\n // we end up with the proper offset from child to ancestor.\n sum -= ancestor[prop];\n break;\n }\n child = child.offsetParent;\n }\n return sum;\n}\nfunction $2f04cbc44ee30ce0$export$c826860796309d1b(targetElement, opts) {\n if (targetElement && document.contains(targetElement)) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n // If scrolling is not currently prevented then we aren’t in a overlay nor is a overlay open, just use element.scrollIntoView to bring the element into view\n if (!isScrollPrevented) {\n var // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n _targetElement_scrollIntoView;\n let { left: originalLeft, top: originalTop } = targetElement.getBoundingClientRect();\n targetElement === null || targetElement === void 0 ? void 0 : (_targetElement_scrollIntoView = targetElement.scrollIntoView) === null || _targetElement_scrollIntoView === void 0 ? void 0 : _targetElement_scrollIntoView.call(targetElement, {\n block: 'nearest'\n });\n let { left: newLeft, top: newTop } = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n var _opts_containingElement_scrollIntoView, _opts_containingElement, _targetElement_scrollIntoView1;\n opts === null || opts === void 0 ? void 0 : (_opts_containingElement = opts.containingElement) === null || _opts_containingElement === void 0 ? void 0 : (_opts_containingElement_scrollIntoView = _opts_containingElement.scrollIntoView) === null || _opts_containingElement_scrollIntoView === void 0 ? void 0 : _opts_containingElement_scrollIntoView.call(_opts_containingElement, {\n block: 'center',\n inline: 'center'\n });\n (_targetElement_scrollIntoView1 = targetElement.scrollIntoView) === null || _targetElement_scrollIntoView1 === void 0 ? void 0 : _targetElement_scrollIntoView1.call(targetElement, {\n block: 'nearest'\n });\n }\n } else {\n let scrollParents = (0, $a40c673dc9f6d9c7$export$94ed1c92c7beeb22)(targetElement);\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n if (!isScrollPrevented) scrollParents.push(root);\n for (let scrollParent of scrollParents)$2f04cbc44ee30ce0$export$53a0910f038337bd(scrollParent, targetElement);\n }\n }\n}\n\n\nexport {$2f04cbc44ee30ce0$export$53a0910f038337bd as scrollIntoView, $2f04cbc44ee30ce0$export$c826860796309d1b as scrollIntoViewport};\n//# sourceMappingURL=scrollIntoView.module.js.map\n","import {isAndroid as $c87311424ea30a05$export$a11b0059900ceec8} from \"./platform.mjs\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.pointerType === '' && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.module.js.map\n","import {useEffectEvent as $8ae05eaa5c114e9c$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useEffect as $8rM3G$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {\n let handleReset = (0, $8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{\n if (onReset) onReset(initialValue);\n });\n (0, $8rM3G$useEffect)(()=>{\n var _ref_current;\n let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;\n form === null || form === void 0 ? void 0 : form.addEventListener('reset', handleReset);\n return ()=>{\n form === null || form === void 0 ? void 0 : form.removeEventListener('reset', handleReset);\n };\n }, [\n ref\n ]);\n}\n\n\nexport {$99facab73266f662$export$5add1d006293d136 as useFormReset};\n//# sourceMappingURL=useFormReset.module.js.map\n","import {version as $iulvE$version} from \"react\";\n\n\nfunction $cdc5a6778b766db2$export$a9d04c5684123369(value) {\n const pieces = (0, $iulvE$version).split('.');\n const major = parseInt(pieces[0], 10);\n if (major >= 19) return value;\n // compatibility with React < 19\n return value ? 'true' : undefined;\n}\n\n\nexport {$cdc5a6778b766db2$export$a9d04c5684123369 as inertValue};\n//# sourceMappingURL=inertValue.module.js.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Custom event names for updating the autocomplete's aria-activedecendant.\nconst $5671b20cf9b562b2$export$447a38995de2c711 = 'react-aria-clear-focus';\nconst $5671b20cf9b562b2$export$831c820ad60f9d12 = 'react-aria-focus';\n\n\nexport {$5671b20cf9b562b2$export$447a38995de2c711 as CLEAR_FOCUS_EVENT, $5671b20cf9b562b2$export$831c820ad60f9d12 as FOCUS_EVENT};\n//# sourceMappingURL=constants.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {flushSync as $jJMAe$flushSync} from \"react-dom\";\nimport {useState as $jJMAe$useState, useCallback as $jJMAe$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $d3f049242431219c$export$6d3443f2c48bfc20(ref, isReady = true) {\n let [isEntering, setEntering] = (0, $jJMAe$useState)(true);\n let isAnimationReady = isEntering && isReady;\n // There are two cases for entry animations:\n // 1. CSS @keyframes. The `animation` property is set during the isEntering state, and it is removed after the animation finishes.\n // 2. CSS transitions. The initial styles are applied during the isEntering state, and removed immediately, causing the transition to occur.\n //\n // In the second case, cancel any transitions that were triggered prior to the isEntering = false state (when the transition is supposed to start).\n // This can happen when isReady starts as false (e.g. popovers prior to placement calculation).\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (isAnimationReady && ref.current && 'getAnimations' in ref.current) {\n for (let animation of ref.current.getAnimations())if (animation instanceof CSSTransition) animation.cancel();\n }\n }, [\n ref,\n isAnimationReady\n ]);\n $d3f049242431219c$var$useAnimation(ref, isAnimationReady, (0, $jJMAe$useCallback)(()=>setEntering(false), []));\n return isAnimationReady;\n}\nfunction $d3f049242431219c$export$45fda7c47f93fd48(ref, isOpen) {\n let [exitState, setExitState] = (0, $jJMAe$useState)(isOpen ? 'open' : 'closed');\n switch(exitState){\n case 'open':\n // If isOpen becomes false, set the state to exiting.\n if (!isOpen) setExitState('exiting');\n break;\n case 'closed':\n case 'exiting':\n // If we are exiting and isOpen becomes true, the animation was interrupted.\n // Reset the state to open.\n if (isOpen) setExitState('open');\n break;\n }\n let isExiting = exitState === 'exiting';\n $d3f049242431219c$var$useAnimation(ref, isExiting, (0, $jJMAe$useCallback)(()=>{\n // Set the state to closed, which will cause the element to be unmounted.\n setExitState((state)=>state === 'exiting' ? 'closed' : state);\n }, []));\n return isExiting;\n}\nfunction $d3f049242431219c$var$useAnimation(ref, isActive, onEnd) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (isActive && ref.current) {\n if (!('getAnimations' in ref.current)) {\n // JSDOM\n onEnd();\n return;\n }\n let animations = ref.current.getAnimations();\n if (animations.length === 0) {\n onEnd();\n return;\n }\n let canceled = false;\n Promise.all(animations.map((a)=>a.finished)).then(()=>{\n if (!canceled) (0, $jJMAe$flushSync)(()=>{\n onEnd();\n });\n }).catch(()=>{});\n return ()=>{\n canceled = true;\n };\n }\n }, [\n ref,\n isActive,\n onEnd\n ]);\n}\n\n\nexport {$d3f049242431219c$export$6d3443f2c48bfc20 as useEnterAnimation, $d3f049242431219c$export$45fda7c47f93fd48 as useExitAnimation};\n//# sourceMappingURL=animation.module.js.map\n","import {getOwnerWindow as $431fbd86ca7dc216$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $7d2416ea0959daaa$var$supportsCheckVisibility = typeof Element !== 'undefined' && 'checkVisibility' in Element.prototype;\nfunction $7d2416ea0959daaa$var$isStyleVisible(element) {\n const windowObject = (0, $431fbd86ca7dc216$export$f21a1ffae260145a)(element);\n if (!(element instanceof windowObject.HTMLElement) && !(element instanceof windowObject.SVGElement)) return false;\n let { display: display, visibility: visibility } = element.style;\n let isVisible = display !== 'none' && visibility !== 'hidden' && visibility !== 'collapse';\n if (isVisible) {\n const { getComputedStyle: getComputedStyle } = element.ownerDocument.defaultView;\n let { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);\n isVisible = computedDisplay !== 'none' && computedVisibility !== 'hidden' && computedVisibility !== 'collapse';\n }\n return isVisible;\n}\nfunction $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) {\n return !element.hasAttribute('hidden') && // Ignore HiddenSelect when tree walking.\n !element.hasAttribute('data-react-aria-prevent-focus') && (element.nodeName === 'DETAILS' && childElement && childElement.nodeName !== 'SUMMARY' ? element.hasAttribute('open') : true);\n}\nfunction $7d2416ea0959daaa$export$e989c0fffaa6b27a(element, childElement) {\n if ($7d2416ea0959daaa$var$supportsCheckVisibility) return element.checkVisibility({\n visibilityProperty: true\n }) && !element.closest('[data-react-aria-prevent-focus]');\n return element.nodeName !== '#comment' && $7d2416ea0959daaa$var$isStyleVisible(element) && $7d2416ea0959daaa$var$isAttributeVisible(element, childElement) && (!element.parentElement || $7d2416ea0959daaa$export$e989c0fffaa6b27a(element.parentElement, element));\n}\n\n\nexport {$7d2416ea0959daaa$export$e989c0fffaa6b27a as isElementVisible};\n//# sourceMappingURL=isElementVisible.module.js.map\n","import {isElementVisible as $7d2416ea0959daaa$export$e989c0fffaa6b27a} from \"./isElementVisible.mjs\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $b4b717babfbb907b$var$focusableElements = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable^=\"false\"])',\n 'permission'\n];\nconst $b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(':not([hidden]),') + ',[tabindex]:not([disabled]):not([hidden])';\n$b4b717babfbb907b$var$focusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst $b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR = $b4b717babfbb907b$var$focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\nfunction $b4b717babfbb907b$export$4c063cf1350e6fed(element) {\n return element.matches($b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR) && (0, $7d2416ea0959daaa$export$e989c0fffaa6b27a)(element) && !$b4b717babfbb907b$var$isInert(element);\n}\nfunction $b4b717babfbb907b$export$bebd5a1431fec25d(element) {\n return element.matches($b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR) && (0, $7d2416ea0959daaa$export$e989c0fffaa6b27a)(element) && !$b4b717babfbb907b$var$isInert(element);\n}\nfunction $b4b717babfbb907b$var$isInert(element) {\n let node = element;\n while(node != null){\n if (node instanceof node.ownerDocument.defaultView.HTMLElement && node.inert) return true;\n node = node.parentElement;\n }\n return false;\n}\n\n\nexport {$b4b717babfbb907b$export$4c063cf1350e6fed as isFocusable, $b4b717babfbb907b$export$bebd5a1431fec25d as isTabbable};\n//# sourceMappingURL=isFocusable.module.js.map\n","import $3whtM$react, {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, useReducer as $3whtM$useReducer, useCallback as $3whtM$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nvar $458b0a5536c1a7cf$var$_React_useInsertionEffect;\n// Use the earliest effect possible to reset the ref below.\nconst $458b0a5536c1a7cf$var$useEarlyEffect = typeof document !== 'undefined' ? ($458b0a5536c1a7cf$var$_React_useInsertionEffect = (0, $3whtM$react)['useInsertionEffect']) !== null && $458b0a5536c1a7cf$var$_React_useInsertionEffect !== void 0 ? $458b0a5536c1a7cf$var$_React_useInsertionEffect : (0, $3whtM$react).useLayoutEffect : ()=>{};\nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n // Store the value in both state and a ref. The state value will only be used when uncontrolled.\n // The ref is used to track the most current value, which is passed to the function setState callback.\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\n let valueRef = (0, $3whtM$useRef)(stateValue);\n let isControlledRef = (0, $3whtM$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $3whtM$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n // After each render, update the ref to the current value.\n // This ensures that the setState callback argument is reset.\n // Note: the effect should not have any dependencies so that controlled values always reset.\n let currentValue = isControlled ? value : stateValue;\n $458b0a5536c1a7cf$var$useEarlyEffect(()=>{\n valueRef.current = currentValue;\n });\n let [, forceUpdate] = (0, $3whtM$useReducer)(()=>({}), {});\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n // @ts-ignore - TS doesn't know that T cannot be a function.\n let newValue = typeof value === 'function' ? value(valueRef.current) : value;\n if (!Object.is(valueRef.current, newValue)) {\n // Update the ref so that the next setState callback has the most recent value.\n valueRef.current = newValue;\n setStateValue(newValue);\n // Always trigger a re-render, even when controlled, so that the layout effect above runs to reset the value.\n forceUpdate();\n // Trigger onChange. Note that if setState is called multiple times in a single event,\n // onChange will be called for each one instead of only once.\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue, ...args);\n }\n }, [\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.module.js.map\n","import {useObjectRef as $iETbY$useObjectRef, mergeRefs as $iETbY$mergeRefs, mergeProps as $iETbY$mergeProps, useLayoutEffect as $iETbY$useLayoutEffect} from \"@react-aria/utils\";\nimport $iETbY$react, {useMemo as $iETbY$useMemo, useContext as $iETbY$useContext, useState as $iETbY$useState, useRef as $iETbY$useRef, useCallback as $iETbY$useCallback} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $64fa3d84918910a7$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $iETbY$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $64fa3d84918910a7$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values } = props;\n return (0, $iETbY$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName !== null && computedClassName !== void 0 ? computedClassName : defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren !== null && computedChildren !== void 0 ? computedChildren : defaultChildren,\n 'data-rac': ''\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values\n ]);\n}\nfunction $64fa3d84918910a7$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $64fa3d84918910a7$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $iETbY$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let slotKey = slot || $64fa3d84918910a7$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n let errorMessage = slot ? `Invalid slot \"${slot}\".` : 'A slot prop is required.';\n throw new Error(`${errorMessage} Valid slot names are ${availableSlots}.`);\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $64fa3d84918910a7$export$fabf2dc03a41866e(context, props.slot) || {};\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $iETbY$useObjectRef)((0, $iETbY$useMemo)(()=>(0, $iETbY$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $iETbY$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(initialState = true) {\n // Initial state is typically based on the parent having an aria-label or aria-labelledby.\n // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect\n let [hasSlot, setHasSlot] = (0, $iETbY$useState)(initialState);\n let hasRun = (0, $iETbY$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $iETbY$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $iETbY$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $64fa3d84918910a7$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$64fa3d84918910a7$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $64fa3d84918910a7$export$2881499e37b75b9a as Provider, $64fa3d84918910a7$export$4d86445c2cf5e3 as useRenderProps, $64fa3d84918910a7$export$c245e6201fed2f75 as composeRenderProps, $64fa3d84918910a7$export$fabf2dc03a41866e as useSlottedContext, $64fa3d84918910a7$export$29f1550f4b0d4415 as useContextProps, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8 as useSlot, $64fa3d84918910a7$export$ef03459518577ad4 as removeDataAttributes};\n//# sourceMappingURL=utils.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $319e236875307eab$var$liveAnnouncer = null;\nfunction $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();\n // wait for the live announcer regions to be added to the dom, then announce\n // otherwise Safari won't announce the message if it's added too quickly\n // found most times less than 100ms were not consistent when announcing with Safari\n // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.\n // https://github.com/reactwg/react-18/discussions/102\n // if we're in a test environment, announce without waiting\n // @ts-ignore\n if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{\n if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n }, 100);\n else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $319e236875307eab$export$d10ae4f68404609a(assertiveness) {\n if ($319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $319e236875307eab$export$d8686216b8b81b2f() {\n if ($319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer.destroy();\n $319e236875307eab$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $319e236875307eab$var$LiveAnnouncer {\n isAttached() {\n var _this_node;\n return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;\n }\n createLog(ariaLive) {\n let node = document.createElement('div');\n node.setAttribute('role', 'log');\n node.setAttribute('aria-live', ariaLive);\n node.setAttribute('aria-relevant', 'additions');\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n var _this_assertiveLog, _this_politeLog;\n if (!this.node) return;\n let node = document.createElement('div');\n if (typeof message === 'object') {\n // To read an aria-labelledby, the element must have an appropriate role, such as img.\n node.setAttribute('role', 'img');\n node.setAttribute('aria-labelledby', message['aria-labelledby']);\n } else node.textContent = message;\n if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);\n else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);\n if (message !== '') setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';\n if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';\n }\n constructor(){\n this.node = null;\n this.assertiveLog = null;\n this.politeLog = null;\n if (typeof document !== 'undefined') {\n this.node = document.createElement('div');\n this.node.dataset.liveAnnouncer = 'true';\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n });\n this.assertiveLog = this.createLog('assertive');\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog('polite');\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n }\n}\n\n\nexport {$319e236875307eab$export$a9b970dcc4ae71a9 as announce, $319e236875307eab$export$d10ae4f68404609a as clearAnnouncer, $319e236875307eab$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=LiveAnnouncer.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // https://en.wikipedia.org/wiki/Right-to-left\nconst $148a7a147e38ea7f$var$RTL_SCRIPTS = new Set([\n 'Arab',\n 'Syrc',\n 'Samr',\n 'Mand',\n 'Thaa',\n 'Mend',\n 'Nkoo',\n 'Adlm',\n 'Rohg',\n 'Hebr'\n]);\nconst $148a7a147e38ea7f$var$RTL_LANGS = new Set([\n 'ae',\n 'ar',\n 'arc',\n 'bcc',\n 'bqi',\n 'ckb',\n 'dv',\n 'fa',\n 'glk',\n 'he',\n 'ku',\n 'mzn',\n 'nqo',\n 'pnb',\n 'ps',\n 'sd',\n 'ug',\n 'ur',\n 'yi'\n]);\nfunction $148a7a147e38ea7f$export$702d680b21cbd764(localeString) {\n // If the Intl.Locale API is available, use it to get the locale's text direction.\n if (Intl.Locale) {\n let locale = new Intl.Locale(localeString).maximize();\n // Use the text info object to get the direction if possible.\n // @ts-ignore - this was implemented as a property by some browsers before it was standardized as a function.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getTextInfo\n let textInfo = typeof locale.getTextInfo === 'function' ? locale.getTextInfo() : locale.textInfo;\n if (textInfo) return textInfo.direction === 'rtl';\n // Fallback: guess using the script.\n // This is more accurate than guessing by language, since languages can be written in multiple scripts.\n if (locale.script) return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(locale.script);\n }\n // If not, just guess by the language (first part of the locale)\n let lang = localeString.split('-')[0];\n return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);\n}\n\n\nexport {$148a7a147e38ea7f$export$702d680b21cbd764 as isRTL};\n//# sourceMappingURL=utils.module.js.map\n","import {isRTL as $148a7a147e38ea7f$export$702d680b21cbd764} from \"./utils.mjs\";\nimport {useState as $ffhGL$useState, useEffect as $ffhGL$useEffect} from \"react\";\nimport {useIsSSR as $ffhGL$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n// Locale passed from server by PackageLocalizationProvider.\nconst $1e5a04cdaf7d1af8$var$localeSymbol = Symbol.for('react-aria.i18n.locale');\nfunction $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {\n let locale = typeof window !== 'undefined' && window[$1e5a04cdaf7d1af8$var$localeSymbol] || typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage) || 'en-US';\n try {\n Intl.DateTimeFormat.supportedLocalesOf([\n locale\n ]);\n } catch {\n locale = 'en-US';\n }\n return {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'\n };\n}\nlet $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\nlet $1e5a04cdaf7d1af8$var$listeners = new Set();\nfunction $1e5a04cdaf7d1af8$var$updateLocale() {\n $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();\n for (let listener of $1e5a04cdaf7d1af8$var$listeners)listener($1e5a04cdaf7d1af8$var$currentLocale);\n}\nfunction $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {\n let isSSR = (0, $ffhGL$useIsSSR)();\n let [defaultLocale, setDefaultLocale] = (0, $ffhGL$useState)($1e5a04cdaf7d1af8$var$currentLocale);\n (0, $ffhGL$useEffect)(()=>{\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener('languagechange', $1e5a04cdaf7d1af8$var$updateLocale);\n $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);\n return ()=>{\n $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);\n if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener('languagechange', $1e5a04cdaf7d1af8$var$updateLocale);\n };\n }, []);\n // We cannot determine the browser's language on the server, so default to\n // en-US. This will be updated after hydration on the client to the correct value.\n if (isSSR) {\n let locale = typeof window !== 'undefined' && window[$1e5a04cdaf7d1af8$var$localeSymbol];\n return {\n locale: locale || 'en-US',\n direction: 'ltr'\n };\n }\n return defaultLocale;\n}\n\n\nexport {$1e5a04cdaf7d1af8$export$f09106e7c6677ec5 as getDefaultLocale, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a as useDefaultLocale};\n//# sourceMappingURL=useDefaultLocale.module.js.map\n","import {isRTL as $148a7a147e38ea7f$export$702d680b21cbd764} from \"./utils.mjs\";\nimport {useDefaultLocale as $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a} from \"./useDefaultLocale.mjs\";\nimport $h9FiU$react, {useContext as $h9FiU$useContext} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $18f2051aff69b9bf$var$I18nContext = /*#__PURE__*/ (0, $h9FiU$react).createContext(null);\n/**\n * Internal component that handles the case when locale is provided.\n */ function $18f2051aff69b9bf$var$I18nProviderWithLocale(props) {\n let { locale: locale, children: children } = props;\n let value = (0, $h9FiU$react).useMemo(()=>({\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'\n }), [\n locale\n ]);\n return /*#__PURE__*/ (0, $h9FiU$react).createElement($18f2051aff69b9bf$var$I18nContext.Provider, {\n value: value\n }, children);\n}\n/**\n * Internal component that handles the case when no locale is provided.\n */ function $18f2051aff69b9bf$var$I18nProviderWithDefaultLocale(props) {\n let { children: children } = props;\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n return /*#__PURE__*/ (0, $h9FiU$react).createElement($18f2051aff69b9bf$var$I18nContext.Provider, {\n value: defaultLocale\n }, children);\n}\nfunction $18f2051aff69b9bf$export$a54013f0d02a8f82(props) {\n let { locale: locale, children: children } = props;\n // Conditionally render different components to avoid calling useDefaultLocale.\n // This is necessary because useDefaultLocale triggers a re-render.\n if (locale) return /*#__PURE__*/ (0, $h9FiU$react).createElement($18f2051aff69b9bf$var$I18nProviderWithLocale, {\n locale: locale,\n children: children\n });\n return /*#__PURE__*/ (0, $h9FiU$react).createElement($18f2051aff69b9bf$var$I18nProviderWithDefaultLocale, {\n children: children\n });\n}\nfunction $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let context = (0, $h9FiU$useContext)($18f2051aff69b9bf$var$I18nContext);\n return context || defaultLocale;\n}\n\n\nexport {$18f2051aff69b9bf$export$a54013f0d02a8f82 as I18nProvider, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 as useLocale};\n//# sourceMappingURL=context.module.js.map\n","function _check_private_redeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nexport { _check_private_redeclaration as _ };\n","import { _ as _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nfunction _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nexport { _class_private_field_init as _ };\n","import {useLayoutEffect as $6dfIe$useLayoutEffect, isFocusable as $6dfIe$isFocusable, getOwnerWindow as $6dfIe$getOwnerWindow, focusWithoutScrolling as $6dfIe$focusWithoutScrolling} from \"@react-aria/utils\";\nimport {useRef as $6dfIe$useRef, useCallback as $6dfIe$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8a9cb279dc87e130$export$525bc4921d56d4a(nativeEvent) {\n let event = nativeEvent;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = ()=>event.defaultPrevented;\n // cancelBubble is technically deprecated in the spec, but still supported in all browsers.\n event.isPropagationStopped = ()=>event.cancelBubble;\n event.persist = ()=>{};\n return event;\n}\nfunction $8a9cb279dc87e130$export$c2b7abe5d61ec696(event, target) {\n Object.defineProperty(event, 'target', {\n value: target\n });\n Object.defineProperty(event, 'currentTarget', {\n value: target\n });\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $6dfIe$useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n (0, $6dfIe$useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n // This function is called during a React onFocus event.\n return (0, $6dfIe$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) {\n // For backward compatibility, dispatch a (fake) React synthetic event.\n let event = $8a9cb279dc87e130$export$525bc4921d56d4a(e);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n onBlur\n ]);\n}\nlet $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;\nfunction $8a9cb279dc87e130$export$cabe61c495ee3649(target) {\n // The browser will focus the nearest focusable ancestor of our target.\n while(target && !(0, $6dfIe$isFocusable)(target))target = target.parentElement;\n let window = (0, $6dfIe$getOwnerWindow)(target);\n let activeElement = window.document.activeElement;\n if (!activeElement || activeElement === target) return;\n $8a9cb279dc87e130$export$fda7da73ab5d4c48 = true;\n let isRefocusing = false;\n let onBlur = (e)=>{\n if (e.target === activeElement || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusOut = (e)=>{\n if (e.target === activeElement || isRefocusing) {\n e.stopImmediatePropagation();\n // If there was no focusable ancestor, we don't expect a focus event.\n // Re-focus the original active element here.\n if (!target && !isRefocusing) {\n isRefocusing = true;\n (0, $6dfIe$focusWithoutScrolling)(activeElement);\n cleanup();\n }\n }\n };\n let onFocus = (e)=>{\n if (e.target === target || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusIn = (e)=>{\n if (e.target === target || isRefocusing) {\n e.stopImmediatePropagation();\n if (!isRefocusing) {\n isRefocusing = true;\n (0, $6dfIe$focusWithoutScrolling)(activeElement);\n cleanup();\n }\n }\n };\n window.addEventListener('blur', onBlur, true);\n window.addEventListener('focusout', onFocusOut, true);\n window.addEventListener('focusin', onFocusIn, true);\n window.addEventListener('focus', onFocus, true);\n let cleanup = ()=>{\n cancelAnimationFrame(raf);\n window.removeEventListener('blur', onBlur, true);\n window.removeEventListener('focusout', onFocusOut, true);\n window.removeEventListener('focusin', onFocusIn, true);\n window.removeEventListener('focus', onFocus, true);\n $8a9cb279dc87e130$export$fda7da73ab5d4c48 = false;\n isRefocusing = false;\n };\n let raf = requestAnimationFrame(cleanup);\n return cleanup;\n}\n\n\nexport {$8a9cb279dc87e130$export$525bc4921d56d4a as createSyntheticEvent, $8a9cb279dc87e130$export$c2b7abe5d61ec696 as setEventTarget, $8a9cb279dc87e130$export$715c682d09d639cc as useSyntheticBlurEvent, $8a9cb279dc87e130$export$fda7da73ab5d4c48 as ignoreFocusEvent, $8a9cb279dc87e130$export$cabe61c495ee3649 as preventFocus};\n//# sourceMappingURL=utils.module.js.map\n","import {isIOS as $7R18e$isIOS, getOwnerDocument as $7R18e$getOwnerDocument, runAfterTransition as $7R18e$runAfterTransition} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet $14c0b72509d70225$var$state = 'default';\nlet $14c0b72509d70225$var$savedUserSelect = '';\nlet $14c0b72509d70225$var$modifiedElementMap = new WeakMap();\nfunction $14c0b72509d70225$export$16a4697467175487(target) {\n if ((0, $7R18e$isIOS)()) {\n if ($14c0b72509d70225$var$state === 'default') {\n const documentObject = (0, $7R18e$getOwnerDocument)(target);\n $14c0b72509d70225$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;\n documentObject.documentElement.style.webkitUserSelect = 'none';\n }\n $14c0b72509d70225$var$state = 'disabled';\n } else if (target instanceof HTMLElement || target instanceof SVGElement) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n $14c0b72509d70225$var$modifiedElementMap.set(target, target.style[property]);\n target.style[property] = 'none';\n }\n}\nfunction $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {\n if ((0, $7R18e$isIOS)()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if ($14c0b72509d70225$var$state !== 'disabled') return;\n $14c0b72509d70225$var$state = 'restoring';\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(()=>{\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n (0, $7R18e$runAfterTransition)(()=>{\n // Avoid race conditions\n if ($14c0b72509d70225$var$state === 'restoring') {\n const documentObject = (0, $7R18e$getOwnerDocument)(target);\n if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || '';\n $14c0b72509d70225$var$savedUserSelect = '';\n $14c0b72509d70225$var$state = 'default';\n }\n });\n }, 300);\n } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n {\n if (target && $14c0b72509d70225$var$modifiedElementMap.has(target)) {\n let targetOldUserSelect = $14c0b72509d70225$var$modifiedElementMap.get(target);\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n if (target.style[property] === 'none') target.style[property] = targetOldUserSelect;\n if (target.getAttribute('style') === '') target.removeAttribute('style');\n $14c0b72509d70225$var$modifiedElementMap.delete(target);\n }\n }\n}\n\n\nexport {$14c0b72509d70225$export$16a4697467175487 as disableTextSelection, $14c0b72509d70225$export$b0d6fa1ab32e3295 as restoreTextSelection};\n//# sourceMappingURL=textSelection.module.js.map\n","import $3aeG1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = (0, $3aeG1$react).createContext({\n register: ()=>{}\n});\n$ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$ae1eeba8b9eafd08$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.module.js.map\n","function _class_apply_descriptor_get(receiver, descriptor) {\n if (descriptor.get) return descriptor.get.call(receiver);\n\n return descriptor.value;\n}\nexport { _class_apply_descriptor_get as _ };\n","function _class_extract_field_descriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n\n return privateMap.get(receiver);\n}\nexport { _class_extract_field_descriptor as _ };\n","import { _ as _class_apply_descriptor_get } from \"./_class_apply_descriptor_get.js\";\nimport { _ as _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nfunction _class_private_field_get(receiver, privateMap) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"get\");\n return _class_apply_descriptor_get(receiver, descriptor);\n}\nexport { _class_private_field_get as _ };\n","function _class_apply_descriptor_set(receiver, descriptor, value) {\n if (descriptor.set) descriptor.set.call(receiver, value);\n else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}\nexport { _class_apply_descriptor_set as _ };\n","import { _ as _class_apply_descriptor_set } from \"./_class_apply_descriptor_set.js\";\nimport { _ as _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nfunction _class_private_field_set(receiver, privateMap, value) {\n var descriptor = _class_extract_field_descriptor(receiver, privateMap, \"set\");\n _class_apply_descriptor_set(receiver, descriptor, value);\n return value;\n}\nexport { _class_private_field_set as _ };\n","import {createSyntheticEvent as $8a9cb279dc87e130$export$525bc4921d56d4a, preventFocus as $8a9cb279dc87e130$export$cabe61c495ee3649, setEventTarget as $8a9cb279dc87e130$export$c2b7abe5d61ec696} from \"./utils.mjs\";\nimport {disableTextSelection as $14c0b72509d70225$export$16a4697467175487, restoreTextSelection as $14c0b72509d70225$export$b0d6fa1ab32e3295} from \"./textSelection.mjs\";\nimport {PressResponderContext as $ae1eeba8b9eafd08$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {_ as $7mdmh$_} from \"@swc/helpers/_/_class_private_field_get\";\nimport {_ as $7mdmh$_1} from \"@swc/helpers/_/_class_private_field_init\";\nimport {_ as $7mdmh$_2} from \"@swc/helpers/_/_class_private_field_set\";\nimport {mergeProps as $7mdmh$mergeProps, useSyncRef as $7mdmh$useSyncRef, useGlobalListeners as $7mdmh$useGlobalListeners, useEffectEvent as $7mdmh$useEffectEvent, useLayoutEffect as $7mdmh$useLayoutEffect, getEventTarget as $7mdmh$getEventTarget, nodeContains as $7mdmh$nodeContains, openLink as $7mdmh$openLink, chain as $7mdmh$chain, getOwnerDocument as $7mdmh$getOwnerDocument, focusWithoutScrolling as $7mdmh$focusWithoutScrolling, getOwnerWindow as $7mdmh$getOwnerWindow, isMac as $7mdmh$isMac, isVirtualClick as $7mdmh$isVirtualClick, isVirtualPointerEvent as $7mdmh$isVirtualPointerEvent} from \"@react-aria/utils\";\nimport {flushSync as $7mdmh$flushSync} from \"react-dom\";\nimport {useContext as $7mdmh$useContext, useState as $7mdmh$useState, useRef as $7mdmh$useRef, useCallback as $7mdmh$useCallback, useMemo as $7mdmh$useMemo, useEffect as $7mdmh$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\n\n\nfunction $f6c31cce2adf654f$var$usePressResponderContext(props) {\n // Consume context from <PressResponder> and merge with props.\n let context = (0, $7mdmh$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n if (context) {\n let { register: register, ...contextProps } = context;\n props = (0, $7mdmh$mergeProps)(contextProps, props);\n register();\n }\n (0, $7mdmh$useSyncRef)(context, props.ref);\n return props;\n}\nvar $f6c31cce2adf654f$var$_shouldStopPropagation = /*#__PURE__*/ new WeakMap();\nclass $f6c31cce2adf654f$var$PressEvent {\n continuePropagation() {\n (0, $7mdmh$_2)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, false);\n }\n get shouldStopPropagation() {\n return (0, $7mdmh$_)(this, $f6c31cce2adf654f$var$_shouldStopPropagation);\n }\n constructor(type, pointerType, originalEvent, state){\n (0, $7mdmh$_1)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, {\n writable: true,\n value: void 0\n });\n (0, $7mdmh$_2)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, true);\n var _state_target;\n let currentTarget = (_state_target = state === null || state === void 0 ? void 0 : state.target) !== null && _state_target !== void 0 ? _state_target : originalEvent.currentTarget;\n const rect = currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.getBoundingClientRect();\n let x, y = 0;\n let clientX, clientY = null;\n if (originalEvent.clientX != null && originalEvent.clientY != null) {\n clientX = originalEvent.clientX;\n clientY = originalEvent.clientY;\n }\n if (rect) {\n if (clientX != null && clientY != null) {\n x = clientX - rect.left;\n y = clientY - rect.top;\n } else {\n x = rect.width / 2;\n y = rect.height / 2;\n }\n }\n this.type = type;\n this.pointerType = pointerType;\n this.target = originalEvent.currentTarget;\n this.shiftKey = originalEvent.shiftKey;\n this.metaKey = originalEvent.metaKey;\n this.ctrlKey = originalEvent.ctrlKey;\n this.altKey = originalEvent.altKey;\n this.x = x;\n this.y = y;\n }\n}\nconst $f6c31cce2adf654f$var$LINK_CLICKED = Symbol('linkClicked');\nconst $f6c31cce2adf654f$var$STYLE_ID = 'react-aria-pressable-style';\nconst $f6c31cce2adf654f$var$PRESSABLE_ATTRIBUTE = 'data-react-aria-pressable';\nfunction $f6c31cce2adf654f$export$45712eceda6fad21(props) {\n let { onPress: onPress, onPressChange: onPressChange, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onClick: onClick, isDisabled: isDisabled, isPressed: isPressedProp, preventFocusOnPress: preventFocusOnPress, shouldCancelOnPointerExit: shouldCancelOnPointerExit, allowTextSelectionOnPress: allowTextSelectionOnPress, ref: domRef, ...domProps } = $f6c31cce2adf654f$var$usePressResponderContext(props);\n let [isPressed, setPressed] = (0, $7mdmh$useState)(false);\n let ref = (0, $7mdmh$useRef)({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n didFirePressStart: false,\n isTriggeringEvent: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null,\n disposables: []\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners, removeGlobalListener: removeGlobalListener } = (0, $7mdmh$useGlobalListeners)();\n let triggerPressStart = (0, $7mdmh$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled || state.didFirePressStart) return false;\n let shouldStopPropagation = true;\n state.isTriggeringEvent = true;\n if (onPressStart) {\n let event = new $f6c31cce2adf654f$var$PressEvent('pressstart', pointerType, originalEvent);\n onPressStart(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(true);\n state.isTriggeringEvent = false;\n state.didFirePressStart = true;\n setPressed(true);\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressStart,\n onPressChange\n ]);\n let triggerPressEnd = (0, $7mdmh$useCallback)((originalEvent, pointerType, wasPressed = true)=>{\n let state = ref.current;\n if (!state.didFirePressStart) return false;\n state.didFirePressStart = false;\n state.isTriggeringEvent = true;\n let shouldStopPropagation = true;\n if (onPressEnd) {\n let event = new $f6c31cce2adf654f$var$PressEvent('pressend', pointerType, originalEvent);\n onPressEnd(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(false);\n setPressed(false);\n if (onPress && wasPressed && !isDisabled) {\n let event = new $f6c31cce2adf654f$var$PressEvent('press', pointerType, originalEvent);\n onPress(event);\n shouldStopPropagation && (shouldStopPropagation = event.shouldStopPropagation);\n }\n state.isTriggeringEvent = false;\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressEnd,\n onPressChange,\n onPress\n ]);\n let triggerPressEndEvent = (0, $7mdmh$useEffectEvent)(triggerPressEnd);\n let triggerPressUp = (0, $7mdmh$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled) return false;\n if (onPressUp) {\n state.isTriggeringEvent = true;\n let event = new $f6c31cce2adf654f$var$PressEvent('pressup', pointerType, originalEvent);\n onPressUp(event);\n state.isTriggeringEvent = false;\n return event.shouldStopPropagation;\n }\n return true;\n }, [\n isDisabled,\n onPressUp\n ]);\n let triggerPressUpEvent = (0, $7mdmh$useEffectEvent)(triggerPressUp);\n let cancel = (0, $7mdmh$useCallback)((e)=>{\n let state = ref.current;\n if (state.isPressed && state.target) {\n if (state.didFirePressStart && state.pointerType != null) triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n setIsPointerPressed(null);\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n }\n }, [\n allowTextSelectionOnPress,\n removeAllGlobalListeners,\n triggerPressEnd\n ]);\n let cancelEvent = (0, $7mdmh$useEffectEvent)(cancel);\n let cancelOnPointerExit = (0, $7mdmh$useCallback)((e)=>{\n if (shouldCancelOnPointerExit) cancel(e);\n }, [\n shouldCancelOnPointerExit,\n cancel\n ]);\n let triggerClick = (0, $7mdmh$useCallback)((e)=>{\n if (isDisabled) return;\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n }, [\n isDisabled,\n onClick\n ]);\n let triggerSyntheticClick = (0, $7mdmh$useCallback)((e, target)=>{\n if (isDisabled) return;\n // Some third-party libraries pass in onClick instead of onPress.\n // Create a fake mouse event and trigger onClick as well.\n // This matches the browser's native activation behavior for certain elements (e.g. button).\n // https://html.spec.whatwg.org/#activation\n // https://html.spec.whatwg.org/#fire-a-synthetic-pointer-event\n if (onClick) {\n let event = new MouseEvent('click', e);\n (0, $8a9cb279dc87e130$export$c2b7abe5d61ec696)(event, target);\n onClick((0, $8a9cb279dc87e130$export$525bc4921d56d4a)(event));\n }\n }, [\n isDisabled,\n onClick\n ]);\n let triggerSyntheticClickEvent = (0, $7mdmh$useEffectEvent)(triggerSyntheticClick);\n let [isElemKeyPressed, setIsElemKeyPressed] = (0, $7mdmh$useState)(false);\n (0, $7mdmh$useLayoutEffect)(()=>{\n let state = ref.current;\n if (isElemKeyPressed) {\n let onKeyUp = (e)=>{\n var _state_metaKeyEvents;\n if (state.isPressed && state.target && $f6c31cce2adf654f$var$isValidKeyboardEvent(e, state.target)) {\n var _state_metaKeyEvents1;\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e), e.key)) e.preventDefault();\n let target = (0, $7mdmh$getEventTarget)(e);\n let wasPressed = (0, $7mdmh$nodeContains)(state.target, (0, $7mdmh$getEventTarget)(e));\n triggerPressEndEvent($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard', wasPressed);\n if (wasPressed) triggerSyntheticClickEvent(e, state.target);\n removeAllGlobalListeners();\n // If a link was triggered with a key other than Enter, open the URL ourselves.\n // This means the link has a role override, and the default browser behavior\n // only applies when using the Enter key.\n if (e.key !== 'Enter' && $f6c31cce2adf654f$var$isHTMLAnchorLink(state.target) && (0, $7mdmh$nodeContains)(state.target, target) && !e[$f6c31cce2adf654f$var$LINK_CLICKED]) {\n // Store a hidden property on the event so we only trigger link click once,\n // even if there are multiple usePress instances attached to the element.\n e[$f6c31cce2adf654f$var$LINK_CLICKED] = true;\n (0, $7mdmh$openLink)(state.target, e, false);\n }\n state.isPressed = false;\n setIsElemKeyPressed(false);\n (_state_metaKeyEvents1 = state.metaKeyEvents) === null || _state_metaKeyEvents1 === void 0 ? void 0 : _state_metaKeyEvents1.delete(e.key);\n } else if (e.key === 'Meta' && ((_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.size)) {\n var _state_target;\n // If we recorded keydown events that occurred while the Meta key was pressed,\n // and those haven't received keyup events already, fire keyup events ourselves.\n // See comment above for more info about the macOS bug causing this.\n let events = state.metaKeyEvents;\n state.metaKeyEvents = undefined;\n for (let event of events.values())(_state_target = state.target) === null || _state_target === void 0 ? void 0 : _state_target.dispatchEvent(new KeyboardEvent('keyup', event));\n }\n };\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred. Make it capturing so that it will trigger\n // before stopPropagation from useKeyboard on a child element may happen and thus we can still call triggerPress for the parent element.\n let originalTarget = state.target;\n let pressUp = (e)=>{\n if (originalTarget && $f6c31cce2adf654f$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && (0, $7mdmh$nodeContains)(originalTarget, (0, $7mdmh$getEventTarget)(e)) && state.target) triggerPressUpEvent($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard');\n };\n let listener = (0, $7mdmh$chain)(pressUp, onKeyUp);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'keyup', listener, true);\n return ()=>{\n removeGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'keyup', listener, true);\n };\n }\n }, [\n isElemKeyPressed,\n addGlobalListener,\n removeAllGlobalListeners,\n removeGlobalListener\n ]);\n let [isPointerPressed, setIsPointerPressed] = (0, $7mdmh$useState)(null);\n (0, $7mdmh$useLayoutEffect)(()=>{\n let state = ref.current;\n if (isPointerPressed === 'pointer') {\n let onPointerUp = (e)=>{\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {\n if ((0, $7mdmh$nodeContains)(state.target, (0, $7mdmh$getEventTarget)(e)) && state.pointerType != null) {\n // Wait for onClick to fire onPress. This avoids browser issues when the DOM\n // is mutated between onPointerUp and onClick, and is more compatible with third party libraries.\n // https://github.com/adobe/react-spectrum/issues/1513\n // https://issues.chromium.org/issues/40732224\n // However, iOS and Android do not focus or fire onClick after a long press.\n // We work around this by triggering a click ourselves after a timeout.\n // This timeout is canceled during the click event in case the real one fires first.\n // The timeout must be at least 32ms, because Safari on iOS delays the click event on\n // non-form elements without certain ARIA roles (for hover emulation).\n // https://github.com/WebKit/WebKit/blob/dccfae42bb29bd4bdef052e469f604a9387241c0/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm#L875-L892\n let clicked = false;\n let timeout = setTimeout(()=>{\n if (state.isPressed && state.target instanceof HTMLElement) {\n if (clicked) cancelEvent(e);\n else {\n (0, $7mdmh$focusWithoutScrolling)(state.target);\n state.target.click();\n }\n }\n }, 80);\n // Use a capturing listener to track if a click occurred.\n // If stopPropagation is called it may never reach our handler.\n addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);\n state.disposables.push(()=>clearTimeout(timeout));\n } else cancelEvent(e);\n // Ignore subsequent onPointerLeave event before onClick on touch devices.\n state.isOverTarget = false;\n }\n };\n let onPointerCancel = (e)=>{\n cancelEvent(e);\n };\n addGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'pointerup', onPointerUp, false);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'pointercancel', onPointerCancel, false);\n return ()=>{\n removeGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'pointerup', onPointerUp, false);\n removeGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'pointercancel', onPointerCancel, false);\n };\n } else if (isPointerPressed === 'mouse' && process.env.NODE_ENV === 'test') {\n let onMouseUp = (e)=>{\n // Only handle left clicks\n if (e.button !== 0) return;\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n if (state.target && state.target.contains(e.target) && state.pointerType != null) ;\n else cancelEvent(e);\n state.isOverTarget = false;\n };\n addGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'mouseup', onMouseUp, false);\n return ()=>{\n removeGlobalListener((0, $7mdmh$getOwnerDocument)(state.target), 'mouseup', onMouseUp, false);\n };\n } else if (isPointerPressed === 'touch' && process.env.NODE_ENV === 'test') {\n let onScroll = (e)=>{\n if (state.isPressed && (0, $7mdmh$nodeContains)((0, $7mdmh$getEventTarget)(e), state.target)) cancelEvent({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n };\n addGlobalListener((0, $7mdmh$getOwnerWindow)(state.target), 'scroll', onScroll, true);\n return ()=>{\n removeGlobalListener((0, $7mdmh$getOwnerWindow)(state.target), 'scroll', onScroll, true);\n };\n }\n }, [\n isPointerPressed,\n addGlobalListener,\n removeGlobalListener\n ]);\n let pressProps = (0, $7mdmh$useMemo)(()=>{\n let state = ref.current;\n let pressProps = {\n onKeyDown (e) {\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) {\n var _state_metaKeyEvents;\n if ($f6c31cce2adf654f$var$shouldPreventDefaultKeyboard((0, $7mdmh$getEventTarget)(e.nativeEvent), e.key)) e.preventDefault();\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n let shouldStopPropagation = true;\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget;\n state.isPressed = true;\n setIsElemKeyPressed(true);\n state.pointerType = 'keyboard';\n shouldStopPropagation = triggerPressStart(e, 'keyboard');\n }\n if (shouldStopPropagation) e.stopPropagation();\n // Keep track of the keydown events that occur while the Meta (e.g. Command) key is held.\n // macOS has a bug where keyup events are not fired while the Meta key is down.\n // When the Meta key itself is released we will get an event for that, and we'll act as if\n // all of these other keys were released as well.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1393524\n // https://bugs.webkit.org/show_bug.cgi?id=55291\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1299553\n if (e.metaKey && (0, $7mdmh$isMac)()) (_state_metaKeyEvents = state.metaKeyEvents) === null || _state_metaKeyEvents === void 0 ? void 0 : _state_metaKeyEvents.set(e.key, e.nativeEvent);\n } else if (e.key === 'Meta') state.metaKeyEvents = new Map();\n },\n onClick (e) {\n if (e && !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $7mdmh$openLink).isOpening) {\n let shouldStopPropagation = true;\n if (isDisabled) e.preventDefault();\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === 'virtual' || (0, $7mdmh$isVirtualClick)(e.nativeEvent))) {\n let stopPressStart = triggerPressStart(e, 'virtual');\n let stopPressUp = triggerPressUp(e, 'virtual');\n let stopPressEnd = triggerPressEnd(e, 'virtual');\n triggerClick(e);\n shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;\n } else if (state.isPressed && state.pointerType !== 'keyboard') {\n let pointerType = state.pointerType || e.nativeEvent.pointerType || 'virtual';\n let stopPressUp = triggerPressUp($f6c31cce2adf654f$var$createEvent(e.currentTarget, e), pointerType);\n let stopPressEnd = triggerPressEnd($f6c31cce2adf654f$var$createEvent(e.currentTarget, e), pointerType, true);\n shouldStopPropagation = stopPressUp && stopPressEnd;\n state.isOverTarget = false;\n triggerClick(e);\n cancel(e);\n }\n state.ignoreEmulatedMouseEvents = false;\n if (shouldStopPropagation) e.stopPropagation();\n }\n }\n };\n if (typeof PointerEvent !== 'undefined') {\n pressProps.onPointerDown = (e)=>{\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if ((0, $7mdmh$isVirtualPointerEvent)(e.nativeEvent)) {\n state.pointerType = 'virtual';\n return;\n }\n state.pointerType = e.pointerType;\n let shouldStopPropagation = true;\n if (!state.isPressed) {\n state.isPressed = true;\n setIsPointerPressed('pointer');\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n // Release pointer capture so that touch interactions can leave the original target.\n // This enables onPointerLeave and onPointerEnter to fire.\n let target = (0, $7mdmh$getEventTarget)(e.nativeEvent);\n if ('releasePointerCapture' in target) target.releasePointerCapture(e.pointerId);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseDown = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (e.button === 0) {\n if (preventFocusOnPress) {\n let dispose = (0, $8a9cb279dc87e130$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n e.stopPropagation();\n }\n };\n pressProps.onPointerUp = (e)=>{\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent)) || state.pointerType === 'virtual') return;\n // Only handle left clicks. If isPressed is true, delay until onClick.\n if (e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || e.pointerType);\n };\n pressProps.onPointerEnter = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && !state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n triggerPressStart($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType);\n }\n };\n pressProps.onPointerLeave = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit(e);\n }\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n cancel(e);\n };\n } else if (process.env.NODE_ENV === 'test') {\n // NOTE: this fallback branch is entirely used by unit tests.\n // All browsers now support pointer events, but JSDOM still does not.\n pressProps.onMouseDown = (e)=>{\n // Only handle left clicks\n if (e.button !== 0 || !(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (state.ignoreEmulatedMouseEvents) {\n e.stopPropagation();\n return;\n }\n state.isPressed = true;\n setIsPointerPressed('mouse');\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = (0, $7mdmh$isVirtualClick)(e.nativeEvent) ? 'virtual' : 'mouse';\n // Flush sync so that focus moved during react re-renders occurs before we yield back to the browser.\n let shouldStopPropagation = (0, $7mdmh$flushSync)(()=>triggerPressStart(e, state.pointerType));\n if (shouldStopPropagation) e.stopPropagation();\n if (preventFocusOnPress) {\n let dispose = (0, $8a9cb279dc87e130$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n };\n pressProps.onMouseEnter = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseLeave = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);\n cancelOnPointerExit(e);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseUp = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed) triggerPressUp(e, state.pointerType || 'mouse');\n };\n pressProps.onTouchStart = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n let touch = $f6c31cce2adf654f$var$getTouchFromEvent(e.nativeEvent);\n if (!touch) return;\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n setIsPointerPressed('touch');\n state.target = e.currentTarget;\n state.pointerType = 'touch';\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);\n let shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onTouchMove = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit($f6c31cce2adf654f$var$createTouchEvent(state.target, e));\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onTouchEnd = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $f6c31cce2adf654f$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {\n triggerPressUp($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);\n triggerSyntheticClick(e.nativeEvent, state.target);\n } else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);\n if (shouldStopPropagation) e.stopPropagation();\n state.isPressed = false;\n setIsPointerPressed(null);\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (state.target && !allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);\n removeAllGlobalListeners();\n };\n pressProps.onTouchCancel = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n e.stopPropagation();\n if (state.isPressed) cancel($f6c31cce2adf654f$var$createTouchEvent(state.target, e));\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $7mdmh$nodeContains)(e.currentTarget, (0, $7mdmh$getEventTarget)(e.nativeEvent))) return;\n cancel(e);\n };\n }\n return pressProps;\n }, [\n isDisabled,\n preventFocusOnPress,\n removeAllGlobalListeners,\n allowTextSelectionOnPress,\n cancel,\n cancelOnPointerExit,\n triggerPressEnd,\n triggerPressStart,\n triggerPressUp,\n triggerClick,\n triggerSyntheticClick\n ]);\n // Avoid onClick delay for double tap to zoom by default.\n (0, $7mdmh$useEffect)(()=>{\n if (!domRef || process.env.NODE_ENV === 'test') return;\n const ownerDocument = (0, $7mdmh$getOwnerDocument)(domRef.current);\n if (!ownerDocument || !ownerDocument.head || ownerDocument.getElementById($f6c31cce2adf654f$var$STYLE_ID)) return;\n const style = ownerDocument.createElement('style');\n style.id = $f6c31cce2adf654f$var$STYLE_ID;\n // touchAction: 'manipulation' is supposed to be equivalent, but in\n // Safari it causes onPointerCancel not to fire on scroll.\n // https://bugs.webkit.org/show_bug.cgi?id=240917\n style.textContent = `\n@layer {\n [${$f6c31cce2adf654f$var$PRESSABLE_ATTRIBUTE}] {\n touch-action: pan-x pan-y pinch-zoom;\n }\n}\n `.trim();\n ownerDocument.head.prepend(style);\n }, [\n domRef\n ]);\n // Remove user-select: none in case component unmounts immediately after pressStart\n (0, $7mdmh$useEffect)(()=>{\n let state = ref.current;\n return ()=>{\n var _state_target;\n if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$b0d6fa1ab32e3295)((_state_target = state.target) !== null && _state_target !== void 0 ? _state_target : undefined);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n };\n }, [\n allowTextSelectionOnPress\n ]);\n return {\n isPressed: isPressedProp || isPressed,\n pressProps: (0, $7mdmh$mergeProps)(domProps, pressProps, {\n [$f6c31cce2adf654f$var$PRESSABLE_ATTRIBUTE]: true\n })\n };\n}\nfunction $f6c31cce2adf654f$var$isHTMLAnchorLink(target) {\n return target.tagName === 'A' && target.hasAttribute('href');\n}\nfunction $f6c31cce2adf654f$var$isValidKeyboardEvent(event, currentTarget) {\n const { key: key, code: code } = event;\n const element = currentTarget;\n const role = element.getAttribute('role');\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') && !(element instanceof (0, $7mdmh$getOwnerWindow)(element).HTMLInputElement && !$f6c31cce2adf654f$var$isValidInputKey(element, key) || element instanceof (0, $7mdmh$getOwnerWindow)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key\n !((role === 'link' || !role && $f6c31cce2adf654f$var$isHTMLAnchorLink(element)) && key !== 'Enter');\n}\nfunction $f6c31cce2adf654f$var$getTouchFromEvent(event) {\n const { targetTouches: targetTouches } = event;\n if (targetTouches.length > 0) return targetTouches[0];\n return null;\n}\nfunction $f6c31cce2adf654f$var$getTouchById(event, pointerId) {\n const changedTouches = event.changedTouches;\n for(let i = 0; i < changedTouches.length; i++){\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) return touch;\n }\n return null;\n}\nfunction $f6c31cce2adf654f$var$createTouchEvent(target, e) {\n let clientX = 0;\n let clientY = 0;\n if (e.targetTouches && e.targetTouches.length === 1) {\n clientX = e.targetTouches[0].clientX;\n clientY = e.targetTouches[0].clientY;\n }\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $f6c31cce2adf654f$var$createEvent(target, e) {\n let clientX = e.clientX;\n let clientY = e.clientY;\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $f6c31cce2adf654f$var$getPointClientRect(point) {\n let offsetX = 0;\n let offsetY = 0;\n if (point.width !== undefined) offsetX = point.width / 2;\n else if (point.radiusX !== undefined) offsetX = point.radiusX;\n if (point.height !== undefined) offsetY = point.height / 2;\n else if (point.radiusY !== undefined) offsetY = point.radiusY;\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\nfunction $f6c31cce2adf654f$var$areRectanglesOverlapping(a, b) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) return false;\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) return false;\n return true;\n}\nfunction $f6c31cce2adf654f$var$isOverTarget(point, target) {\n let rect = target.getBoundingClientRect();\n let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);\n return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefaultUp(target) {\n if (target instanceof HTMLInputElement) return false;\n if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';\n if ($f6c31cce2adf654f$var$isHTMLAnchorLink(target)) return false;\n return true;\n}\nfunction $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {\n if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);\n return $f6c31cce2adf654f$var$shouldPreventDefaultUp(target);\n}\nconst $f6c31cce2adf654f$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nfunction $f6c31cce2adf654f$var$isValidInputKey(target, key) {\n // Only space should toggle checkboxes and radios, not enter.\n return target.type === 'checkbox' || target.type === 'radio' ? key === ' ' : $f6c31cce2adf654f$var$nonTextInputTypes.has(target.type);\n}\n\n\nexport {$f6c31cce2adf654f$export$45712eceda6fad21 as usePress};\n//# sourceMappingURL=usePress.module.js.map\n","import {ignoreFocusEvent as $8a9cb279dc87e130$export$fda7da73ab5d4c48} from \"./utils.mjs\";\nimport {isMac as $28AnR$isMac, openLink as $28AnR$openLink, isVirtualClick as $28AnR$isVirtualClick, getOwnerWindow as $28AnR$getOwnerWindow, getOwnerDocument as $28AnR$getOwnerDocument} from \"@react-aria/utils\";\nimport {useState as $28AnR$useState, useEffect as $28AnR$useEffect} from \"react\";\nimport {useIsSSR as $28AnR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$currentPointerType = 'keyboard';\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $28AnR$isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if (!(0, $28AnR$openLink).isOpening && $507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$currentPointerType = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n $507fabe10e71c6fb$var$currentPointerType = 'pointerType' in e ? e.pointerType : 'mouse';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if (!(0, $28AnR$openLink).isOpening && (0, $28AnR$isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$currentPointerType = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document || (0, $8a9cb279dc87e130$export$fda7da73ab5d4c48) || !e.isTrusted) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$currentPointerType = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n if (0, $8a9cb279dc87e130$export$fda7da73ab5d4c48) return;\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || typeof document === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, $28AnR$getOwnerWindow)(element))) return;\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$currentPointerType = modality === 'pointer' ? 'mouse' : modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$887a228355cf7d95() {\n return $507fabe10e71c6fb$var$currentPointerType;\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $28AnR$useState)($507fabe10e71c6fb$var$currentModality);\n (0, $28AnR$useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, $28AnR$useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n let document1 = (0, $28AnR$getOwnerDocument)(e === null || e === void 0 ? void 0 : e.target);\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n // For keyboard events that occur on a non-input element that will move focus into input element (aka ArrowLeft going from Datepicker button to the main input group)\n // we need to rely on the user passing isTextInput into here. This way we can skip toggling focus visiblity for said input element\n isTextInput = isTextInput || document1.activeElement instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(document1.activeElement.type) || document1.activeElement instanceof IHTMLTextAreaElement || document1.activeElement instanceof IHTMLElement && document1.activeElement.isContentEditable;\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $28AnR$useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, $28AnR$useEffect)(()=>{\n let handler = (modality, e)=>{\n // We want to early return for any keyboard events that occur inside text inputs EXCEPT for Tab and Escape\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\nexport {$507fabe10e71c6fb$export$d90243b58daecda7 as hasSetupGlobalListeners, $507fabe10e71c6fb$export$2f1888112f558a7d as addWindowFocusTracking, $507fabe10e71c6fb$export$b9b3dfddab17db27 as isFocusVisible, $507fabe10e71c6fb$export$630ff653c5ada6a9 as getInteractionModality, $507fabe10e71c6fb$export$8397ddfc504fdb9a as setInteractionModality, $507fabe10e71c6fb$export$887a228355cf7d95 as getPointerType, $507fabe10e71c6fb$export$98e20ec92f614cfe as useInteractionModality, $507fabe10e71c6fb$export$ffd9e5021c1fb2d6 as useFocusVisible, $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.module.js.map\n","import {getInteractionModality as $507fabe10e71c6fb$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $k50bp$getOwnerDocument, getActiveElement as $k50bp$getActiveElement, runAfterTransition as $k50bp$runAfterTransition, focusWithoutScrolling as $k50bp$focusWithoutScrolling} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n const ownerDocument = (0, $k50bp$getOwnerDocument)(element);\n if ((0, $507fabe10e71c6fb$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = (0, $k50bp$getActiveElement)(ownerDocument);\n (0, $k50bp$runAfterTransition)(()=>{\n const activeElement = (0, $k50bp$getActiveElement)(ownerDocument);\n // If focus did not move or focus was lost to the body, and the element is still in the document, focus it.\n if ((activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected) (0, $k50bp$focusWithoutScrolling)(element);\n });\n } else (0, $k50bp$focusWithoutScrolling)(element);\n}\n\n\nexport {$3ad3f6e1647bc98d$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $hf0lj$useCallback} from \"react\";\nimport {getOwnerDocument as $hf0lj$getOwnerDocument, getActiveElement as $hf0lj$getActiveElement, getEventTarget as $hf0lj$getEventTarget} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $hf0lj$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $hf0lj$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, $hf0lj$getOwnerDocument)(e.target);\n const activeElement = ownerDocument ? (0, $hf0lj$getActiveElement)(ownerDocument) : (0, $hf0lj$getActiveElement)();\n if (e.target === e.currentTarget && activeElement === (0, $hf0lj$getEventTarget)(e.nativeEvent)) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $93925083ecbb358c$export$48d1ea6320830260(handler) {\n if (!handler) return undefined;\n let shouldStopPropagation = true;\n return (e)=>{\n let event = {\n ...e,\n preventDefault () {\n e.preventDefault();\n },\n isDefaultPrevented () {\n return e.isDefaultPrevented();\n },\n stopPropagation () {\n if (shouldStopPropagation && process.env.NODE_ENV !== 'production') console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');\n else shouldStopPropagation = true;\n },\n continuePropagation () {\n shouldStopPropagation = false;\n },\n isPropagationStopped () {\n return shouldStopPropagation;\n }\n };\n handler(event);\n if (shouldStopPropagation) e.stopPropagation();\n };\n}\n\n\nexport {$93925083ecbb358c$export$48d1ea6320830260 as createEventHandler};\n//# sourceMappingURL=createEventHandler.module.js.map\n","import {createEventHandler as $93925083ecbb358c$export$48d1ea6320830260} from \"./createEventHandler.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $46d819fcbaf35654$export$8f71654801c2f7cd(props) {\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyDown),\n onKeyUp: (0, $93925083ecbb358c$export$48d1ea6320830260)(props.onKeyUp)\n }\n };\n}\n\n\nexport {$46d819fcbaf35654$export$8f71654801c2f7cd as useKeyboard};\n//# sourceMappingURL=useKeyboard.module.js.map\n","import {focusSafely as $3ad3f6e1647bc98d$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {useFocus as $a1ea59d68270f0dd$export$f8168d8dd8fd66e6} from \"./useFocus.mjs\";\nimport {useKeyboard as $46d819fcbaf35654$export$8f71654801c2f7cd} from \"./useKeyboard.mjs\";\nimport {useSyncRef as $fcPuG$useSyncRef, useObjectRef as $fcPuG$useObjectRef, mergeProps as $fcPuG$mergeProps, getOwnerWindow as $fcPuG$getOwnerWindow, isFocusable as $fcPuG$isFocusable, mergeRefs as $fcPuG$mergeRefs} from \"@react-aria/utils\";\nimport $fcPuG$react, {useContext as $fcPuG$useContext, useRef as $fcPuG$useRef, useEffect as $fcPuG$useEffect, forwardRef as $fcPuG$forwardRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nlet $f645667febf57a63$export$f9762fab77588ecb = /*#__PURE__*/ (0, $fcPuG$react).createContext(null);\nfunction $f645667febf57a63$var$useFocusableContext(ref) {\n let context = (0, $fcPuG$useContext)($f645667febf57a63$export$f9762fab77588ecb) || {};\n (0, $fcPuG$useSyncRef)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\nconst $f645667febf57a63$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $fcPuG$react).forwardRef(function FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $fcPuG$useObjectRef)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $fcPuG$react).createElement($f645667febf57a63$export$f9762fab77588ecb.Provider, {\n value: context\n }, children);\n});\nfunction $f645667febf57a63$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $a1ea59d68270f0dd$export$f8168d8dd8fd66e6)(props);\n let { keyboardProps: keyboardProps } = (0, $46d819fcbaf35654$export$8f71654801c2f7cd)(props);\n let interactions = (0, $fcPuG$mergeProps)(focusProps, keyboardProps);\n let domProps = $f645667febf57a63$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $fcPuG$useRef)(props.autoFocus);\n (0, $fcPuG$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $3ad3f6e1647bc98d$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n // Always set a tabIndex so that Safari allows focusing native buttons and inputs.\n let tabIndex = props.excludeFromTabOrder ? -1 : 0;\n if (props.isDisabled) tabIndex = undefined;\n return {\n focusableProps: (0, $fcPuG$mergeProps)({\n ...interactions,\n tabIndex: tabIndex\n }, interactionProps)\n };\n}\nconst $f645667febf57a63$export$35a3bebf7ef2d934 = /*#__PURE__*/ (0, $fcPuG$forwardRef)(({ children: children, ...props }, ref)=>{\n ref = (0, $fcPuG$useObjectRef)(ref);\n let { focusableProps: focusableProps } = $f645667febf57a63$export$4c014de7c8940b4c(props, ref);\n let child = (0, $fcPuG$react).Children.only(children);\n (0, $fcPuG$useEffect)(()=>{\n if (process.env.NODE_ENV === 'production') return;\n let el = ref.current;\n if (!el || !(el instanceof (0, $fcPuG$getOwnerWindow)(el).Element)) {\n console.error('<Focusable> child must forward its ref to a DOM element.');\n return;\n }\n if (!props.isDisabled && !(0, $fcPuG$isFocusable)(el)) {\n console.warn('<Focusable> child must be focusable. Please ensure the tabIndex prop is passed through.');\n return;\n }\n if (el.localName !== 'button' && el.localName !== 'input' && el.localName !== 'select' && el.localName !== 'textarea' && el.localName !== 'a' && el.localName !== 'area' && el.localName !== 'summary' && el.localName !== 'img' && el.localName !== 'svg') {\n let role = el.getAttribute('role');\n if (!role) console.warn('<Focusable> child must have an interactive ARIA role.');\n else if (// https://w3c.github.io/aria/#widget_roles\n role !== 'application' && role !== 'button' && role !== 'checkbox' && role !== 'combobox' && role !== 'gridcell' && role !== 'link' && role !== 'menuitem' && role !== 'menuitemcheckbox' && role !== 'menuitemradio' && role !== 'option' && role !== 'radio' && role !== 'searchbox' && role !== 'separator' && role !== 'slider' && role !== 'spinbutton' && role !== 'switch' && role !== 'tab' && role !== 'tabpanel' && role !== 'textbox' && role !== 'treeitem' && // aria-describedby is also announced on these roles\n role !== 'img' && role !== 'meter' && role !== 'progressbar') console.warn(`<Focusable> child must have an interactive ARIA role. Got \"${role}\".`);\n }\n }, [\n ref,\n props.isDisabled\n ]);\n // @ts-ignore\n let childRef = parseInt((0, $fcPuG$react).version, 10) < 19 ? child.ref : child.props.ref;\n return /*#__PURE__*/ (0, $fcPuG$react).cloneElement(child, {\n ...(0, $fcPuG$mergeProps)(focusableProps, child.props),\n // @ts-ignore\n ref: (0, $fcPuG$mergeRefs)(childRef, ref)\n });\n});\n\n\nexport {$f645667febf57a63$export$f9762fab77588ecb as FocusableContext, $f645667febf57a63$export$13f3202a3e5ddd5 as FocusableProvider, $f645667febf57a63$export$4c014de7c8940b4c as useFocusable, $f645667febf57a63$export$35a3bebf7ef2d934 as Focusable};\n//# sourceMappingURL=useFocusable.module.js.map\n","import {createSyntheticEvent as $8a9cb279dc87e130$export$525bc4921d56d4a, setEventTarget as $8a9cb279dc87e130$export$c2b7abe5d61ec696, useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useRef as $3b9Q0$useRef, useCallback as $3b9Q0$useCallback} from \"react\";\nimport {useGlobalListeners as $3b9Q0$useGlobalListeners, getOwnerDocument as $3b9Q0$getOwnerDocument, getActiveElement as $3b9Q0$getActiveElement, getEventTarget as $3b9Q0$getEventTarget, nodeContains as $3b9Q0$nodeContains} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $3b9Q0$useRef)({\n isFocusWithin: false\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $3b9Q0$useGlobalListeners)();\n let onBlur = (0, $3b9Q0$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!e.currentTarget.contains(e.target)) return;\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state,\n removeAllGlobalListeners\n ]);\n let onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $3b9Q0$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!e.currentTarget.contains(e.target)) return;\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, $3b9Q0$getOwnerDocument)(e.target);\n const activeElement = (0, $3b9Q0$getActiveElement)(ownerDocument);\n if (!state.current.isFocusWithin && activeElement === (0, $3b9Q0$getEventTarget)(e.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n // Browsers don't fire blur events when elements are removed from the DOM.\n // However, if a focus event occurs outside the element we're tracking, we\n // can manually fire onBlur.\n let currentTarget = e.currentTarget;\n addGlobalListener(ownerDocument, 'focus', (e)=>{\n if (state.current.isFocusWithin && !(0, $3b9Q0$nodeContains)(currentTarget, e.target)) {\n let nativeEvent = new ownerDocument.defaultView.FocusEvent('blur', {\n relatedTarget: e.target\n });\n (0, $8a9cb279dc87e130$export$c2b7abe5d61ec696)(nativeEvent, currentTarget);\n let event = (0, $8a9cb279dc87e130$export$525bc4921d56d4a)(nativeEvent);\n onBlur(event);\n }\n }, {\n capture: true\n });\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus,\n addGlobalListener,\n onBlur\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These cannot be null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\nexport {$9ab94262bd0047c7$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.module.js.map\n","import {useGlobalListeners as $AWxnT$useGlobalListeners, getOwnerDocument as $AWxnT$getOwnerDocument, nodeContains as $AWxnT$nodeContains} from \"@react-aria/utils\";\nimport {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if ($6179b936705e76d3$var$hoverCount === 0) {\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n }\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $AWxnT$useGlobalListeners)();\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n // However, a pointerover event will be fired on the new target the mouse is over.\n // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n addGlobalListener((0, $AWxnT$getOwnerDocument)(event.target), 'pointerover', (e)=>{\n if (state.isHovered && state.target && !(0, $AWxnT$nodeContains)(state.target, e.target)) triggerHoverEnd(e, e.pointerType);\n }, {\n capture: true\n });\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n let target = state.target;\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered || !target) return;\n state.isHovered = false;\n removeAllGlobalListeners();\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else if (process.env.NODE_ENV === 'test') {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state,\n addGlobalListener,\n removeAllGlobalListeners\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import {usePress as $f6c31cce2adf654f$export$45712eceda6fad21} from \"./usePress.mjs\";\nimport {useGlobalListeners as $4k2kv$useGlobalListeners, getOwnerDocument as $4k2kv$getOwnerDocument, focusWithoutScrolling as $4k2kv$focusWithoutScrolling, useDescription as $4k2kv$useDescription, mergeProps as $4k2kv$mergeProps} from \"@react-aria/utils\";\nimport {useRef as $4k2kv$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $8a26561d2877236e$var$DEFAULT_THRESHOLD = 500;\nfunction $8a26561d2877236e$export$c24ed0104d07eab9(props) {\n let { isDisabled: isDisabled, onLongPressStart: onLongPressStart, onLongPressEnd: onLongPressEnd, onLongPress: onLongPress, threshold: threshold = $8a26561d2877236e$var$DEFAULT_THRESHOLD, accessibilityDescription: accessibilityDescription } = props;\n const timeRef = (0, $4k2kv$useRef)(undefined);\n let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $4k2kv$useGlobalListeners)();\n let { pressProps: pressProps } = (0, $f6c31cce2adf654f$export$45712eceda6fad21)({\n isDisabled: isDisabled,\n onPressStart (e) {\n e.continuePropagation();\n if (e.pointerType === 'mouse' || e.pointerType === 'touch') {\n if (onLongPressStart) onLongPressStart({\n ...e,\n type: 'longpressstart'\n });\n timeRef.current = setTimeout(()=>{\n // Prevent other usePress handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent('pointercancel', {\n bubbles: true\n }));\n // Ensure target is focused. On touch devices, browsers typically focus on pointer up.\n if ((0, $4k2kv$getOwnerDocument)(e.target).activeElement !== e.target) (0, $4k2kv$focusWithoutScrolling)(e.target);\n if (onLongPress) onLongPress({\n ...e,\n type: 'longpress'\n });\n timeRef.current = undefined;\n }, threshold);\n // Prevent context menu, which may be opened on long press on touch devices\n if (e.pointerType === 'touch') {\n let onContextMenu = (e)=>{\n e.preventDefault();\n };\n addGlobalListener(e.target, 'contextmenu', onContextMenu, {\n once: true\n });\n addGlobalListener(window, 'pointerup', ()=>{\n // If no contextmenu event is fired quickly after pointerup, remove the handler\n // so future context menu events outside a long press are not prevented.\n setTimeout(()=>{\n removeGlobalListener(e.target, 'contextmenu', onContextMenu);\n }, 30);\n }, {\n once: true\n });\n }\n }\n },\n onPressEnd (e) {\n if (timeRef.current) clearTimeout(timeRef.current);\n if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) onLongPressEnd({\n ...e,\n type: 'longpressend'\n });\n }\n });\n let descriptionProps = (0, $4k2kv$useDescription)(onLongPress && !isDisabled ? accessibilityDescription : undefined);\n return {\n longPressProps: (0, $4k2kv$mergeProps)(pressProps, descriptionProps)\n };\n}\n\n\nexport {$8a26561d2877236e$export$c24ed0104d07eab9 as useLongPress};\n//# sourceMappingURL=useLongPress.module.js.map\n","import {useLayoutEffect as $cgawC$useLayoutEffect, getActiveElement as $cgawC$getActiveElement, getOwnerDocument as $cgawC$getOwnerDocument, getEventTarget as $cgawC$getEventTarget, isAndroid as $cgawC$isAndroid, isChrome as $cgawC$isChrome, isTabbable as $cgawC$isTabbable, isFocusable as $cgawC$isFocusable, createShadowTreeWalker as $cgawC$createShadowTreeWalker} from \"@react-aria/utils\";\nimport {getInteractionModality as $cgawC$getInteractionModality, focusSafely as $cgawC$focusSafely} from \"@react-aria/interactions\";\nimport $cgawC$react, {useRef as $cgawC$useRef, useContext as $cgawC$useContext, useMemo as $cgawC$useMemo, useEffect as $cgawC$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $9bf71ea28793e738$var$FocusContext = /*#__PURE__*/ (0, $cgawC$react).createContext(null);\nconst $9bf71ea28793e738$var$RESTORE_FOCUS_EVENT = 'react-aria-focus-scope-restore';\nlet $9bf71ea28793e738$var$activeScope = null;\nfunction $9bf71ea28793e738$export$20e40289641fbbb6(props) {\n let { children: children, contain: contain, restoreFocus: restoreFocus, autoFocus: autoFocus } = props;\n let startRef = (0, $cgawC$useRef)(null);\n let endRef = (0, $cgawC$useRef)(null);\n let scopeRef = (0, $cgawC$useRef)([]);\n let { parentNode: parentNode } = (0, $cgawC$useContext)($9bf71ea28793e738$var$FocusContext) || {};\n // Create a tree node here so we can add children to it even before it is added to the tree.\n let node = (0, $cgawC$useMemo)(()=>new $9bf71ea28793e738$var$TreeNode({\n scopeRef: scopeRef\n }), [\n scopeRef\n ]);\n (0, $cgawC$useLayoutEffect)(()=>{\n // If a new scope mounts outside the active scope, (e.g. DialogContainer launched from a menu),\n // use the active scope as the parent instead of the parent from context. Layout effects run bottom\n // up, so if the parent is not yet added to the tree, don't do this. Only the outer-most FocusScope\n // that is being added should get the activeScope as its parent.\n let parent = parentNode || $9bf71ea28793e738$export$d06fae2ee68b101e.root;\n if ($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parent.scopeRef) && $9bf71ea28793e738$var$activeScope && !$9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, parent.scopeRef)) {\n let activeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);\n if (activeNode) parent = activeNode;\n }\n // Add the node to the parent, and to the tree.\n parent.addChild(node);\n $9bf71ea28793e738$export$d06fae2ee68b101e.addNode(node);\n }, [\n node,\n parentNode\n ]);\n (0, $cgawC$useLayoutEffect)(()=>{\n let node = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);\n if (node) node.contain = !!contain;\n }, [\n contain\n ]);\n (0, $cgawC$useLayoutEffect)(()=>{\n var _startRef_current;\n // Find all rendered nodes between the sentinels and add them to the scope.\n let node = (_startRef_current = startRef.current) === null || _startRef_current === void 0 ? void 0 : _startRef_current.nextSibling;\n let nodes = [];\n let stopPropagation = (e)=>e.stopPropagation();\n while(node && node !== endRef.current){\n nodes.push(node);\n // Stop custom restore focus event from propagating to parent focus scopes.\n node.addEventListener($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, stopPropagation);\n node = node.nextSibling;\n }\n scopeRef.current = nodes;\n return ()=>{\n for (let node of nodes)node.removeEventListener($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, stopPropagation);\n };\n }, [\n children\n ]);\n $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restoreFocus, contain);\n $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain);\n $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain);\n $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus);\n // This needs to be an effect so that activeScope is updated after the FocusScope tree is complete.\n // It cannot be a useLayoutEffect because the parent of this node hasn't been attached in the tree yet.\n (0, $cgawC$useEffect)(()=>{\n const activeElement = (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)(scopeRef.current ? scopeRef.current[0] : undefined));\n let scope = null;\n if ($9bf71ea28793e738$var$isElementInScope(activeElement, scopeRef.current)) {\n // We need to traverse the focusScope tree and find the bottom most scope that\n // contains the active element and set that as the activeScope.\n for (let node of $9bf71ea28793e738$export$d06fae2ee68b101e.traverse())if (node.scopeRef && $9bf71ea28793e738$var$isElementInScope(activeElement, node.scopeRef.current)) scope = node;\n if (scope === $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef)) $9bf71ea28793e738$var$activeScope = scope.scopeRef;\n }\n }, [\n scopeRef\n ]);\n // This layout effect cleanup is so that the tree node is removed synchronously with react before the RAF\n // in useRestoreFocus cleanup runs.\n (0, $cgawC$useLayoutEffect)(()=>{\n return ()=>{\n var _focusScopeTree_getTreeNode_parent, _focusScopeTree_getTreeNode;\n var _focusScopeTree_getTreeNode_parent_scopeRef;\n // Scope may have been re-parented.\n let parentScope = (_focusScopeTree_getTreeNode_parent_scopeRef = (_focusScopeTree_getTreeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef)) === null || _focusScopeTree_getTreeNode === void 0 ? void 0 : (_focusScopeTree_getTreeNode_parent = _focusScopeTree_getTreeNode.parent) === null || _focusScopeTree_getTreeNode_parent === void 0 ? void 0 : _focusScopeTree_getTreeNode_parent.scopeRef) !== null && _focusScopeTree_getTreeNode_parent_scopeRef !== void 0 ? _focusScopeTree_getTreeNode_parent_scopeRef : null;\n if ((scopeRef === $9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope(scopeRef, $9bf71ea28793e738$var$activeScope)) && (!parentScope || $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(parentScope))) $9bf71ea28793e738$var$activeScope = parentScope;\n $9bf71ea28793e738$export$d06fae2ee68b101e.removeTreeNode(scopeRef);\n };\n }, [\n scopeRef\n ]);\n let focusManager = (0, $cgawC$useMemo)(()=>$9bf71ea28793e738$var$createFocusManagerForScope(scopeRef), []);\n let value = (0, $cgawC$useMemo)(()=>({\n focusManager: focusManager,\n parentNode: node\n }), [\n node,\n focusManager\n ]);\n return /*#__PURE__*/ (0, $cgawC$react).createElement($9bf71ea28793e738$var$FocusContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $cgawC$react).createElement(\"span\", {\n \"data-focus-scope-start\": true,\n hidden: true,\n ref: startRef\n }), children, /*#__PURE__*/ (0, $cgawC$react).createElement(\"span\", {\n \"data-focus-scope-end\": true,\n hidden: true,\n ref: endRef\n }));\n}\nfunction $9bf71ea28793e738$export$10c5169755ce7bd7() {\n var _useContext;\n return (_useContext = (0, $cgawC$useContext)($9bf71ea28793e738$var$FocusContext)) === null || _useContext === void 0 ? void 0 : _useContext.focusManager;\n}\nfunction $9bf71ea28793e738$var$createFocusManagerForScope(scopeRef) {\n return {\n focusNext (opts = {}) {\n let scope = scopeRef.current;\n let { from: from, tabbable: tabbable, wrap: wrap, accept: accept } = opts;\n var _scope_;\n let node = from || (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)((_scope_ = scope[0]) !== null && _scope_ !== void 0 ? _scope_ : undefined));\n let sentinel = scope[0].previousElementSibling;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;\n let nextNode = walker.nextNode();\n if (!nextNode && wrap) {\n walker.currentNode = sentinel;\n nextNode = walker.nextNode();\n }\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusPrevious (opts = {}) {\n let scope = scopeRef.current;\n let { from: from, tabbable: tabbable, wrap: wrap, accept: accept } = opts;\n var _scope_;\n let node = from || (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)((_scope_ = scope[0]) !== null && _scope_ !== void 0 ? _scope_ : undefined));\n let sentinel = scope[scope.length - 1].nextElementSibling;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = $9bf71ea28793e738$var$isElementInScope(node, scope) ? node : sentinel;\n let previousNode = walker.previousNode();\n if (!previousNode && wrap) {\n walker.currentNode = sentinel;\n previousNode = walker.previousNode();\n }\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode;\n },\n focusFirst (opts = {}) {\n let scope = scopeRef.current;\n let { tabbable: tabbable, accept: accept } = opts;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = scope[0].previousElementSibling;\n let nextNode = walker.nextNode();\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusLast (opts = {}) {\n let scope = scopeRef.current;\n let { tabbable: tabbable, accept: accept } = opts;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: tabbable,\n accept: accept\n }, scope);\n walker.currentNode = scope[scope.length - 1].nextElementSibling;\n let previousNode = walker.previousNode();\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode;\n }\n };\n}\nfunction $9bf71ea28793e738$var$getScopeRoot(scope) {\n return scope[0].parentElement;\n}\nfunction $9bf71ea28793e738$var$shouldContainFocus(scopeRef) {\n let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);\n while(scope && scope.scopeRef !== scopeRef){\n if (scope.contain) return false;\n scope = scope.parent;\n }\n return true;\n}\nfunction $9bf71ea28793e738$var$isTabbableRadio(element) {\n if (element.checked) return true;\n let radios = [];\n if (!element.form) radios = [\n ...(0, $cgawC$getOwnerDocument)(element).querySelectorAll(`input[type=\"radio\"][name=\"${CSS.escape(element.name)}\"]`)\n ].filter((radio)=>!radio.form);\n else {\n var _element_form_elements, _element_form;\n let radioList = (_element_form = element.form) === null || _element_form === void 0 ? void 0 : (_element_form_elements = _element_form.elements) === null || _element_form_elements === void 0 ? void 0 : _element_form_elements.namedItem(element.name);\n radios = [\n ...radioList !== null && radioList !== void 0 ? radioList : []\n ];\n }\n if (!radios) return false;\n let anyChecked = radios.some((radio)=>radio.checked);\n return !anyChecked;\n}\nfunction $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain) {\n let focusedNode = (0, $cgawC$useRef)(undefined);\n let raf = (0, $cgawC$useRef)(undefined);\n (0, $cgawC$useLayoutEffect)(()=>{\n let scope = scopeRef.current;\n if (!contain) {\n // if contain was changed, then we should cancel any ongoing waits to pull focus back into containment\n if (raf.current) {\n cancelAnimationFrame(raf.current);\n raf.current = undefined;\n }\n return;\n }\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scope ? scope[0] : undefined);\n // Handle the Tab key to contain focus within the scope\n let onKeyDown = (e)=>{\n if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;\n let focusedElement = (0, $cgawC$getActiveElement)(ownerDocument);\n let scope = scopeRef.current;\n if (!scope || !$9bf71ea28793e738$var$isElementInScope(focusedElement, scope)) return;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: true\n }, scope);\n if (!focusedElement) return;\n walker.currentNode = focusedElement;\n let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n if (!nextElement) {\n walker.currentNode = e.shiftKey ? scope[scope.length - 1].nextElementSibling : scope[0].previousElementSibling;\n nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n }\n e.preventDefault();\n if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);\n };\n let onFocus = (e)=>{\n // If focusing an element in a child scope of the currently active scope, the child becomes active.\n // Moving out of the active scope to an ancestor is not allowed.\n if ((!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) && $9bf71ea28793e738$var$isElementInScope((0, $cgawC$getEventTarget)(e), scopeRef.current)) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n focusedNode.current = (0, $cgawC$getEventTarget)(e);\n } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope((0, $cgawC$getEventTarget)(e), scopeRef)) {\n // If a focus event occurs outside the active scope (e.g. user tabs from browser location bar),\n // restore focus to the previously focused node or the first tabbable element in the active scope.\n if (focusedNode.current) focusedNode.current.focus();\n else if ($9bf71ea28793e738$var$activeScope && $9bf71ea28793e738$var$activeScope.current) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);\n } else if ($9bf71ea28793e738$var$shouldContainFocus(scopeRef)) focusedNode.current = (0, $cgawC$getEventTarget)(e);\n };\n let onBlur = (e)=>{\n // Firefox doesn't shift focus back to the Dialog properly without this\n if (raf.current) cancelAnimationFrame(raf.current);\n raf.current = requestAnimationFrame(()=>{\n // Patches infinite focus coersion loop for Android Talkback where the user isn't able to move the virtual cursor\n // if within a containing focus scope. Bug filed against Chrome: https://issuetracker.google.com/issues/384844019.\n // Note that this means focus can leave focus containing modals due to this, but it is isolated to Chrome Talkback.\n let modality = (0, $cgawC$getInteractionModality)();\n let shouldSkipFocusRestore = (modality === 'virtual' || modality === null) && (0, $cgawC$isAndroid)() && (0, $cgawC$isChrome)();\n // Use document.activeElement instead of e.relatedTarget so we can tell if user clicked into iframe\n let activeElement = (0, $cgawC$getActiveElement)(ownerDocument);\n if (!shouldSkipFocusRestore && activeElement && $9bf71ea28793e738$var$shouldContainFocus(scopeRef) && !$9bf71ea28793e738$var$isElementInChildScope(activeElement, scopeRef)) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n let target = (0, $cgawC$getEventTarget)(e);\n if (target && target.isConnected) {\n var _focusedNode_current;\n focusedNode.current = target;\n (_focusedNode_current = focusedNode.current) === null || _focusedNode_current === void 0 ? void 0 : _focusedNode_current.focus();\n } else if ($9bf71ea28793e738$var$activeScope.current) $9bf71ea28793e738$var$focusFirstInScope($9bf71ea28793e738$var$activeScope.current);\n }\n });\n };\n ownerDocument.addEventListener('keydown', onKeyDown, false);\n ownerDocument.addEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.addEventListener('focusin', onFocus, false));\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.addEventListener('focusout', onBlur, false));\n return ()=>{\n ownerDocument.removeEventListener('keydown', onKeyDown, false);\n ownerDocument.removeEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.removeEventListener('focusin', onFocus, false));\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.removeEventListener('focusout', onBlur, false));\n };\n }, [\n scopeRef,\n contain\n ]);\n // This is a useLayoutEffect so it is guaranteed to run before our async synthetic blur\n (0, $cgawC$useLayoutEffect)(()=>{\n return ()=>{\n if (raf.current) cancelAnimationFrame(raf.current);\n };\n }, [\n raf\n ]);\n}\nfunction $9bf71ea28793e738$var$isElementInAnyScope(element) {\n return $9bf71ea28793e738$var$isElementInChildScope(element);\n}\nfunction $9bf71ea28793e738$var$isElementInScope(element, scope) {\n if (!element) return false;\n if (!scope) return false;\n return scope.some((node)=>node.contains(element));\n}\nfunction $9bf71ea28793e738$var$isElementInChildScope(element, scope = null) {\n // If the element is within a top layer element (e.g. toasts), always allow moving focus there.\n if (element instanceof Element && element.closest('[data-react-aria-top-layer]')) return true;\n // node.contains in isElementInScope covers child scopes that are also DOM children,\n // but does not cover child scopes in portals.\n for (let { scopeRef: s } of $9bf71ea28793e738$export$d06fae2ee68b101e.traverse($9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope))){\n if (s && $9bf71ea28793e738$var$isElementInScope(element, s.current)) return true;\n }\n return false;\n}\nfunction $9bf71ea28793e738$export$1258395f99bf9cbf(element) {\n return $9bf71ea28793e738$var$isElementInChildScope(element, $9bf71ea28793e738$var$activeScope);\n}\nfunction $9bf71ea28793e738$var$isAncestorScope(ancestor, scope) {\n var _focusScopeTree_getTreeNode;\n let parent = (_focusScopeTree_getTreeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scope)) === null || _focusScopeTree_getTreeNode === void 0 ? void 0 : _focusScopeTree_getTreeNode.parent;\n while(parent){\n if (parent.scopeRef === ancestor) return true;\n parent = parent.parent;\n }\n return false;\n}\nfunction $9bf71ea28793e738$var$focusElement(element, scroll = false) {\n if (element != null && !scroll) try {\n (0, $cgawC$focusSafely)(element);\n } catch {\n // ignore\n }\n else if (element != null) try {\n element.focus();\n } catch {\n // ignore\n }\n}\nfunction $9bf71ea28793e738$var$getFirstInScope(scope, tabbable = true) {\n let sentinel = scope[0].previousElementSibling;\n let scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: tabbable\n }, scope);\n walker.currentNode = sentinel;\n let nextNode = walker.nextNode();\n // If the scope does not contain a tabbable element, use the first focusable element.\n if (tabbable && !nextNode) {\n scopeRoot = $9bf71ea28793e738$var$getScopeRoot(scope);\n walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(scopeRoot, {\n tabbable: false\n }, scope);\n walker.currentNode = sentinel;\n nextNode = walker.nextNode();\n }\n return nextNode;\n}\nfunction $9bf71ea28793e738$var$focusFirstInScope(scope, tabbable = true) {\n $9bf71ea28793e738$var$focusElement($9bf71ea28793e738$var$getFirstInScope(scope, tabbable));\n}\nfunction $9bf71ea28793e738$var$useAutoFocus(scopeRef, autoFocus) {\n const autoFocusRef = (0, $cgawC$react).useRef(autoFocus);\n (0, $cgawC$useEffect)(()=>{\n if (autoFocusRef.current) {\n $9bf71ea28793e738$var$activeScope = scopeRef;\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scopeRef.current ? scopeRef.current[0] : undefined);\n if (!$9bf71ea28793e738$var$isElementInScope((0, $cgawC$getActiveElement)(ownerDocument), $9bf71ea28793e738$var$activeScope.current) && scopeRef.current) $9bf71ea28793e738$var$focusFirstInScope(scopeRef.current);\n }\n autoFocusRef.current = false;\n }, [\n scopeRef\n ]);\n}\nfunction $9bf71ea28793e738$var$useActiveScopeTracker(scopeRef, restore, contain) {\n // tracks the active scope, in case restore and contain are both false.\n // if either are true, this is tracked in useRestoreFocus or useFocusContainment.\n (0, $cgawC$useLayoutEffect)(()=>{\n if (restore || contain) return;\n let scope = scopeRef.current;\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scope ? scope[0] : undefined);\n let onFocus = (e)=>{\n let target = (0, $cgawC$getEventTarget)(e);\n if ($9bf71ea28793e738$var$isElementInScope(target, scopeRef.current)) $9bf71ea28793e738$var$activeScope = scopeRef;\n else if (!$9bf71ea28793e738$var$isElementInAnyScope(target)) $9bf71ea28793e738$var$activeScope = null;\n };\n ownerDocument.addEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.addEventListener('focusin', onFocus, false));\n return ()=>{\n ownerDocument.removeEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.removeEventListener('focusin', onFocus, false));\n };\n }, [\n scopeRef,\n restore,\n contain\n ]);\n}\nfunction $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef) {\n let scope = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode($9bf71ea28793e738$var$activeScope);\n while(scope && scope.scopeRef !== scopeRef){\n if (scope.nodeToRestore) return false;\n scope = scope.parent;\n }\n return (scope === null || scope === void 0 ? void 0 : scope.scopeRef) === scopeRef;\n}\nfunction $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain) {\n // create a ref during render instead of useLayoutEffect so the active element is saved before a child with autoFocus=true mounts.\n // eslint-disable-next-line no-restricted-globals\n const nodeToRestoreRef = (0, $cgawC$useRef)(typeof document !== 'undefined' ? (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)(scopeRef.current ? scopeRef.current[0] : undefined)) : null);\n // restoring scopes should all track if they are active regardless of contain, but contain already tracks it plus logic to contain the focus\n // restoring-non-containing scopes should only care if they become active so they can perform the restore\n (0, $cgawC$useLayoutEffect)(()=>{\n let scope = scopeRef.current;\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scope ? scope[0] : undefined);\n if (!restoreFocus || contain) return;\n let onFocus = ()=>{\n // If focusing an element in a child scope of the currently active scope, the child becomes active.\n // Moving out of the active scope to an ancestor is not allowed.\n if ((!$9bf71ea28793e738$var$activeScope || $9bf71ea28793e738$var$isAncestorScope($9bf71ea28793e738$var$activeScope, scopeRef)) && $9bf71ea28793e738$var$isElementInScope((0, $cgawC$getActiveElement)(ownerDocument), scopeRef.current)) $9bf71ea28793e738$var$activeScope = scopeRef;\n };\n ownerDocument.addEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.addEventListener('focusin', onFocus, false));\n return ()=>{\n ownerDocument.removeEventListener('focusin', onFocus, false);\n scope === null || scope === void 0 ? void 0 : scope.forEach((element)=>element.removeEventListener('focusin', onFocus, false));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n scopeRef,\n contain\n ]);\n (0, $cgawC$useLayoutEffect)(()=>{\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scopeRef.current ? scopeRef.current[0] : undefined);\n if (!restoreFocus) return;\n // Handle the Tab key so that tabbing out of the scope goes to the next element\n // after the node that had focus when the scope mounted. This is important when\n // using portals for overlays, so that focus goes to the expected element when\n // tabbing out of the overlay.\n let onKeyDown = (e)=>{\n if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;\n let focusedElement = ownerDocument.activeElement;\n if (!$9bf71ea28793e738$var$isElementInChildScope(focusedElement, scopeRef) || !$9bf71ea28793e738$var$shouldRestoreFocus(scopeRef)) return;\n let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);\n if (!treeNode) return;\n let nodeToRestore = treeNode.nodeToRestore;\n // Create a DOM tree walker that matches all tabbable elements\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(ownerDocument.body, {\n tabbable: true\n });\n // Find the next tabbable element after the currently focused element\n walker.currentNode = focusedElement;\n let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n if (!nodeToRestore || !nodeToRestore.isConnected || nodeToRestore === ownerDocument.body) {\n nodeToRestore = undefined;\n treeNode.nodeToRestore = undefined;\n }\n // If there is no next element, or it is outside the current scope, move focus to the\n // next element after the node to restore to instead.\n if ((!nextElement || !$9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) {\n walker.currentNode = nodeToRestore;\n // Skip over elements within the scope, in case the scope immediately follows the node to restore.\n do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();\n while ($9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef));\n e.preventDefault();\n e.stopPropagation();\n if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);\n else // If there is no next element and the nodeToRestore isn't within a FocusScope (i.e. we are leaving the top level focus scope)\n // then move focus to the body.\n // Otherwise restore focus to the nodeToRestore (e.g menu within a popover -> tabbing to close the menu should move focus to menu trigger)\n if (!$9bf71ea28793e738$var$isElementInAnyScope(nodeToRestore)) focusedElement.blur();\n else $9bf71ea28793e738$var$focusElement(nodeToRestore, true);\n }\n };\n if (!contain) ownerDocument.addEventListener('keydown', onKeyDown, true);\n return ()=>{\n if (!contain) ownerDocument.removeEventListener('keydown', onKeyDown, true);\n };\n }, [\n scopeRef,\n restoreFocus,\n contain\n ]);\n // useLayoutEffect instead of useEffect so the active element is saved synchronously instead of asynchronously.\n (0, $cgawC$useLayoutEffect)(()=>{\n const ownerDocument = (0, $cgawC$getOwnerDocument)(scopeRef.current ? scopeRef.current[0] : undefined);\n if (!restoreFocus) return;\n let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);\n if (!treeNode) return;\n var _nodeToRestoreRef_current;\n treeNode.nodeToRestore = (_nodeToRestoreRef_current = nodeToRestoreRef.current) !== null && _nodeToRestoreRef_current !== void 0 ? _nodeToRestoreRef_current : undefined;\n return ()=>{\n let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);\n if (!treeNode) return;\n let nodeToRestore = treeNode.nodeToRestore;\n // if we already lost focus to the body and this was the active scope, then we should attempt to restore\n let activeElement = (0, $cgawC$getActiveElement)(ownerDocument);\n if (restoreFocus && nodeToRestore && (activeElement && $9bf71ea28793e738$var$isElementInChildScope(activeElement, scopeRef) || activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {\n // freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it\n let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone();\n requestAnimationFrame(()=>{\n // Only restore focus if we've lost focus to the body, the alternative is that focus has been purposefully moved elsewhere\n if (ownerDocument.activeElement === ownerDocument.body) {\n // look up the tree starting with our scope to find a nodeToRestore still in the DOM\n let treeNode = clonedTree.getTreeNode(scopeRef);\n while(treeNode){\n if (treeNode.nodeToRestore && treeNode.nodeToRestore.isConnected) {\n $9bf71ea28793e738$var$restoreFocusToElement(treeNode.nodeToRestore);\n return;\n }\n treeNode = treeNode.parent;\n }\n // If no nodeToRestore was found, focus the first element in the nearest\n // ancestor scope that is still in the tree.\n treeNode = clonedTree.getTreeNode(scopeRef);\n while(treeNode){\n if (treeNode.scopeRef && treeNode.scopeRef.current && $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(treeNode.scopeRef)) {\n let node = $9bf71ea28793e738$var$getFirstInScope(treeNode.scopeRef.current, true);\n $9bf71ea28793e738$var$restoreFocusToElement(node);\n return;\n }\n treeNode = treeNode.parent;\n }\n }\n });\n }\n };\n }, [\n scopeRef,\n restoreFocus\n ]);\n}\nfunction $9bf71ea28793e738$var$restoreFocusToElement(node) {\n // Dispatch a custom event that parent elements can intercept to customize focus restoration.\n // For example, virtualized collection components reuse DOM elements, so the original element\n // might still exist in the DOM but representing a different item.\n if (node.dispatchEvent(new CustomEvent($9bf71ea28793e738$var$RESTORE_FOCUS_EVENT, {\n bubbles: true,\n cancelable: true\n }))) $9bf71ea28793e738$var$focusElement(node);\n}\nfunction $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, opts, scope) {\n let filter = (opts === null || opts === void 0 ? void 0 : opts.tabbable) ? (0, $cgawC$isTabbable) : (0, $cgawC$isFocusable);\n // Ensure that root is an Element or fall back appropriately\n let rootElement = (root === null || root === void 0 ? void 0 : root.nodeType) === Node.ELEMENT_NODE ? root : null;\n // Determine the document to use\n let doc = (0, $cgawC$getOwnerDocument)(rootElement);\n // Create a TreeWalker, ensuring the root is an Element or Document\n let walker = (0, $cgawC$createShadowTreeWalker)(doc, root || doc, NodeFilter.SHOW_ELEMENT, {\n acceptNode (node) {\n var _opts_from;\n // Skip nodes inside the starting node.\n if (opts === null || opts === void 0 ? void 0 : (_opts_from = opts.from) === null || _opts_from === void 0 ? void 0 : _opts_from.contains(node)) return NodeFilter.FILTER_REJECT;\n if ((opts === null || opts === void 0 ? void 0 : opts.tabbable) && node.tagName === 'INPUT' && node.getAttribute('type') === 'radio') {\n // If the radio is in a form, we can get all the other radios by name\n if (!$9bf71ea28793e738$var$isTabbableRadio(node)) return NodeFilter.FILTER_REJECT;\n // If the radio is in the same group as the current node and none are selected, we can skip it\n if (walker.currentNode.tagName === 'INPUT' && walker.currentNode.type === 'radio' && walker.currentNode.name === node.name) return NodeFilter.FILTER_REJECT;\n }\n if (filter(node) && (!scope || $9bf71ea28793e738$var$isElementInScope(node, scope)) && (!(opts === null || opts === void 0 ? void 0 : opts.accept) || opts.accept(node))) return NodeFilter.FILTER_ACCEPT;\n return NodeFilter.FILTER_SKIP;\n }\n });\n if (opts === null || opts === void 0 ? void 0 : opts.from) walker.currentNode = opts.from;\n return walker;\n}\nfunction $9bf71ea28793e738$export$c5251b9e124bf29(ref, defaultOptions = {}) {\n return {\n focusNext (opts = {}) {\n let root = ref.current;\n if (!root) return null;\n let { from: from, tabbable: tabbable = defaultOptions.tabbable, wrap: wrap = defaultOptions.wrap, accept: accept = defaultOptions.accept } = opts;\n let node = from || (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)(root));\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n if (root.contains(node)) walker.currentNode = node;\n let nextNode = walker.nextNode();\n if (!nextNode && wrap) {\n walker.currentNode = root;\n nextNode = walker.nextNode();\n }\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusPrevious (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return null;\n let { from: from, tabbable: tabbable = defaultOptions.tabbable, wrap: wrap = defaultOptions.wrap, accept: accept = defaultOptions.accept } = opts;\n let node = from || (0, $cgawC$getActiveElement)((0, $cgawC$getOwnerDocument)(root));\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n if (root.contains(node)) walker.currentNode = node;\n else {\n let next = $9bf71ea28793e738$var$last(walker);\n if (next) $9bf71ea28793e738$var$focusElement(next, true);\n return next !== null && next !== void 0 ? next : null;\n }\n let previousNode = walker.previousNode();\n if (!previousNode && wrap) {\n walker.currentNode = root;\n let lastNode = $9bf71ea28793e738$var$last(walker);\n if (!lastNode) // couldn't wrap\n return null;\n previousNode = lastNode;\n }\n if (previousNode) $9bf71ea28793e738$var$focusElement(previousNode, true);\n return previousNode !== null && previousNode !== void 0 ? previousNode : null;\n },\n focusFirst (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return null;\n let { tabbable: tabbable = defaultOptions.tabbable, accept: accept = defaultOptions.accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n let nextNode = walker.nextNode();\n if (nextNode) $9bf71ea28793e738$var$focusElement(nextNode, true);\n return nextNode;\n },\n focusLast (opts = defaultOptions) {\n let root = ref.current;\n if (!root) return null;\n let { tabbable: tabbable = defaultOptions.tabbable, accept: accept = defaultOptions.accept } = opts;\n let walker = $9bf71ea28793e738$export$2d6ec8fc375ceafa(root, {\n tabbable: tabbable,\n accept: accept\n });\n let next = $9bf71ea28793e738$var$last(walker);\n if (next) $9bf71ea28793e738$var$focusElement(next, true);\n return next !== null && next !== void 0 ? next : null;\n }\n };\n}\nfunction $9bf71ea28793e738$var$last(walker) {\n let next = undefined;\n let last;\n do {\n last = walker.lastChild();\n if (last) next = last;\n }while (last);\n return next;\n}\nclass $9bf71ea28793e738$var$Tree {\n get size() {\n return this.fastMap.size;\n }\n getTreeNode(data) {\n return this.fastMap.get(data);\n }\n addTreeNode(scopeRef, parent, nodeToRestore) {\n let parentNode = this.fastMap.get(parent !== null && parent !== void 0 ? parent : null);\n if (!parentNode) return;\n let node = new $9bf71ea28793e738$var$TreeNode({\n scopeRef: scopeRef\n });\n parentNode.addChild(node);\n node.parent = parentNode;\n this.fastMap.set(scopeRef, node);\n if (nodeToRestore) node.nodeToRestore = nodeToRestore;\n }\n addNode(node) {\n this.fastMap.set(node.scopeRef, node);\n }\n removeTreeNode(scopeRef) {\n // never remove the root\n if (scopeRef === null) return;\n let node = this.fastMap.get(scopeRef);\n if (!node) return;\n let parentNode = node.parent;\n // when we remove a scope, check if any sibling scopes are trying to restore focus to something inside the scope we're removing\n // if we are, then replace the siblings restore with the restore from the scope we're removing\n for (let current of this.traverse())if (current !== node && node.nodeToRestore && current.nodeToRestore && node.scopeRef && node.scopeRef.current && $9bf71ea28793e738$var$isElementInScope(current.nodeToRestore, node.scopeRef.current)) current.nodeToRestore = node.nodeToRestore;\n let children = node.children;\n if (parentNode) {\n parentNode.removeChild(node);\n if (children.size > 0) children.forEach((child)=>parentNode && parentNode.addChild(child));\n }\n this.fastMap.delete(node.scopeRef);\n }\n // Pre Order Depth First\n *traverse(node = this.root) {\n if (node.scopeRef != null) yield node;\n if (node.children.size > 0) for (let child of node.children)yield* this.traverse(child);\n }\n clone() {\n var _node_parent;\n let newTree = new $9bf71ea28793e738$var$Tree();\n var _node_parent_scopeRef;\n for (let node of this.traverse())newTree.addTreeNode(node.scopeRef, (_node_parent_scopeRef = (_node_parent = node.parent) === null || _node_parent === void 0 ? void 0 : _node_parent.scopeRef) !== null && _node_parent_scopeRef !== void 0 ? _node_parent_scopeRef : null, node.nodeToRestore);\n return newTree;\n }\n constructor(){\n this.fastMap = new Map();\n this.root = new $9bf71ea28793e738$var$TreeNode({\n scopeRef: null\n });\n this.fastMap.set(null, this.root);\n }\n}\nclass $9bf71ea28793e738$var$TreeNode {\n addChild(node) {\n this.children.add(node);\n node.parent = this;\n }\n removeChild(node) {\n this.children.delete(node);\n node.parent = undefined;\n }\n constructor(props){\n this.children = new Set();\n this.contain = false;\n this.scopeRef = props.scopeRef;\n }\n}\nlet $9bf71ea28793e738$export$d06fae2ee68b101e = new $9bf71ea28793e738$var$Tree();\n\n\nexport {$9bf71ea28793e738$export$20e40289641fbbb6 as FocusScope, $9bf71ea28793e738$export$d06fae2ee68b101e as focusScopeTree, $9bf71ea28793e738$export$10c5169755ce7bd7 as useFocusManager, $9bf71ea28793e738$export$2d6ec8fc375ceafa as getFocusableTreeWalker, $9bf71ea28793e738$export$1258395f99bf9cbf as isElementInChildOfActiveScope, $9bf71ea28793e738$export$c5251b9e124bf29 as createFocusManager};\n//# sourceMappingURL=FocusScope.module.js.map\n","import {isFocusVisible as $isWE5$isFocusVisible, useFocusVisibleListener as $isWE5$useFocusVisibleListener, useFocus as $isWE5$useFocus, useFocusWithin as $isWE5$useFocusWithin} from \"@react-aria/interactions\";\nimport {useRef as $isWE5$useRef, useState as $isWE5$useState, useCallback as $isWE5$useCallback} from \"react\";\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, $isWE5$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $isWE5$isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, $isWE5$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $isWE5$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $isWE5$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $isWE5$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $isWE5$useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $isWE5$useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $isWE5$useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nexport {$f7dceffc5ad7768b$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.module.js.map\n","import {getFocusableTreeWalker as $9bf71ea28793e738$export$2d6ec8fc375ceafa} from \"./FocusScope.mjs\";\nimport {useLayoutEffect as $hGAaG$useLayoutEffect} from \"@react-aria/utils\";\nimport {useState as $hGAaG$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $83013635b024ae3d$export$eac1895992b9f3d6(ref, options) {\n let isDisabled = options === null || options === void 0 ? void 0 : options.isDisabled;\n let [hasTabbableChild, setHasTabbableChild] = (0, $hGAaG$useState)(false);\n (0, $hGAaG$useLayoutEffect)(()=>{\n if ((ref === null || ref === void 0 ? void 0 : ref.current) && !isDisabled) {\n let update = ()=>{\n if (ref.current) {\n let walker = (0, $9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current, {\n tabbable: true\n });\n setHasTabbableChild(!!walker.nextNode());\n }\n };\n update();\n // Update when new elements are inserted, or the tabIndex/disabled attribute updates.\n let observer = new MutationObserver(update);\n observer.observe(ref.current, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\n 'tabIndex',\n 'disabled'\n ]\n });\n return ()=>{\n // Disconnect mutation observer when a React update occurs on the top-level component\n // so we update synchronously after re-rendering. Otherwise React will emit act warnings\n // in tests since mutation observers fire asynchronously. The mutation observer is necessary\n // so we also update if a child component re-renders and adds/removes something tabbable.\n observer.disconnect();\n };\n }\n });\n return isDisabled ? false : hasTabbableChild;\n}\n\n\nexport {$83013635b024ae3d$export$eac1895992b9f3d6 as useHasTabbableChild};\n//# sourceMappingURL=useHasTabbableChild.module.js.map\n","import {getOwnerDocument as $hpDQO$getOwnerDocument, getActiveElement as $hpDQO$getActiveElement} from \"@react-aria/utils\";\n\n\nfunction $55f9b1ae81f22853$export$76e4e37e5339496d(to) {\n let from = $55f9b1ae81f22853$export$759df0d867455a91((0, $hpDQO$getOwnerDocument)(to));\n if (from !== to) {\n if (from) $55f9b1ae81f22853$export$6c5dc7e81d2cc29a(from, to);\n if (to) $55f9b1ae81f22853$export$2b35b76d2e30e129(to, from);\n }\n}\nfunction $55f9b1ae81f22853$export$6c5dc7e81d2cc29a(from, to) {\n from.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: to\n }));\n from.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: to\n }));\n}\nfunction $55f9b1ae81f22853$export$2b35b76d2e30e129(to, from) {\n to.dispatchEvent(new FocusEvent('focus', {\n relatedTarget: from\n }));\n to.dispatchEvent(new FocusEvent('focusin', {\n bubbles: true,\n relatedTarget: from\n }));\n}\nfunction $55f9b1ae81f22853$export$759df0d867455a91(document) {\n let activeElement = (0, $hpDQO$getActiveElement)(document);\n let activeDescendant = activeElement === null || activeElement === void 0 ? void 0 : activeElement.getAttribute('aria-activedescendant');\n if (activeDescendant) return document.getElementById(activeDescendant) || activeElement;\n return activeElement;\n}\n\n\nexport {$55f9b1ae81f22853$export$76e4e37e5339496d as moveVirtualFocus, $55f9b1ae81f22853$export$759df0d867455a91 as getVirtuallyFocusedElement, $55f9b1ae81f22853$export$6c5dc7e81d2cc29a as dispatchVirtualBlur, $55f9b1ae81f22853$export$2b35b76d2e30e129 as dispatchVirtualFocus};\n//# sourceMappingURL=virtualFocus.module.js.map\n","import {mergeProps as $7JYt2$mergeProps} from \"@react-aria/utils\";\nimport $7JYt2$react, {useState as $7JYt2$useState, useMemo as $7JYt2$useMemo} from \"react\";\nimport {useFocusWithin as $7JYt2$useFocusWithin} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $5c3e21d68f1c4674$var$styles = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n};\nfunction $5c3e21d68f1c4674$export$a966af930f325cab(props = {}) {\n let { style: style, isFocusable: isFocusable } = props;\n let [isFocused, setFocused] = (0, $7JYt2$useState)(false);\n let { focusWithinProps: focusWithinProps } = (0, $7JYt2$useFocusWithin)({\n isDisabled: !isFocusable,\n onFocusWithinChange: (val)=>setFocused(val)\n });\n // If focused, don't hide the element.\n let combinedStyles = (0, $7JYt2$useMemo)(()=>{\n if (isFocused) return style;\n else if (style) return {\n ...$5c3e21d68f1c4674$var$styles,\n ...style\n };\n else return $5c3e21d68f1c4674$var$styles;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isFocused\n ]);\n return {\n visuallyHiddenProps: {\n ...focusWithinProps,\n style: combinedStyles\n }\n };\n}\nfunction $5c3e21d68f1c4674$export$439d29a4e110a164(props) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;\n let { visuallyHiddenProps: visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab(props);\n return /*#__PURE__*/ (0, $7JYt2$react).createElement(Element, (0, $7JYt2$mergeProps)(otherProps, visuallyHiddenProps), children);\n}\n\n\nexport {$5c3e21d68f1c4674$export$a966af930f325cab as useVisuallyHidden, $5c3e21d68f1c4674$export$439d29a4e110a164 as VisuallyHidden};\n//# sourceMappingURL=VisuallyHidden.module.js.map\n","import {isAppleDevice as $jUnAJ$isAppleDevice, useId as $jUnAJ$useId} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $feb5ffebff200149$export$d3e3bd3e26688c04(e) {\n // Ctrl + Arrow Up/Arrow Down has a system wide meaning on macOS, so use Alt instead.\n // On Windows and Ubuntu, Alt + Space has a system wide meaning.\n return (0, $jUnAJ$isAppleDevice)() ? e.altKey : e.ctrlKey;\n}\nfunction $feb5ffebff200149$export$c3d8340acf92597f(collectionRef, key) {\n var _collectionRef_current, _collectionRef_current1;\n let selector = `[data-key=\"${CSS.escape(String(key))}\"]`;\n let collection = (_collectionRef_current = collectionRef.current) === null || _collectionRef_current === void 0 ? void 0 : _collectionRef_current.dataset.collection;\n if (collection) selector = `[data-collection=\"${CSS.escape(collection)}\"]${selector}`;\n return (_collectionRef_current1 = collectionRef.current) === null || _collectionRef_current1 === void 0 ? void 0 : _collectionRef_current1.querySelector(selector);\n}\nconst $feb5ffebff200149$var$collectionMap = new WeakMap();\nfunction $feb5ffebff200149$export$881eb0d9f3605d9d(collection) {\n let id = (0, $jUnAJ$useId)();\n $feb5ffebff200149$var$collectionMap.set(collection, id);\n return id;\n}\nfunction $feb5ffebff200149$export$6aeb1680a0ae8741(collection) {\n return $feb5ffebff200149$var$collectionMap.get(collection);\n}\n\n\nexport {$feb5ffebff200149$export$d3e3bd3e26688c04 as isNonContiguousSelectionModifier, $feb5ffebff200149$export$c3d8340acf92597f as getItemElement, $feb5ffebff200149$export$881eb0d9f3605d9d as useCollectionId, $feb5ffebff200149$export$6aeb1680a0ae8741 as getCollectionId};\n//# sourceMappingURL=utils.module.js.map\n","import {useRef as $dAE4Y$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/**\n * Controls how long to wait before clearing the typeahead buffer.\n */ const $fb3050f43d946246$var$TYPEAHEAD_DEBOUNCE_WAIT_MS = 1000; // 1 second\nfunction $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {\n let { keyboardDelegate: keyboardDelegate, selectionManager: selectionManager, onTypeSelect: onTypeSelect } = options;\n let state = (0, $dAE4Y$useRef)({\n search: '',\n timeout: undefined\n }).current;\n let onKeyDown = (e)=>{\n let character = $fb3050f43d946246$var$getStringForKey(e.key);\n if (!character || e.ctrlKey || e.metaKey || !e.currentTarget.contains(e.target) || state.search.length === 0 && character === ' ') return;\n // Do not propagate the Spacebar event if it's meant to be part of the search.\n // When we time out, the search term becomes empty, hence the check on length.\n // Trimming is to account for the case of pressing the Spacebar more than once,\n // which should cycle through the selection/deselection of the focused item.\n if (character === ' ' && state.search.trim().length > 0) {\n e.preventDefault();\n if (!('continuePropagation' in e)) e.stopPropagation();\n }\n state.search += character;\n if (keyboardDelegate.getKeyForSearch != null) {\n // Use the delegate to find a key to focus.\n // Prioritize items after the currently focused item, falling back to searching the whole list.\n let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);\n // If no key found, search from the top.\n if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);\n if (key != null) {\n selectionManager.setFocusedKey(key);\n if (onTypeSelect) onTypeSelect(key);\n }\n }\n clearTimeout(state.timeout);\n state.timeout = setTimeout(()=>{\n state.search = '';\n }, $fb3050f43d946246$var$TYPEAHEAD_DEBOUNCE_WAIT_MS);\n };\n return {\n typeSelectProps: {\n // Using a capturing listener to catch the keydown event before\n // other hooks in order to handle the Spacebar event.\n onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : undefined\n }\n };\n}\nfunction $fb3050f43d946246$var$getStringForKey(key) {\n // If the key is of length 1, it is an ASCII value.\n // Otherwise, if there are no ASCII characters in the key name,\n // it is a Unicode character.\n // See https://www.w3.org/TR/uievents-key/\n if (key.length === 1 || !/^[A-Z]/i.test(key)) return key;\n return '';\n}\n\n\nexport {$fb3050f43d946246$export$e32c88dfddc6e1d8 as useTypeSelect};\n//# sourceMappingURL=useTypeSelect.module.js.map\n","import {getItemElement as $feb5ffebff200149$export$c3d8340acf92597f, isNonContiguousSelectionModifier as $feb5ffebff200149$export$d3e3bd3e26688c04, useCollectionId as $feb5ffebff200149$export$881eb0d9f3605d9d} from \"./utils.mjs\";\nimport {useTypeSelect as $fb3050f43d946246$export$e32c88dfddc6e1d8} from \"./useTypeSelect.mjs\";\nimport {useRouter as $3H3GQ$useRouter, isCtrlKeyPressed as $3H3GQ$isCtrlKeyPressed, isTabbable as $3H3GQ$isTabbable, focusWithoutScrolling as $3H3GQ$focusWithoutScrolling, useEvent as $3H3GQ$useEvent, scrollIntoViewport as $3H3GQ$scrollIntoViewport, FOCUS_EVENT as $3H3GQ$FOCUS_EVENT, useUpdateLayoutEffect as $3H3GQ$useUpdateLayoutEffect, getActiveElement as $3H3GQ$getActiveElement, CLEAR_FOCUS_EVENT as $3H3GQ$CLEAR_FOCUS_EVENT, scrollIntoView as $3H3GQ$scrollIntoView, mergeProps as $3H3GQ$mergeProps} from \"@react-aria/utils\";\nimport {getFocusableTreeWalker as $3H3GQ$getFocusableTreeWalker, moveVirtualFocus as $3H3GQ$moveVirtualFocus, dispatchVirtualFocus as $3H3GQ$dispatchVirtualFocus} from \"@react-aria/focus\";\nimport {flushSync as $3H3GQ$flushSync} from \"react-dom\";\nimport {useRef as $3H3GQ$useRef, useEffect as $3H3GQ$useEffect} from \"react\";\nimport {getInteractionModality as $3H3GQ$getInteractionModality, focusSafely as $3H3GQ$focusSafely} from \"@react-aria/interactions\";\nimport {useLocale as $3H3GQ$useLocale} from \"@react-aria/i18n\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nfunction $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {\n let { selectionManager: manager, keyboardDelegate: delegate, ref: ref, autoFocus: autoFocus = false, shouldFocusWrap: shouldFocusWrap = false, disallowEmptySelection: disallowEmptySelection = false, disallowSelectAll: disallowSelectAll = false, escapeKeyBehavior: escapeKeyBehavior = 'clearSelection', selectOnFocus: selectOnFocus = manager.selectionBehavior === 'replace', disallowTypeAhead: disallowTypeAhead = false, shouldUseVirtualFocus: shouldUseVirtualFocus, allowsTabNavigation: allowsTabNavigation = false, isVirtualized: isVirtualized, scrollRef: // If no scrollRef is provided, assume the collection ref is the scrollable region\n scrollRef = ref, linkBehavior: linkBehavior = 'action' } = options;\n let { direction: direction } = (0, $3H3GQ$useLocale)();\n let router = (0, $3H3GQ$useRouter)();\n let onKeyDown = (e)=>{\n var _ref_current;\n // Prevent option + tab from doing anything since it doesn't move focus to the cells, only buttons/checkboxes\n if (e.altKey && e.key === 'Tab') e.preventDefault();\n // Keyboard events bubble through portals. Don't handle keyboard events\n // for elements outside the collection (e.g. menus).\n if (!((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(e.target))) return;\n const navigateToKey = (key, childFocus)=>{\n if (key != null) {\n if (manager.isLink(key) && linkBehavior === 'selection' && selectOnFocus && !(0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) {\n // Set focused key and re-render synchronously to bring item into view if needed.\n (0, $3H3GQ$flushSync)(()=>{\n manager.setFocusedKey(key, childFocus);\n });\n let item = (0, $feb5ffebff200149$export$c3d8340acf92597f)(ref, key);\n let itemProps = manager.getItemProps(key);\n if (item) router.open(item, e, itemProps.href, itemProps.routerOptions);\n return;\n }\n manager.setFocusedKey(key, childFocus);\n if (manager.isLink(key) && linkBehavior === 'override') return;\n if (e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(key);\n else if (selectOnFocus && !(0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) manager.replaceSelection(key);\n }\n };\n switch(e.key){\n case 'ArrowDown':\n if (delegate.getKeyBelow) {\n var _delegate_getKeyBelow, _delegate_getFirstKey, _delegate_getFirstKey1;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, manager.focusedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);\n if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'ArrowUp':\n if (delegate.getKeyAbove) {\n var _delegate_getKeyAbove, _delegate_getLastKey, _delegate_getLastKey1;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, manager.focusedKey) : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate);\n if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getLastKey1 = delegate.getLastKey) === null || _delegate_getLastKey1 === void 0 ? void 0 : _delegate_getLastKey1.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'ArrowLeft':\n if (delegate.getKeyLeftOf) {\n var _delegate_getKeyLeftOf, _delegate_getFirstKey2, _delegate_getLastKey2;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyLeftOf = delegate.getKeyLeftOf) === null || _delegate_getKeyLeftOf === void 0 ? void 0 : _delegate_getKeyLeftOf.call(delegate, manager.focusedKey) : null;\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getFirstKey2 = delegate.getFirstKey) === null || _delegate_getFirstKey2 === void 0 ? void 0 : _delegate_getFirstKey2.call(delegate, manager.focusedKey) : (_delegate_getLastKey2 = delegate.getLastKey) === null || _delegate_getLastKey2 === void 0 ? void 0 : _delegate_getLastKey2.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');\n }\n }\n break;\n case 'ArrowRight':\n if (delegate.getKeyRightOf) {\n var _delegate_getKeyRightOf, _delegate_getLastKey3, _delegate_getFirstKey3;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyRightOf = delegate.getKeyRightOf) === null || _delegate_getKeyRightOf === void 0 ? void 0 : _delegate_getKeyRightOf.call(delegate, manager.focusedKey) : null;\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getLastKey3 = delegate.getLastKey) === null || _delegate_getLastKey3 === void 0 ? void 0 : _delegate_getLastKey3.call(delegate, manager.focusedKey) : (_delegate_getFirstKey3 = delegate.getFirstKey) === null || _delegate_getFirstKey3 === void 0 ? void 0 : _delegate_getFirstKey3.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');\n }\n }\n break;\n case 'Home':\n if (delegate.getFirstKey) {\n if (manager.focusedKey === null && e.shiftKey) return;\n e.preventDefault();\n let firstKey = delegate.getFirstKey(manager.focusedKey, (0, $3H3GQ$isCtrlKeyPressed)(e));\n manager.setFocusedKey(firstKey);\n if (firstKey != null) {\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);\n else if (selectOnFocus) manager.replaceSelection(firstKey);\n }\n }\n break;\n case 'End':\n if (delegate.getLastKey) {\n if (manager.focusedKey === null && e.shiftKey) return;\n e.preventDefault();\n let lastKey = delegate.getLastKey(manager.focusedKey, (0, $3H3GQ$isCtrlKeyPressed)(e));\n manager.setFocusedKey(lastKey);\n if (lastKey != null) {\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);\n else if (selectOnFocus) manager.replaceSelection(lastKey);\n }\n }\n break;\n case 'PageDown':\n if (delegate.getKeyPageBelow && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageBelow(manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'PageUp':\n if (delegate.getKeyPageAbove && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageAbove(manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'a':\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && manager.selectionMode === 'multiple' && disallowSelectAll !== true) {\n e.preventDefault();\n manager.selectAll();\n }\n break;\n case 'Escape':\n if (escapeKeyBehavior === 'clearSelection' && !disallowEmptySelection && manager.selectedKeys.size !== 0) {\n e.stopPropagation();\n e.preventDefault();\n manager.clearSelection();\n }\n break;\n case 'Tab':\n if (!allowsTabNavigation) {\n // There may be elements that are \"tabbable\" inside a collection (e.g. in a grid cell).\n // However, collections should be treated as a single tab stop, with arrow key navigation internally.\n // We don't control the rendering of these, so we can't override the tabIndex to prevent tabbing.\n // Instead, we handle the Tab key, and move focus manually to the first/last tabbable element\n // in the collection, so that the browser default behavior will apply starting from that element\n // rather than the currently focused one.\n if (e.shiftKey) ref.current.focus();\n else {\n let walker = (0, $3H3GQ$getFocusableTreeWalker)(ref.current, {\n tabbable: true\n });\n let next = undefined;\n let last;\n do {\n last = walker.lastChild();\n if (last) next = last;\n }while (last);\n // If the active element is NOT tabbable but is contained by an element that IS tabbable (aka the cell), the browser will actually move focus to\n // the containing element. We need to special case this so that tab will move focus out of the grid instead of looping between\n // focusing the containing cell and back to the non-tabbable child element\n if (next && (!next.contains(document.activeElement) || document.activeElement && !(0, $3H3GQ$isTabbable)(document.activeElement))) (0, $3H3GQ$focusWithoutScrolling)(next);\n }\n break;\n }\n }\n };\n // Store the scroll position so we can restore it later.\n /// TODO: should this happen all the time??\n let scrollPos = (0, $3H3GQ$useRef)({\n top: 0,\n left: 0\n });\n (0, $3H3GQ$useEvent)(scrollRef, 'scroll', isVirtualized ? undefined : ()=>{\n var _scrollRef_current, _scrollRef_current1;\n var _scrollRef_current_scrollTop, _scrollRef_current_scrollLeft;\n scrollPos.current = {\n top: (_scrollRef_current_scrollTop = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTop) !== null && _scrollRef_current_scrollTop !== void 0 ? _scrollRef_current_scrollTop : 0,\n left: (_scrollRef_current_scrollLeft = (_scrollRef_current1 = scrollRef.current) === null || _scrollRef_current1 === void 0 ? void 0 : _scrollRef_current1.scrollLeft) !== null && _scrollRef_current_scrollLeft !== void 0 ? _scrollRef_current_scrollLeft : 0\n };\n });\n let onFocus = (e)=>{\n if (manager.isFocused) {\n // If a focus event bubbled through a portal, reset focus state.\n if (!e.currentTarget.contains(e.target)) manager.setFocused(false);\n return;\n }\n // Focus events can bubble through portals. Ignore these events.\n if (!e.currentTarget.contains(e.target)) return;\n manager.setFocused(true);\n if (manager.focusedKey == null) {\n var _delegate_getLastKey, _delegate_getFirstKey;\n let navigateToKey = (key)=>{\n if (key != null) {\n manager.setFocusedKey(key);\n if (selectOnFocus && !manager.isSelected(key)) manager.replaceSelection(key);\n }\n };\n // If the user hasn't yet interacted with the collection, there will be no focusedKey set.\n // Attempt to detect whether the user is tabbing forward or backward into the collection\n // and either focus the first or last item accordingly.\n let relatedTarget = e.relatedTarget;\n var _manager_lastSelectedKey, _manager_firstSelectedKey;\n if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToKey((_manager_lastSelectedKey = manager.lastSelectedKey) !== null && _manager_lastSelectedKey !== void 0 ? _manager_lastSelectedKey : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate));\n else navigateToKey((_manager_firstSelectedKey = manager.firstSelectedKey) !== null && _manager_firstSelectedKey !== void 0 ? _manager_firstSelectedKey : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate));\n } else if (!isVirtualized && scrollRef.current) {\n // Restore the scroll position to what it was before.\n scrollRef.current.scrollTop = scrollPos.current.top;\n scrollRef.current.scrollLeft = scrollPos.current.left;\n }\n if (manager.focusedKey != null && scrollRef.current) {\n // Refocus and scroll the focused item into view if it exists within the scrollable region.\n let element = (0, $feb5ffebff200149$export$c3d8340acf92597f)(ref, manager.focusedKey);\n if (element instanceof HTMLElement) {\n // This prevents a flash of focus on the first/last element in the collection, or the collection itself.\n if (!element.contains(document.activeElement) && !shouldUseVirtualFocus) (0, $3H3GQ$focusWithoutScrolling)(element);\n let modality = (0, $3H3GQ$getInteractionModality)();\n if (modality === 'keyboard') (0, $3H3GQ$scrollIntoViewport)(element, {\n containingElement: ref.current\n });\n }\n }\n };\n let onBlur = (e)=>{\n // Don't set blurred and then focused again if moving focus within the collection.\n if (!e.currentTarget.contains(e.relatedTarget)) manager.setFocused(false);\n };\n // Ref to track whether the first item in the collection should be automatically focused. Specifically used for autocomplete when user types\n // to focus the first key AFTER the collection updates.\n // TODO: potentially expand the usage of this\n let shouldVirtualFocusFirst = (0, $3H3GQ$useRef)(false);\n // Add event listeners for custom virtual events. These handle updating the focused key in response to various keyboard events\n // at the autocomplete level\n // TODO: fix type later\n (0, $3H3GQ$useEvent)(ref, (0, $3H3GQ$FOCUS_EVENT), !shouldUseVirtualFocus ? undefined : (e)=>{\n let { detail: detail } = e;\n e.stopPropagation();\n manager.setFocused(true);\n // If the user is typing forwards, autofocus the first option in the list.\n if ((detail === null || detail === void 0 ? void 0 : detail.focusStrategy) === 'first') shouldVirtualFocusFirst.current = true;\n });\n // update active descendant\n (0, $3H3GQ$useUpdateLayoutEffect)(()=>{\n if (shouldVirtualFocusFirst.current) {\n var _delegate_getFirstKey;\n var _delegate_getFirstKey1;\n let keyToFocus = (_delegate_getFirstKey1 = (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate)) !== null && _delegate_getFirstKey1 !== void 0 ? _delegate_getFirstKey1 : null;\n // If no focusable items exist in the list, make sure to clear any activedescendant that may still exist and move focus back to\n // the original active element (e.g. the autocomplete input)\n if (keyToFocus == null) {\n let previousActiveElement = (0, $3H3GQ$getActiveElement)();\n (0, $3H3GQ$moveVirtualFocus)(ref.current);\n (0, $3H3GQ$dispatchVirtualFocus)(previousActiveElement, null);\n // If there wasn't a focusable key but the collection had items, then that means we aren't in an intermediate load state and all keys are disabled.\n // Reset shouldVirtualFocusFirst so that we don't erronously autofocus an item when the collection is filtered again.\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n } else {\n manager.setFocusedKey(keyToFocus);\n // Only set shouldVirtualFocusFirst to false if we've successfully set the first key as the focused key\n // If there wasn't a key to focus, we might be in a temporary loading state so we'll want to still focus the first key\n // after the collection updates after load\n shouldVirtualFocusFirst.current = false;\n }\n }\n }, [\n manager.collection\n ]);\n // reset focus first flag\n (0, $3H3GQ$useUpdateLayoutEffect)(()=>{\n // If user causes the focused key to change in any other way, clear shouldVirtualFocusFirst so we don't\n // accidentally move focus from under them. Skip this if the collection was empty because we might be in a load\n // state and will still want to focus the first item after load\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n }, [\n manager.focusedKey\n ]);\n (0, $3H3GQ$useEvent)(ref, (0, $3H3GQ$CLEAR_FOCUS_EVENT), !shouldUseVirtualFocus ? undefined : (e)=>{\n var _e_detail;\n e.stopPropagation();\n manager.setFocused(false);\n if ((_e_detail = e.detail) === null || _e_detail === void 0 ? void 0 : _e_detail.clearFocusKey) manager.setFocusedKey(null);\n });\n const autoFocusRef = (0, $3H3GQ$useRef)(autoFocus);\n const didAutoFocusRef = (0, $3H3GQ$useRef)(false);\n (0, $3H3GQ$useEffect)(()=>{\n if (autoFocusRef.current) {\n var _delegate_getFirstKey, _delegate_getLastKey;\n let focusedKey = null;\n var _delegate_getFirstKey1;\n // Check focus strategy to determine which item to focus\n if (autoFocus === 'first') focusedKey = (_delegate_getFirstKey1 = (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate)) !== null && _delegate_getFirstKey1 !== void 0 ? _delegate_getFirstKey1 : null;\n var _delegate_getLastKey1;\n if (autoFocus === 'last') focusedKey = (_delegate_getLastKey1 = (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate)) !== null && _delegate_getLastKey1 !== void 0 ? _delegate_getLastKey1 : null;\n // If there are any selected keys, make the first one the new focus target\n let selectedKeys = manager.selectedKeys;\n if (selectedKeys.size) {\n for (let key of selectedKeys)if (manager.canSelectItem(key)) {\n focusedKey = key;\n break;\n }\n }\n manager.setFocused(true);\n manager.setFocusedKey(focusedKey);\n // If no default focus key is selected, focus the collection itself.\n if (focusedKey == null && !shouldUseVirtualFocus && ref.current) (0, $3H3GQ$focusSafely)(ref.current);\n // Wait until the collection has items to autofocus.\n if (manager.collection.size > 0) {\n autoFocusRef.current = false;\n didAutoFocusRef.current = true;\n }\n }\n });\n // Scroll the focused element into view when the focusedKey changes.\n let lastFocusedKey = (0, $3H3GQ$useRef)(manager.focusedKey);\n let raf = (0, $3H3GQ$useRef)(null);\n (0, $3H3GQ$useEffect)(()=>{\n if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || didAutoFocusRef.current) && scrollRef.current && ref.current) {\n let modality = (0, $3H3GQ$getInteractionModality)();\n let element = (0, $feb5ffebff200149$export$c3d8340acf92597f)(ref, manager.focusedKey);\n if (!(element instanceof HTMLElement)) // If item element wasn't found, return early (don't update autoFocusRef and lastFocusedKey).\n // The collection may initially be empty (e.g. virtualizer), so wait until the element exists.\n return;\n if (modality === 'keyboard' || didAutoFocusRef.current) {\n if (raf.current) cancelAnimationFrame(raf.current);\n raf.current = requestAnimationFrame(()=>{\n if (scrollRef.current) {\n (0, $3H3GQ$scrollIntoView)(scrollRef.current, element);\n // Avoid scroll in iOS VO, since it may cause overlay to close (i.e. RAC submenu)\n if (modality !== 'virtual') (0, $3H3GQ$scrollIntoViewport)(element, {\n containingElement: ref.current\n });\n }\n });\n }\n }\n // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.\n if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null && ref.current) (0, $3H3GQ$focusSafely)(ref.current);\n lastFocusedKey.current = manager.focusedKey;\n didAutoFocusRef.current = false;\n });\n (0, $3H3GQ$useEffect)(()=>{\n return ()=>{\n if (raf.current) cancelAnimationFrame(raf.current);\n };\n }, []);\n // Intercept FocusScope restoration since virtualized collections can reuse DOM nodes.\n (0, $3H3GQ$useEvent)(ref, 'react-aria-focus-scope-restore', (e)=>{\n e.preventDefault();\n manager.setFocused(true);\n });\n let handlers = {\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n onMouseDown (e) {\n // Ignore events that bubbled through portals.\n if (scrollRef.current === e.target) // Prevent focus going to the collection when clicking on the scrollbar.\n e.preventDefault();\n }\n };\n let { typeSelectProps: typeSelectProps } = (0, $fb3050f43d946246$export$e32c88dfddc6e1d8)({\n keyboardDelegate: delegate,\n selectionManager: manager\n });\n if (!disallowTypeAhead) handlers = (0, $3H3GQ$mergeProps)(typeSelectProps, handlers);\n // If nothing is focused within the collection, make the collection itself tabbable.\n // This will be marshalled to either the first or last item depending on where focus came from.\n let tabIndex = undefined;\n if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;\n let collectionId = (0, $feb5ffebff200149$export$881eb0d9f3605d9d)(manager.collection);\n return {\n collectionProps: (0, $3H3GQ$mergeProps)(handlers, {\n tabIndex: tabIndex,\n 'data-collection': collectionId\n })\n };\n}\n\n\nexport {$ae20dd8cbca75726$export$d6daf82dcd84e87c as useSelectableCollection};\n//# sourceMappingURL=useSelectableCollection.module.js.map\n","import {getCollectionId as $feb5ffebff200149$export$6aeb1680a0ae8741, isNonContiguousSelectionModifier as $feb5ffebff200149$export$d3e3bd3e26688c04} from \"./utils.mjs\";\nimport {useRouter as $581M0$useRouter, useId as $581M0$useId, isCtrlKeyPressed as $581M0$isCtrlKeyPressed, mergeProps as $581M0$mergeProps, chain as $581M0$chain, openLink as $581M0$openLink} from \"@react-aria/utils\";\nimport {focusSafely as $581M0$focusSafely, usePress as $581M0$usePress, useLongPress as $581M0$useLongPress} from \"@react-aria/interactions\";\nimport {moveVirtualFocus as $581M0$moveVirtualFocus} from \"@react-aria/focus\";\nimport {useEffect as $581M0$useEffect, useRef as $581M0$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $880e95eb8b93ba9a$export$ecf600387e221c37(options) {\n let { id: id, selectionManager: manager, key: key, ref: ref, shouldSelectOnPressUp: shouldSelectOnPressUp, shouldUseVirtualFocus: shouldUseVirtualFocus, focus: focus, isDisabled: isDisabled, onAction: onAction, allowsDifferentPressOrigin: allowsDifferentPressOrigin, linkBehavior: linkBehavior = 'action' } = options;\n let router = (0, $581M0$useRouter)();\n id = (0, $581M0$useId)(id);\n let onSelect = (e)=>{\n if (e.pointerType === 'keyboard' && (0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) manager.toggleSelection(key);\n else {\n if (manager.selectionMode === 'none') return;\n if (manager.isLink(key)) {\n if (linkBehavior === 'selection' && ref.current) {\n let itemProps = manager.getItemProps(key);\n router.open(ref.current, e, itemProps.href, itemProps.routerOptions);\n // Always set selected keys back to what they were so that select and combobox close.\n manager.setSelectedKeys(manager.selectedKeys);\n return;\n } else if (linkBehavior === 'override' || linkBehavior === 'none') return;\n }\n if (manager.selectionMode === 'single') {\n if (manager.isSelected(key) && !manager.disallowEmptySelection) manager.toggleSelection(key);\n else manager.replaceSelection(key);\n } else if (e && e.shiftKey) manager.extendSelection(key);\n else if (manager.selectionBehavior === 'toggle' || e && ((0, $581M0$isCtrlKeyPressed)(e) || e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n manager.toggleSelection(key);\n else manager.replaceSelection(key);\n }\n };\n // Focus the associated DOM node when this item becomes the focusedKey\n // TODO: can't make this useLayoutEffect bacause it breaks menus inside dialogs\n // However, if this is a useEffect, it runs twice and dispatches two blur events and immediately sets\n // aria-activeDescendant in useAutocomplete... I've worked around this for now\n (0, $581M0$useEffect)(()=>{\n let isFocused = key === manager.focusedKey;\n if (isFocused && manager.isFocused) {\n if (!shouldUseVirtualFocus) {\n if (focus) focus();\n else if (document.activeElement !== ref.current && ref.current) (0, $581M0$focusSafely)(ref.current);\n } else (0, $581M0$moveVirtualFocus)(ref.current);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n ref,\n key,\n manager.focusedKey,\n manager.childFocusStrategy,\n manager.isFocused,\n shouldUseVirtualFocus\n ]);\n isDisabled = isDisabled || manager.isDisabled(key);\n // Set tabIndex to 0 if the element is focused, or -1 otherwise so that only the last focused\n // item is tabbable. If using virtual focus, don't set a tabIndex at all so that VoiceOver\n // on iOS 14 doesn't try to move real DOM focus to the item anyway.\n let itemProps = {};\n if (!shouldUseVirtualFocus && !isDisabled) itemProps = {\n tabIndex: key === manager.focusedKey ? 0 : -1,\n onFocus (e) {\n if (e.target === ref.current) manager.setFocusedKey(key);\n }\n };\n else if (isDisabled) itemProps.onMouseDown = (e)=>{\n // Prevent focus going to the body when clicking on a disabled item.\n e.preventDefault();\n };\n // With checkbox selection, onAction (i.e. navigation) becomes primary, and occurs on a single click of the row.\n // Clicking the checkbox enters selection mode, after which clicking anywhere on any row toggles selection for that row.\n // With highlight selection, onAction is secondary, and occurs on double click. Single click selects the row.\n // With touch, onAction occurs on single tap, and long press enters selection mode.\n let isLinkOverride = manager.isLink(key) && linkBehavior === 'override';\n let isActionOverride = onAction && options['UNSTABLE_itemBehavior'] === 'action';\n let hasLinkAction = manager.isLink(key) && linkBehavior !== 'selection' && linkBehavior !== 'none';\n let allowsSelection = !isDisabled && manager.canSelectItem(key) && !isLinkOverride && !isActionOverride;\n let allowsActions = (onAction || hasLinkAction) && !isDisabled;\n let hasPrimaryAction = allowsActions && (manager.selectionBehavior === 'replace' ? !allowsSelection : !allowsSelection || manager.isEmpty);\n let hasSecondaryAction = allowsActions && allowsSelection && manager.selectionBehavior === 'replace';\n let hasAction = hasPrimaryAction || hasSecondaryAction;\n let modality = (0, $581M0$useRef)(null);\n let longPressEnabled = hasAction && allowsSelection;\n let longPressEnabledOnPressStart = (0, $581M0$useRef)(false);\n let hadPrimaryActionOnPressStart = (0, $581M0$useRef)(false);\n let collectionItemProps = manager.getItemProps(key);\n let performAction = (e)=>{\n if (onAction) {\n var _ref_current;\n onAction();\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.dispatchEvent(new CustomEvent('react-aria-item-action', {\n bubbles: true\n }));\n }\n if (hasLinkAction && ref.current) router.open(ref.current, e, collectionItemProps.href, collectionItemProps.routerOptions);\n };\n // By default, selection occurs on pointer down. This can be strange if selecting an\n // item causes the UI to disappear immediately (e.g. menus).\n // If shouldSelectOnPressUp is true, we use onPressUp instead of onPressStart.\n // onPress requires a pointer down event on the same element as pointer up. For menus,\n // we want to be able to have the pointer down on the trigger that opens the menu and\n // the pointer up on the menu item rather than requiring a separate press.\n // For keyboard events, selection still occurs on key down.\n let itemPressProps = {\n ref: ref\n };\n if (shouldSelectOnPressUp) {\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n if (e.pointerType === 'keyboard' && (!hasAction || $880e95eb8b93ba9a$var$isSelectionKey())) onSelect(e);\n };\n // If allowsDifferentPressOrigin and interacting with mouse, make selection happen on pressUp (e.g. open menu on press down, selection on menu item happens on press up.)\n // Otherwise, have selection happen onPress (prevents listview row selection when clicking on interactable elements in the row)\n if (!allowsDifferentPressOrigin) itemPressProps.onPress = (e)=>{\n if (hasPrimaryAction || hasSecondaryAction && e.pointerType !== 'mouse') {\n if (e.pointerType === 'keyboard' && !$880e95eb8b93ba9a$var$isActionKey()) return;\n performAction(e);\n } else if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);\n };\n else {\n itemPressProps.onPressUp = hasPrimaryAction ? undefined : (e)=>{\n if (e.pointerType === 'mouse' && allowsSelection) onSelect(e);\n };\n itemPressProps.onPress = hasPrimaryAction ? performAction : (e)=>{\n if (e.pointerType !== 'keyboard' && e.pointerType !== 'mouse' && allowsSelection) onSelect(e);\n };\n }\n } else {\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n hadPrimaryActionOnPressStart.current = hasPrimaryAction;\n // Select on mouse down unless there is a primary action which will occur on mouse up.\n // For keyboard, select on key down. If there is an action, the Space key selects on key down,\n // and the Enter key performs onAction on key up.\n if (allowsSelection && (e.pointerType === 'mouse' && !hasPrimaryAction || e.pointerType === 'keyboard' && (!allowsActions || $880e95eb8b93ba9a$var$isSelectionKey()))) onSelect(e);\n };\n itemPressProps.onPress = (e)=>{\n // Selection occurs on touch up. Primary actions always occur on pointer up.\n // Both primary and secondary actions occur on Enter key up. The only exception\n // is secondary actions, which occur on double click with a mouse.\n if (e.pointerType === 'touch' || e.pointerType === 'pen' || e.pointerType === 'virtual' || e.pointerType === 'keyboard' && hasAction && $880e95eb8b93ba9a$var$isActionKey() || e.pointerType === 'mouse' && hadPrimaryActionOnPressStart.current) {\n if (hasAction) performAction(e);\n else if (allowsSelection) onSelect(e);\n }\n };\n }\n itemProps['data-collection'] = (0, $feb5ffebff200149$export$6aeb1680a0ae8741)(manager.collection);\n itemProps['data-key'] = key;\n itemPressProps.preventFocusOnPress = shouldUseVirtualFocus;\n // When using virtual focus, make sure the focused key gets updated on press.\n if (shouldUseVirtualFocus) itemPressProps = (0, $581M0$mergeProps)(itemPressProps, {\n onPressStart (e) {\n if (e.pointerType !== 'touch') {\n manager.setFocused(true);\n manager.setFocusedKey(key);\n }\n },\n onPress (e) {\n if (e.pointerType === 'touch') {\n manager.setFocused(true);\n manager.setFocusedKey(key);\n }\n }\n });\n if (collectionItemProps) {\n for (let key of [\n 'onPressStart',\n 'onPressEnd',\n 'onPressChange',\n 'onPress',\n 'onPressUp',\n 'onClick'\n ])if (collectionItemProps[key]) itemPressProps[key] = (0, $581M0$chain)(itemPressProps[key], collectionItemProps[key]);\n }\n let { pressProps: pressProps, isPressed: isPressed } = (0, $581M0$usePress)(itemPressProps);\n // Double clicking with a mouse with selectionBehavior = 'replace' performs an action.\n let onDoubleClick = hasSecondaryAction ? (e)=>{\n if (modality.current === 'mouse') {\n e.stopPropagation();\n e.preventDefault();\n performAction(e);\n }\n } : undefined;\n // Long pressing an item with touch when selectionBehavior = 'replace' switches the selection behavior\n // to 'toggle'. This changes the single tap behavior from performing an action (i.e. navigating) to\n // selecting, and may toggle the appearance of a UI affordance like checkboxes on each item.\n let { longPressProps: longPressProps } = (0, $581M0$useLongPress)({\n isDisabled: !longPressEnabled,\n onLongPress (e) {\n if (e.pointerType === 'touch') {\n onSelect(e);\n manager.setSelectionBehavior('toggle');\n }\n }\n });\n // Prevent native drag and drop on long press if we also select on long press.\n // Once the user is in selection mode, they can long press again to drag.\n // Use a capturing listener to ensure this runs before useDrag, regardless of\n // the order the props get merged.\n let onDragStartCapture = (e)=>{\n if (modality.current === 'touch' && longPressEnabledOnPressStart.current) e.preventDefault();\n };\n // Prevent default on link clicks so that we control exactly\n // when they open (to match selection behavior).\n let onClick = linkBehavior !== 'none' && manager.isLink(key) ? (e)=>{\n if (!(0, $581M0$openLink).isOpening) e.preventDefault();\n } : undefined;\n return {\n itemProps: (0, $581M0$mergeProps)(itemProps, allowsSelection || hasPrimaryAction || shouldUseVirtualFocus && !isDisabled ? pressProps : {}, longPressEnabled ? longPressProps : {}, {\n onDoubleClick: onDoubleClick,\n onDragStartCapture: onDragStartCapture,\n onClick: onClick,\n id: id\n }, // Prevent DOM focus from moving on mouse down when using virtual focus\n shouldUseVirtualFocus ? {\n onMouseDown: (e)=>e.preventDefault()\n } : undefined),\n isPressed: isPressed,\n isSelected: manager.isSelected(key),\n isFocused: manager.isFocused && manager.focusedKey === key,\n isDisabled: isDisabled,\n allowsSelection: allowsSelection,\n hasAction: hasAction\n };\n}\nfunction $880e95eb8b93ba9a$var$isActionKey() {\n let event = window.event;\n return (event === null || event === void 0 ? void 0 : event.key) === 'Enter';\n}\nfunction $880e95eb8b93ba9a$var$isSelectionKey() {\n let event = window.event;\n return (event === null || event === void 0 ? void 0 : event.key) === ' ' || (event === null || event === void 0 ? void 0 : event.code) === 'Space';\n}\n\n\nexport {$880e95eb8b93ba9a$export$ecf600387e221c37 as useSelectableItem};\n//# sourceMappingURL=useSelectableItem.module.js.map\n","import $fzaAv$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $eb2240fc39a57fa5$export$bf788dd355e3a401 {\n build(props, context) {\n this.context = context;\n return $eb2240fc39a57fa5$var$iterable(()=>this.iterateCollection(props));\n }\n *iterateCollection(props) {\n let { children: children, items: items } = props;\n if ((0, $fzaAv$react).isValidElement(children) && children.type === (0, $fzaAv$react).Fragment) yield* this.iterateCollection({\n children: children.props.children,\n items: items\n });\n else if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n let index = 0;\n for (let item of items){\n yield* this.getFullNode({\n value: item,\n index: index\n }, {\n renderer: children\n });\n index++;\n }\n } else {\n let items = [];\n (0, $fzaAv$react).Children.forEach(children, (child)=>{\n if (child) items.push(child);\n });\n let index = 0;\n for (let item of items){\n let nodes = this.getFullNode({\n element: item,\n index: index\n }, {});\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n }\n }\n getKey(item, partialNode, state, parentKey) {\n if (item.key != null) return item.key;\n if (partialNode.type === 'cell' && partialNode.key != null) return `${parentKey}${partialNode.key}`;\n let v = partialNode.value;\n if (v != null) {\n var _v_key;\n let key = (_v_key = v.key) !== null && _v_key !== void 0 ? _v_key : v.id;\n if (key == null) throw new Error('No key found for item');\n return key;\n }\n return parentKey ? `${parentKey}.${partialNode.index}` : `$.${partialNode.index}`;\n }\n getChildState(state, partialNode) {\n return {\n renderer: partialNode.renderer || state.renderer\n };\n }\n *getFullNode(partialNode, state, parentKey, parentNode) {\n if ((0, $fzaAv$react).isValidElement(partialNode.element) && partialNode.element.type === (0, $fzaAv$react).Fragment) {\n let children = [];\n (0, $fzaAv$react).Children.forEach(partialNode.element.props.children, (child)=>{\n children.push(child);\n });\n var _partialNode_index;\n let index = (_partialNode_index = partialNode.index) !== null && _partialNode_index !== void 0 ? _partialNode_index : 0;\n for (const child of children)yield* this.getFullNode({\n element: child,\n index: index++\n }, state, parentKey, parentNode);\n return;\n }\n // If there's a value instead of an element on the node, and a parent renderer function is available,\n // use it to render an element for the value.\n let element = partialNode.element;\n if (!element && partialNode.value && state && state.renderer) {\n let cached = this.cache.get(partialNode.value);\n if (cached && (!cached.shouldInvalidate || !cached.shouldInvalidate(this.context))) {\n cached.index = partialNode.index;\n cached.parentKey = parentNode ? parentNode.key : null;\n yield cached;\n return;\n }\n element = state.renderer(partialNode.value);\n }\n // If there's an element with a getCollectionNode function on its type, then it's a supported component.\n // Call this function to get a partial node, and recursively build a full node from there.\n if ((0, $fzaAv$react).isValidElement(element)) {\n let type = element.type;\n if (typeof type !== 'function' && typeof type.getCollectionNode !== 'function') {\n let name = element.type;\n throw new Error(`Unknown element <${name}> in collection.`);\n }\n let childNodes = type.getCollectionNode(element.props, this.context);\n var _partialNode_index1;\n let index = (_partialNode_index1 = partialNode.index) !== null && _partialNode_index1 !== void 0 ? _partialNode_index1 : 0;\n let result = childNodes.next();\n while(!result.done && result.value){\n let childNode = result.value;\n partialNode.index = index;\n var _childNode_key;\n let nodeKey = (_childNode_key = childNode.key) !== null && _childNode_key !== void 0 ? _childNode_key : null;\n if (nodeKey == null) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);\n let nodes = this.getFullNode({\n ...childNode,\n key: nodeKey,\n index: index,\n wrapper: $eb2240fc39a57fa5$var$compose(partialNode.wrapper, childNode.wrapper)\n }, this.getChildState(state, childNode), parentKey ? `${parentKey}${element.key}` : element.key, parentNode);\n let children = [\n ...nodes\n ];\n for (let node of children){\n var _childNode_value, _ref;\n // Cache the node based on its value\n node.value = (_ref = (_childNode_value = childNode.value) !== null && _childNode_value !== void 0 ? _childNode_value : partialNode.value) !== null && _ref !== void 0 ? _ref : null;\n if (node.value) this.cache.set(node.value, node);\n var _parentNode_type;\n // The partial node may have specified a type for the child in order to specify a constraint.\n // Verify that the full node that was built recursively matches this type.\n if (partialNode.type && node.type !== partialNode.type) throw new Error(`Unsupported type <${$eb2240fc39a57fa5$var$capitalize(node.type)}> in <${$eb2240fc39a57fa5$var$capitalize((_parentNode_type = parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== null && _parentNode_type !== void 0 ? _parentNode_type : 'unknown parent type')}>. Only <${$eb2240fc39a57fa5$var$capitalize(partialNode.type)}> is supported.`);\n index++;\n yield node;\n }\n result = childNodes.next(children);\n }\n return;\n }\n // Ignore invalid elements\n if (partialNode.key == null || partialNode.type == null) return;\n // Create full node\n let builder = this;\n var _partialNode_value, _partialNode_textValue;\n let node = {\n type: partialNode.type,\n props: partialNode.props,\n key: partialNode.key,\n parentKey: parentNode ? parentNode.key : null,\n value: (_partialNode_value = partialNode.value) !== null && _partialNode_value !== void 0 ? _partialNode_value : null,\n level: parentNode ? parentNode.level + 1 : 0,\n index: partialNode.index,\n rendered: partialNode.rendered,\n textValue: (_partialNode_textValue = partialNode.textValue) !== null && _partialNode_textValue !== void 0 ? _partialNode_textValue : '',\n 'aria-label': partialNode['aria-label'],\n wrapper: partialNode.wrapper,\n shouldInvalidate: partialNode.shouldInvalidate,\n hasChildNodes: partialNode.hasChildNodes || false,\n childNodes: $eb2240fc39a57fa5$var$iterable(function*() {\n if (!partialNode.hasChildNodes || !partialNode.childNodes) return;\n let index = 0;\n for (let child of partialNode.childNodes()){\n // Ensure child keys are globally unique by prepending the parent node's key\n if (child.key != null) // TODO: Remove this line entirely and enforce that users always provide unique keys.\n // Currently this line will have issues when a parent has a key `a` and a child with key `bc`\n // but another parent has key `ab` and its child has a key `c`. The combined keys would result in both\n // children having a key of `abc`.\n child.key = `${node.key}${child.key}`;\n let nodes = builder.getFullNode({\n ...child,\n index: index\n }, builder.getChildState(state, child), node.key, node);\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n })\n };\n yield node;\n }\n constructor(){\n this.cache = new WeakMap();\n }\n}\n// Wraps an iterator function as an iterable object, and caches the results.\nfunction $eb2240fc39a57fa5$var$iterable(iterator) {\n let cache = [];\n let iterable = null;\n return {\n *[Symbol.iterator] () {\n for (let item of cache)yield item;\n if (!iterable) iterable = iterator();\n for (let item of iterable){\n cache.push(item);\n yield item;\n }\n }\n };\n}\nfunction $eb2240fc39a57fa5$var$compose(outer, inner) {\n if (outer && inner) return (element)=>outer(inner(element));\n if (outer) return outer;\n if (inner) return inner;\n}\nfunction $eb2240fc39a57fa5$var$capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\n\n\nexport {$eb2240fc39a57fa5$export$bf788dd355e3a401 as CollectionBuilder};\n//# sourceMappingURL=CollectionBuilder.module.js.map\n","import {CollectionBuilder as $eb2240fc39a57fa5$export$bf788dd355e3a401} from \"./CollectionBuilder.mjs\";\nimport {useMemo as $lbNth$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $7613b1592d41b092$export$6cd28814d92fa9c9(props, factory, context) {\n let builder = (0, $lbNth$useMemo)(()=>new (0, $eb2240fc39a57fa5$export$bf788dd355e3a401)(), []);\n let { children: children, items: items, collection: collection } = props;\n let result = (0, $lbNth$useMemo)(()=>{\n if (collection) return collection;\n let nodes = builder.build({\n children: children,\n items: items\n }, context);\n return factory(nodes);\n }, [\n builder,\n children,\n items,\n collection,\n context,\n factory\n ]);\n return result;\n}\n\n\nexport {$7613b1592d41b092$export$6cd28814d92fa9c9 as useCollection};\n//# sourceMappingURL=useCollection.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c5a24bc478652b5f$export$1005530eda016c13(node, collection) {\n // New API: call collection.getChildren with the node key.\n if (typeof collection.getChildren === 'function') return collection.getChildren(node.key);\n // Old API: access childNodes directly.\n return node.childNodes;\n}\nfunction $c5a24bc478652b5f$export$fbdeaa6a76694f71(iterable) {\n return $c5a24bc478652b5f$export$5f3398f8733f90e2(iterable, 0);\n}\nfunction $c5a24bc478652b5f$export$5f3398f8733f90e2(iterable, index) {\n if (index < 0) return undefined;\n let i = 0;\n for (let item of iterable){\n if (i === index) return item;\n i++;\n }\n}\nfunction $c5a24bc478652b5f$export$7475b2c64539e4cf(iterable) {\n let lastItem = undefined;\n for (let value of iterable)lastItem = value;\n return lastItem;\n}\nfunction $c5a24bc478652b5f$export$8c434b3a7a4dad6(collection, a, b) {\n // If the two nodes have the same parent, compare their indices.\n if (a.parentKey === b.parentKey) return a.index - b.index;\n // Otherwise, collect all of the ancestors from each node, and find the first one that doesn't match starting from the root.\n // Include the base nodes in case we are comparing nodes of different levels so that we can compare the higher node to the lower level node's\n // ancestor of the same level\n let aAncestors = [\n ...$c5a24bc478652b5f$var$getAncestors(collection, a),\n a\n ];\n let bAncestors = [\n ...$c5a24bc478652b5f$var$getAncestors(collection, b),\n b\n ];\n let firstNonMatchingAncestor = aAncestors.slice(0, bAncestors.length).findIndex((a, i)=>a !== bAncestors[i]);\n if (firstNonMatchingAncestor !== -1) {\n // Compare the indices of two children within the common ancestor.\n a = aAncestors[firstNonMatchingAncestor];\n b = bAncestors[firstNonMatchingAncestor];\n return a.index - b.index;\n }\n // If there isn't a non matching ancestor, we might be in a case where one of the nodes is the ancestor of the other.\n if (aAncestors.findIndex((node)=>node === b) >= 0) return 1;\n else if (bAncestors.findIndex((node)=>node === a) >= 0) return -1;\n // 🤷\n return -1;\n}\nfunction $c5a24bc478652b5f$var$getAncestors(collection, node) {\n let parents = [];\n let currNode = node;\n while((currNode === null || currNode === void 0 ? void 0 : currNode.parentKey) != null){\n currNode = collection.getItem(currNode.parentKey);\n if (currNode) parents.unshift(currNode);\n }\n return parents;\n}\n\n\nexport {$c5a24bc478652b5f$export$1005530eda016c13 as getChildNodes, $c5a24bc478652b5f$export$fbdeaa6a76694f71 as getFirstItem, $c5a24bc478652b5f$export$5f3398f8733f90e2 as getNthItem, $c5a24bc478652b5f$export$7475b2c64539e4cf as getLastItem, $c5a24bc478652b5f$export$8c434b3a7a4dad6 as compareNodeOrder};\n//# sourceMappingURL=getChildNodes.module.js.map\n","import {createContext as $69F46$createContext, useMemo as $69F46$useMemo, useContext as $69F46$useContext, useState as $69F46$useState, useRef as $69F46$useRef, useEffect as $69F46$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $e5be200c675c3b3a$export$aca958c65c314e6c = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valueMissing: false,\n valid: true\n};\nconst $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE = {\n ...$e5be200c675c3b3a$export$aca958c65c314e6c,\n customError: true,\n valid: false\n};\nconst $e5be200c675c3b3a$export$dad6ae84456c676a = {\n isInvalid: false,\n validationDetails: $e5be200c675c3b3a$export$aca958c65c314e6c,\n validationErrors: []\n};\nconst $e5be200c675c3b3a$export$571b5131b7e65c11 = (0, $69F46$createContext)({});\nconst $e5be200c675c3b3a$export$a763b9476acd3eb = '__formValidationState' + Date.now();\nfunction $e5be200c675c3b3a$export$fc1a364ae1f3ff10(props) {\n // Private prop for parent components to pass state to children.\n if (props[$e5be200c675c3b3a$export$a763b9476acd3eb]) {\n let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$e5be200c675c3b3a$export$a763b9476acd3eb];\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation: updateValidation,\n resetValidation: resetValidation,\n commitValidation: commitValidation\n };\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return $e5be200c675c3b3a$var$useFormValidationStateImpl(props);\n}\nfunction $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {\n let { isInvalid: isInvalid, validationState: validationState, name: name, value: value, builtinValidation: builtinValidation, validate: validate, validationBehavior: validationBehavior = 'aria' } = props;\n // backward compatibility.\n if (validationState) isInvalid || (isInvalid = validationState === 'invalid');\n // If the isInvalid prop is controlled, update validation result in realtime.\n let controlledError = isInvalid !== undefined ? {\n isInvalid: isInvalid,\n validationErrors: [],\n validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE\n } : null;\n // Perform custom client side validation.\n let clientError = (0, $69F46$useMemo)(()=>{\n if (!validate || value == null) return null;\n let validateErrors = $e5be200c675c3b3a$var$runValidate(validate, value);\n return $e5be200c675c3b3a$var$getValidationResult(validateErrors);\n }, [\n validate,\n value\n ]);\n if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = undefined;\n // Get relevant server errors from the form.\n let serverErrors = (0, $69F46$useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);\n let serverErrorMessages = (0, $69F46$useMemo)(()=>{\n if (name) return Array.isArray(name) ? name.flatMap((name)=>$e5be200c675c3b3a$var$asArray(serverErrors[name])) : $e5be200c675c3b3a$var$asArray(serverErrors[name]);\n return [];\n }, [\n serverErrors,\n name\n ]);\n // Show server errors when the form gets a new value, and clear when the user changes the value.\n let [lastServerErrors, setLastServerErrors] = (0, $69F46$useState)(serverErrors);\n let [isServerErrorCleared, setServerErrorCleared] = (0, $69F46$useState)(false);\n if (serverErrors !== lastServerErrors) {\n setLastServerErrors(serverErrors);\n setServerErrorCleared(false);\n }\n let serverError = (0, $69F46$useMemo)(()=>$e5be200c675c3b3a$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [\n isServerErrorCleared,\n serverErrorMessages\n ]);\n // Track the next validation state in a ref until commitValidation is called.\n let nextValidation = (0, $69F46$useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);\n let [currentValidity, setCurrentValidity] = (0, $69F46$useState)($e5be200c675c3b3a$export$dad6ae84456c676a);\n let lastError = (0, $69F46$useRef)($e5be200c675c3b3a$export$dad6ae84456c676a);\n let commitValidation = ()=>{\n if (!commitQueued) return;\n setCommitQueued(false);\n let error = clientError || builtinValidation || nextValidation.current;\n if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n };\n let [commitQueued, setCommitQueued] = (0, $69F46$useState)(false);\n (0, $69F46$useEffect)(commitValidation);\n // realtimeValidation is used to update the native input element's state based on custom validation logic.\n // displayValidation is the currently displayed validation state that the user sees (e.g. on input change/form submit).\n // With validationBehavior=\"aria\", all errors are displayed in realtime rather than on submit.\n let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $e5be200c675c3b3a$export$dad6ae84456c676a;\n let displayValidation = validationBehavior === 'native' ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation (value) {\n // If validationBehavior is 'aria', update in realtime. Otherwise, store in a ref until commit.\n if (validationBehavior === 'aria' && !$e5be200c675c3b3a$var$isEqualValidation(currentValidity, value)) setCurrentValidity(value);\n else nextValidation.current = value;\n },\n resetValidation () {\n // Update the currently displayed validation state to valid on form reset,\n // even if the native validity says it isn't. It'll show again on the next form submit.\n let error = $e5be200c675c3b3a$export$dad6ae84456c676a;\n if (!$e5be200c675c3b3a$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n // Do not commit validation after the next render. This avoids a condition where\n // useSelect calls commitValidation inside an onReset handler.\n if (validationBehavior === 'native') setCommitQueued(false);\n setServerErrorCleared(true);\n },\n commitValidation () {\n // Commit validation state so the user sees it on blur/change/submit. Also clear any server errors.\n // Wait until after the next render to commit so that the latest value has been validated.\n if (validationBehavior === 'native') setCommitQueued(true);\n setServerErrorCleared(true);\n }\n };\n}\nfunction $e5be200c675c3b3a$var$asArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [\n v\n ];\n}\nfunction $e5be200c675c3b3a$var$runValidate(validate, value) {\n if (typeof validate === 'function') {\n let e = validate(value);\n if (e && typeof e !== 'boolean') return $e5be200c675c3b3a$var$asArray(e);\n }\n return [];\n}\nfunction $e5be200c675c3b3a$var$getValidationResult(errors) {\n return errors.length ? {\n isInvalid: true,\n validationErrors: errors,\n validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE\n } : null;\n}\nfunction $e5be200c675c3b3a$var$isEqualValidation(a, b) {\n if (a === b) return true;\n return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);\n}\nfunction $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {\n let errors = new Set();\n let isInvalid = false;\n let validationDetails = {\n ...$e5be200c675c3b3a$export$aca958c65c314e6c\n };\n for (let v of results){\n var _validationDetails, _key;\n for (let e of v.validationErrors)errors.add(e);\n // Only these properties apply for checkboxes.\n isInvalid || (isInvalid = v.isInvalid);\n for(let key in validationDetails)(_validationDetails = validationDetails)[_key = key] || (_validationDetails[_key] = v.validationDetails[key]);\n }\n validationDetails.valid = !isInvalid;\n return {\n isInvalid: isInvalid,\n validationErrors: [\n ...errors\n ],\n validationDetails: validationDetails\n };\n}\n\n\nexport {$e5be200c675c3b3a$export$aca958c65c314e6c as VALID_VALIDITY_STATE, $e5be200c675c3b3a$export$dad6ae84456c676a as DEFAULT_VALIDATION_RESULT, $e5be200c675c3b3a$export$571b5131b7e65c11 as FormValidationContext, $e5be200c675c3b3a$export$a763b9476acd3eb as privateValidationStateProp, $e5be200c675c3b3a$export$fc1a364ae1f3ff10 as useFormValidationState, $e5be200c675c3b3a$export$75ee7c75d68f5b0e as mergeValidation};\n//# sourceMappingURL=useFormValidationState.module.js.map\n","import {setInteractionModality as $9Gacy$setInteractionModality} from \"@react-aria/interactions\";\nimport {useRef as $9Gacy$useRef, useEffect as $9Gacy$useEffect} from \"react\";\nimport {useLayoutEffect as $9Gacy$useLayoutEffect, useEffectEvent as $9Gacy$useEffectEvent} from \"@react-aria/utils\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {\n let { validationBehavior: validationBehavior, focus: focus } = props;\n // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.\n (0, $9Gacy$useLayoutEffect)(()=>{\n if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current) && !ref.current.disabled) {\n let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';\n ref.current.setCustomValidity(errorMessage);\n // Prevent default tooltip for validation message.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=605277\n if (!ref.current.hasAttribute('title')) ref.current.title = '';\n if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));\n }\n });\n let isIgnoredReset = (0, $9Gacy$useRef)(false);\n let onReset = (0, $9Gacy$useEffectEvent)(()=>{\n if (!isIgnoredReset.current) state.resetValidation();\n });\n let onInvalid = (0, $9Gacy$useEffectEvent)((e)=>{\n var _ref_current;\n // Only commit validation if we are not already displaying one.\n // This avoids clearing server errors that the user didn't actually fix.\n if (!state.displayValidation.isInvalid) state.commitValidation();\n // Auto focus the first invalid input in a form, unless the error already had its default prevented.\n let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;\n if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {\n var _ref_current1;\n if (focus) focus();\n else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();\n // Always show focus ring.\n (0, $9Gacy$setInteractionModality)('keyboard');\n }\n // Prevent default browser error UI from appearing.\n e.preventDefault();\n });\n let onChange = (0, $9Gacy$useEffectEvent)(()=>{\n state.commitValidation();\n });\n (0, $9Gacy$useEffect)(()=>{\n let input = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!input) return;\n let form = input.form;\n let reset = form === null || form === void 0 ? void 0 : form.reset;\n if (form) // Try to detect React's automatic form reset behavior so we don't clear\n // validation errors that are returned by server actions.\n // To do this, we ignore programmatic form resets that occur outside a user event.\n // This is best-effort. There may be false positives, e.g. setTimeout.\n form.reset = ()=>{\n // React uses MessageChannel for scheduling, so ignore 'message' events.\n isIgnoredReset.current = !window.event || window.event.type === 'message' && window.event.target instanceof MessagePort;\n reset === null || reset === void 0 ? void 0 : reset.call(form);\n isIgnoredReset.current = false;\n };\n input.addEventListener('invalid', onInvalid);\n input.addEventListener('change', onChange);\n form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);\n return ()=>{\n input.removeEventListener('invalid', onInvalid);\n input.removeEventListener('change', onChange);\n form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);\n if (form) // @ts-ignore\n form.reset = reset;\n };\n }, [\n ref,\n validationBehavior\n ]);\n}\nfunction $e93e671b31057976$var$getValidity(input) {\n // The native ValidityState object is live, meaning each property is a getter that returns the current state.\n // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.\n let validity = input.validity;\n return {\n badInput: validity.badInput,\n customError: validity.customError,\n patternMismatch: validity.patternMismatch,\n rangeOverflow: validity.rangeOverflow,\n rangeUnderflow: validity.rangeUnderflow,\n stepMismatch: validity.stepMismatch,\n tooLong: validity.tooLong,\n tooShort: validity.tooShort,\n typeMismatch: validity.typeMismatch,\n valueMissing: validity.valueMissing,\n valid: validity.valid\n };\n}\nfunction $e93e671b31057976$var$getNativeValidity(input) {\n return {\n isInvalid: !input.validity.valid,\n validationDetails: $e93e671b31057976$var$getValidity(input),\n validationErrors: input.validationMessage ? [\n input.validationMessage\n ] : []\n };\n}\nfunction $e93e671b31057976$var$getFirstInvalidInput(form) {\n for(let i = 0; i < form.elements.length; i++){\n let element = form.elements[i];\n if (!element.validity.valid) return element;\n }\n return null;\n}\n\n\nexport {$e93e671b31057976$export$b8473d3665f3a75a as useFormValidation};\n//# sourceMappingURL=useFormValidation.module.js.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n get childNodes() {\n throw new Error('childNodes is not supported');\n }\n clone() {\n let node = new this.constructor(this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n node.render = this.render;\n node.colSpan = this.colSpan;\n node.colIndex = this.colIndex;\n return node;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n filter(collection, newCollection, filterFn) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n constructor(key){\n this.value = null;\n this.level = 0;\n this.hasChildNodes = false;\n this.rendered = null;\n this.textValue = '';\n this['aria-label'] = undefined;\n this.index = 0;\n this.parentKey = null;\n this.prevKey = null;\n this.nextKey = null;\n this.firstChildKey = null;\n this.lastChildKey = null;\n this.props = {};\n this.colSpan = null;\n this.colIndex = null;\n this.type = this.constructor.type;\n this.key = key;\n }\n}\nclass $23b9f4fcf0fe224b$export$b1918e978f1ee46f extends $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n filter(collection, newCollection, filterFn) {\n let [firstKey, lastKey] = $23b9f4fcf0fe224b$var$filterChildren(collection, newCollection, this.firstChildKey, filterFn);\n let newNode = this.clone();\n newNode.firstChildKey = firstKey;\n newNode.lastChildKey = lastKey;\n return newNode;\n }\n}\nclass $23b9f4fcf0fe224b$export$5ae2504e948afce5 extends $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n}\n$23b9f4fcf0fe224b$export$5ae2504e948afce5.type = 'header';\nclass $23b9f4fcf0fe224b$export$8258a0665a675899 extends $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n}\n$23b9f4fcf0fe224b$export$8258a0665a675899.type = 'loader';\nclass $23b9f4fcf0fe224b$export$fd11f34e1d07f134 extends $23b9f4fcf0fe224b$export$b1918e978f1ee46f {\n filter(collection, newCollection, filterFn) {\n if (filterFn(this.textValue, this)) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n return null;\n }\n}\n$23b9f4fcf0fe224b$export$fd11f34e1d07f134.type = 'item';\nclass $23b9f4fcf0fe224b$export$437f11dc9b403b78 extends $23b9f4fcf0fe224b$export$b1918e978f1ee46f {\n filter(collection, newCollection, filterFn) {\n let filteredSection = super.filter(collection, newCollection, filterFn);\n if (filteredSection) {\n if (filteredSection.lastChildKey !== null) {\n let lastChild = collection.getItem(filteredSection.lastChildKey);\n if (lastChild && lastChild.type !== 'header') return filteredSection;\n }\n }\n return null;\n }\n}\n$23b9f4fcf0fe224b$export$437f11dc9b403b78.type = 'section';\nclass $23b9f4fcf0fe224b$export$408d25a4e12db025 {\n get size() {\n return this.itemCount;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n *[Symbol.iterator]() {\n let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while(node){\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n getChildren(key) {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator] () {\n let parent = keyMap.get(key);\n let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ? keyMap.get(parent.firstChildKey) : null;\n while(node){\n yield node;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n while(node && node.type !== 'item' && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n return node.parentKey;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.type !== 'item' && node.firstChildKey != null) return node.firstChildKey;\n while(node){\n if (node.nextKey != null) return node.nextKey;\n if (node.parentKey != null) node = this.keyMap.get(node.parentKey);\n else return null;\n }\n return null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while((node === null || node === void 0 ? void 0 : node.lastChildKey) != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n getItem(key) {\n var _this_keyMap_get;\n return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;\n }\n at() {\n throw new Error('Not implemented');\n }\n clone() {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor = this.constructor;\n let collection = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n collection.itemCount = this.itemCount;\n return collection;\n }\n addNode(node) {\n if (this.frozen) throw new Error('Cannot add a node to a frozen collection');\n if (node.type === 'item' && this.keyMap.get(node.key) == null) this.itemCount++;\n this.keyMap.set(node.key, node);\n }\n // Deeply add a node and its children to the collection from another collection, primarily used when filtering a collection\n addDescendants(node, oldCollection) {\n this.addNode(node);\n let children = oldCollection.getChildren(node.key);\n for (let child of children)this.addDescendants(child, oldCollection);\n }\n removeNode(key) {\n if (this.frozen) throw new Error('Cannot remove a node to a frozen collection');\n let node = this.keyMap.get(key);\n if (node != null && node.type === 'item') this.itemCount--;\n this.keyMap.delete(key);\n }\n commit(firstKey, lastKey, isSSR = false) {\n if (this.frozen) throw new Error('Cannot commit a frozen collection');\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n filter(filterFn) {\n let newCollection = new this.constructor();\n let [firstKey, lastKey] = $23b9f4fcf0fe224b$var$filterChildren(this, newCollection, this.firstKey, filterFn);\n newCollection === null || newCollection === void 0 ? void 0 : newCollection.commit(firstKey, lastKey);\n return newCollection;\n }\n constructor(){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.frozen = false;\n this.itemCount = 0;\n }\n}\nfunction $23b9f4fcf0fe224b$var$filterChildren(collection, newCollection, firstChildKey, filterFn) {\n // loop over the siblings for firstChildKey\n // create new nodes based on calling node.filter for each child\n // if it returns null then don't include it, otherwise update its prev/next keys\n // add them to the newCollection\n if (firstChildKey == null) return [\n null,\n null\n ];\n let firstNode = null;\n let lastNode = null;\n let currentNode = collection.getItem(firstChildKey);\n while(currentNode != null){\n let newNode = currentNode.filter(collection, newCollection, filterFn);\n if (newNode != null) {\n newNode.nextKey = null;\n if (lastNode) {\n newNode.prevKey = lastNode.key;\n lastNode.nextKey = newNode.key;\n }\n if (firstNode == null) firstNode = newNode;\n newCollection.addNode(newNode);\n lastNode = newNode;\n }\n currentNode = currentNode.nextKey ? collection.getItem(currentNode.nextKey) : null;\n }\n // TODO: this is pretty specific to dividers but doesn't feel like there is a good way to get around it since we only can know\n // to filter the last separator in a collection only after performing a filter for the rest of the contents after it\n // Its gross that it needs to live here, might be nice if somehow we could have this live in the separator code\n if (lastNode && lastNode.type === 'separator') {\n let prevKey = lastNode.prevKey;\n newCollection.removeNode(lastNode.key);\n if (prevKey) {\n lastNode = newCollection.getItem(prevKey);\n lastNode.nextKey = null;\n } else lastNode = null;\n }\n var _firstNode_key, _lastNode_key;\n return [\n (_firstNode_key = firstNode === null || firstNode === void 0 ? void 0 : firstNode.key) !== null && _firstNode_key !== void 0 ? _firstNode_key : null,\n (_lastNode_key = lastNode === null || lastNode === void 0 ? void 0 : lastNode.key) !== null && _lastNode_key !== void 0 ? _lastNode_key : null\n ];\n}\n\n\nexport {$23b9f4fcf0fe224b$export$d68d59712b04d9d1 as CollectionNode, $23b9f4fcf0fe224b$export$b1918e978f1ee46f as FilterableNode, $23b9f4fcf0fe224b$export$5ae2504e948afce5 as HeaderNode, $23b9f4fcf0fe224b$export$8258a0665a675899 as LoaderNode, $23b9f4fcf0fe224b$export$fd11f34e1d07f134 as ItemNode, $23b9f4fcf0fe224b$export$437f11dc9b403b78 as SectionNode, $23b9f4fcf0fe224b$export$408d25a4e12db025 as BaseCollection};\n//# sourceMappingURL=BaseCollection.module.js.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $681cc3c98f569e39$export$410b0c854570d131 {\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while(node){\n yield node;\n node = node.nextSibling;\n }\n }\n get firstChild() {\n return this._firstChild;\n }\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n get lastChild() {\n return this._lastChild;\n }\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n get previousSibling() {\n return this._previousSibling;\n }\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n get nextSibling() {\n return this._nextSibling;\n }\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n get parentNode() {\n return this._parentNode;\n }\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n get isConnected() {\n var _this_parentNode;\n return ((_this_parentNode = this.parentNode) === null || _this_parentNode === void 0 ? void 0 : _this_parentNode.isConnected) || false;\n }\n invalidateChildIndices(child) {\n if (this._minInvalidChildIndex == null || !this._minInvalidChildIndex.isConnected || child.index < this._minInvalidChildIndex.index) {\n this._minInvalidChildIndex = child;\n this.ownerDocument.markDirty(this);\n }\n }\n updateChildIndices() {\n let node = this._minInvalidChildIndex;\n while(node){\n node.index = node.previousSibling ? node.previousSibling.index + 1 : 0;\n node = node.nextSibling;\n }\n this._minInvalidChildIndex = null;\n }\n appendChild(child) {\n if (child.parentNode) child.parentNode.removeChild(child);\n if (this.firstChild == null) this.firstChild = child;\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n this.ownerDocument.markDirty(this);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n insertBefore(newNode, referenceNode) {\n if (referenceNode == null) return this.appendChild(newNode);\n if (newNode.parentNode) newNode.parentNode.removeChild(newNode);\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n // Ensure that the newNode's index is less than that of the reference node so that\n // invalidateChildIndices will properly use the newNode as the _minInvalidChildIndex, thus making sure\n // we will properly update the indexes of all sibiling nodes after the newNode. The value here doesn't matter\n // since updateChildIndices should calculate the proper indexes.\n newNode.index = referenceNode.index - 1;\n if (this.firstChild === referenceNode) this.firstChild = newNode;\n else if (referenceNode.previousSibling) referenceNode.previousSibling.nextSibling = newNode;\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n this.invalidateChildIndices(newNode);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n removeChild(child) {\n if (child.parentNode !== this) return;\n if (this._minInvalidChildIndex === child) this._minInvalidChildIndex = null;\n if (child.nextSibling) {\n this.invalidateChildIndices(child.nextSibling);\n child.nextSibling.previousSibling = child.previousSibling;\n }\n if (child.previousSibling) child.previousSibling.nextSibling = child.nextSibling;\n if (this.firstChild === child) this.firstChild = child.nextSibling;\n if (this.lastChild === child) this.lastChild = child.previousSibling;\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n this.ownerDocument.markDirty(child);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n addEventListener() {}\n removeEventListener() {}\n get previousVisibleSibling() {\n let node = this.previousSibling;\n while(node && node.isHidden)node = node.previousSibling;\n return node;\n }\n get nextVisibleSibling() {\n let node = this.nextSibling;\n while(node && node.isHidden)node = node.nextSibling;\n return node;\n }\n get firstVisibleChild() {\n let node = this.firstChild;\n while(node && node.isHidden)node = node.nextSibling;\n return node;\n }\n get lastVisibleChild() {\n let node = this.lastChild;\n while(node && node.isHidden)node = node.previousSibling;\n return node;\n }\n constructor(ownerDocument){\n this._firstChild = null;\n this._lastChild = null;\n this._previousSibling = null;\n this._nextSibling = null;\n this._parentNode = null;\n this._minInvalidChildIndex = null;\n this.ownerDocument = ownerDocument;\n }\n}\nclass $681cc3c98f569e39$export$dc064fe9e59310fd extends $681cc3c98f569e39$export$410b0c854570d131 {\n get index() {\n return this._index;\n }\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n get level() {\n var _this_node;\n if (this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd) return this.parentNode.level + (((_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.type) === 'item' ? 1 : 0);\n return 0;\n }\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */ getMutableNode() {\n if (this.node == null) return null;\n if (!this.isMutated) {\n this.node = this.node.clone();\n this.isMutated = true;\n }\n this.ownerDocument.markDirty(this);\n return this.node;\n }\n updateNode() {\n var _this_parentNode_node, _this_previousVisibleSibling_node, _this_previousVisibleSibling, _nextSibling_node, _this_firstVisibleChild_node, _this_firstVisibleChild, _this_lastVisibleChild_node, _this_lastVisibleChild;\n let nextSibling = this.nextVisibleSibling;\n let node = this.getMutableNode();\n if (node == null) return;\n node.index = this.index;\n node.level = this.level;\n var _this_parentNode_node_key;\n node.parentKey = this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd ? (_this_parentNode_node_key = (_this_parentNode_node = this.parentNode.node) === null || _this_parentNode_node === void 0 ? void 0 : _this_parentNode_node.key) !== null && _this_parentNode_node_key !== void 0 ? _this_parentNode_node_key : null : null;\n var _this_previousVisibleSibling_node_key;\n node.prevKey = (_this_previousVisibleSibling_node_key = (_this_previousVisibleSibling = this.previousVisibleSibling) === null || _this_previousVisibleSibling === void 0 ? void 0 : (_this_previousVisibleSibling_node = _this_previousVisibleSibling.node) === null || _this_previousVisibleSibling_node === void 0 ? void 0 : _this_previousVisibleSibling_node.key) !== null && _this_previousVisibleSibling_node_key !== void 0 ? _this_previousVisibleSibling_node_key : null;\n var _nextSibling_node_key;\n node.nextKey = (_nextSibling_node_key = nextSibling === null || nextSibling === void 0 ? void 0 : (_nextSibling_node = nextSibling.node) === null || _nextSibling_node === void 0 ? void 0 : _nextSibling_node.key) !== null && _nextSibling_node_key !== void 0 ? _nextSibling_node_key : null;\n node.hasChildNodes = !!this.firstChild;\n var _this_firstVisibleChild_node_key;\n node.firstChildKey = (_this_firstVisibleChild_node_key = (_this_firstVisibleChild = this.firstVisibleChild) === null || _this_firstVisibleChild === void 0 ? void 0 : (_this_firstVisibleChild_node = _this_firstVisibleChild.node) === null || _this_firstVisibleChild_node === void 0 ? void 0 : _this_firstVisibleChild_node.key) !== null && _this_firstVisibleChild_node_key !== void 0 ? _this_firstVisibleChild_node_key : null;\n var _this_lastVisibleChild_node_key;\n node.lastChildKey = (_this_lastVisibleChild_node_key = (_this_lastVisibleChild = this.lastVisibleChild) === null || _this_lastVisibleChild === void 0 ? void 0 : (_this_lastVisibleChild_node = _this_lastVisibleChild.node) === null || _this_lastVisibleChild_node === void 0 ? void 0 : _this_lastVisibleChild_node.key) !== null && _this_lastVisibleChild_node_key !== void 0 ? _this_lastVisibleChild_node_key : null;\n // Update the colIndex of sibling nodes if this node has a colSpan.\n if ((node.colSpan != null || node.colIndex != null) && nextSibling) {\n var _node_colIndex, _node_colSpan;\n // This queues the next sibling for update, which means this happens recursively.\n let nextColIndex = ((_node_colIndex = node.colIndex) !== null && _node_colIndex !== void 0 ? _node_colIndex : node.index) + ((_node_colSpan = node.colSpan) !== null && _node_colSpan !== void 0 ? _node_colSpan : 1);\n if (nextSibling.node != null && nextColIndex !== nextSibling.node.colIndex) {\n let siblingNode = nextSibling.getMutableNode();\n siblingNode.colIndex = nextColIndex;\n }\n }\n }\n setProps(obj, ref, CollectionNodeClass, rendered, render) {\n let node;\n let { value: value1, textValue: textValue, id: id, ...props } = obj;\n if (this.node == null) {\n node = new CollectionNodeClass(id !== null && id !== void 0 ? id : `react-aria-${++this.ownerDocument.nodeId}`);\n this.node = node;\n } else node = this.getMutableNode();\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.render = render;\n node.value = value1;\n if (obj['aria-label']) node['aria-label'] = obj['aria-label'];\n node.textValue = textValue || (typeof props.children === 'string' ? props.children : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) throw new Error('Cannot change the id of an item');\n if (props.colSpan != null) node.colSpan = props.colSpan;\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n get style() {\n // React sets display: none to hide elements during Suspense.\n // We'll handle this by setting the element to hidden and invalidating\n // its siblings/parent. Hidden elements remain in the Document, but\n // are removed from the Collection.\n let element = this;\n return {\n get display () {\n return element.isHidden ? 'none' : '';\n },\n set display (value){\n let isHidden = value === 'none';\n if (element.isHidden !== isHidden) {\n var _element_parentNode, _element_parentNode1;\n // Mark parent node dirty if this element is currently the first or last visible child.\n if (((_element_parentNode = element.parentNode) === null || _element_parentNode === void 0 ? void 0 : _element_parentNode.firstVisibleChild) === element || ((_element_parentNode1 = element.parentNode) === null || _element_parentNode1 === void 0 ? void 0 : _element_parentNode1.lastVisibleChild) === element) element.ownerDocument.markDirty(element.parentNode);\n // Mark sibling visible elements dirty.\n let prev = element.previousVisibleSibling;\n let next = element.nextVisibleSibling;\n if (prev) element.ownerDocument.markDirty(prev);\n if (next) element.ownerDocument.markDirty(next);\n // Mark self dirty.\n element.isHidden = isHidden;\n element.ownerDocument.markDirty(element);\n }\n }\n };\n }\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n constructor(type, ownerDocument){\n super(ownerDocument), this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n , this.isMutated = true, this._index = 0, this.isHidden = false;\n this.node = null;\n }\n}\nclass $681cc3c98f569e39$export$b34a105447964f9f extends $681cc3c98f569e39$export$410b0c854570d131 {\n get isConnected() {\n return true;\n }\n createElement(type) {\n return new $681cc3c98f569e39$export$dc064fe9e59310fd(type, this);\n }\n getMutableCollection() {\n if (!this.nextCollection) this.nextCollection = this.collection.clone();\n return this.nextCollection;\n }\n markDirty(node) {\n this.dirtyNodes.add(node);\n }\n addNode(element) {\n if (element.isHidden || element.node == null) return;\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) for (let child of element)this.addNode(child);\n collection.addNode(element.node);\n }\n removeNode(node) {\n for (let child of node)this.removeNode(child);\n if (node.node) {\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n }\n }\n /** Finalizes the collection update, updating all nodes and freezing the collection. */ getCollection() {\n // If in a subscription update, return a clone of the existing collection.\n // This ensures React will queue a render. React will call getCollection again\n // during render, at which point all the updates will be complete and we can return\n // the new collection.\n if (this.inSubscription) return this.collection.clone();\n // Reset queuedRender to false when getCollection is called during render.\n this.queuedRender = false;\n this.updateCollection();\n return this.collection;\n }\n updateCollection() {\n // First, remove disconnected nodes and update the indices of dirty element children.\n for (let element of this.dirtyNodes)if (element instanceof $681cc3c98f569e39$export$dc064fe9e59310fd && (!element.isConnected || element.isHidden)) this.removeNode(element);\n else element.updateChildIndices();\n // Next, update dirty collection nodes.\n for (let element of this.dirtyNodes)if (element instanceof $681cc3c98f569e39$export$dc064fe9e59310fd) {\n if (element.isConnected && !element.isHidden) {\n element.updateNode();\n this.addNode(element);\n }\n if (element.node) this.dirtyNodes.delete(element);\n element.isMutated = false;\n } else this.dirtyNodes.delete(element);\n // Finally, update the collection.\n if (this.nextCollection) {\n var _this_firstVisibleChild_node, _this_firstVisibleChild, _this_lastVisibleChild_node, _this_lastVisibleChild;\n var _this_firstVisibleChild_node_key, _this_lastVisibleChild_node_key;\n this.nextCollection.commit((_this_firstVisibleChild_node_key = (_this_firstVisibleChild = this.firstVisibleChild) === null || _this_firstVisibleChild === void 0 ? void 0 : (_this_firstVisibleChild_node = _this_firstVisibleChild.node) === null || _this_firstVisibleChild_node === void 0 ? void 0 : _this_firstVisibleChild_node.key) !== null && _this_firstVisibleChild_node_key !== void 0 ? _this_firstVisibleChild_node_key : null, (_this_lastVisibleChild_node_key = (_this_lastVisibleChild = this.lastVisibleChild) === null || _this_lastVisibleChild === void 0 ? void 0 : (_this_lastVisibleChild_node = _this_lastVisibleChild.node) === null || _this_lastVisibleChild_node === void 0 ? void 0 : _this_lastVisibleChild_node.key) !== null && _this_lastVisibleChild_node_key !== void 0 ? _this_lastVisibleChild_node_key : null, this.isSSR);\n if (!this.isSSR) {\n this.collection = this.nextCollection;\n this.nextCollection = null;\n }\n }\n }\n queueUpdate() {\n if (this.dirtyNodes.size === 0 || this.queuedRender) return;\n // Only trigger subscriptions once during an update, when the first item changes.\n // React's useSyncExternalStore will call getCollection immediately, to check whether the snapshot changed.\n // If so, React will queue a render to happen after the current commit to our fake DOM finishes.\n // We track whether getCollection is called in a subscription, and once it is called during render,\n // we reset queuedRender back to false.\n this.queuedRender = true;\n this.inSubscription = true;\n for (let fn of this.subscriptions)fn();\n this.inSubscription = false;\n }\n subscribe(fn) {\n this.subscriptions.add(fn);\n return ()=>this.subscriptions.delete(fn);\n }\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n }\n }\n constructor(collection){\n // @ts-ignore\n super(null), this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE\n , this.ownerDocument = this, this.dirtyNodes = new Set(), this.isSSR = false, this.nodeId = 0, this.nodesByProps = new WeakMap(), this.nextCollection = null, this.subscriptions = new Set(), this.queuedRender = false, this.inSubscription = false;\n this.collection = collection;\n this.nextCollection = collection;\n }\n}\n\n\nexport {$681cc3c98f569e39$export$410b0c854570d131 as BaseNode, $681cc3c98f569e39$export$dc064fe9e59310fd as ElementNode, $681cc3c98f569e39$export$b34a105447964f9f as Document};\n//# sourceMappingURL=Document.module.js.map\n","import {useMemo as $luMFQ$useMemo, cloneElement as $luMFQ$cloneElement} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e948873055cbafe4$export$727c8fc270210f13(props) {\n let { children: children, items: items, idScope: idScope, addIdAndValue: addIdAndValue, dependencies: dependencies = [] } = props;\n // Invalidate the cache whenever the parent value changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n let cache = (0, $luMFQ$useMemo)(()=>new WeakMap(), dependencies);\n return (0, $luMFQ$useMemo)(()=>{\n if (items && typeof children === 'function') {\n let res = [];\n for (let item of items){\n let rendered = cache.get(item);\n if (!rendered) {\n rendered = children(item);\n var _rendered_props_id, _ref;\n // @ts-ignore\n let key = (_ref = (_rendered_props_id = rendered.props.id) !== null && _rendered_props_id !== void 0 ? _rendered_props_id : item.key) !== null && _ref !== void 0 ? _ref : item.id;\n if (key == null) throw new Error('Could not determine key for item');\n if (idScope != null) key = idScope + ':' + key;\n // Note: only works if wrapped Item passes through id...\n rendered = (0, $luMFQ$cloneElement)(rendered, addIdAndValue ? {\n key: key,\n id: key,\n value: item\n } : {\n key: key\n });\n cache.set(item, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') return children;\n }, [\n children,\n items,\n cache,\n idScope,\n addIdAndValue\n ]);\n}\n\n\nexport {$e948873055cbafe4$export$727c8fc270210f13 as useCachedChildren};\n//# sourceMappingURL=useCachedChildren.module.js.map\n","import $8SdCi$react, {createContext as $8SdCi$createContext, useContext as $8SdCi$useContext, forwardRef as $8SdCi$forwardRef} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild').get;\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function() {\n if (this.dataset.reactAriaHidden) return this.content.firstChild;\n else return getFirstChild.call(this);\n }\n });\n}\nconst $f39a9eba43920ace$export$94b6d0abf7d33e8c = /*#__PURE__*/ (0, $8SdCi$createContext)(false);\nfunction $f39a9eba43920ace$export$8dc98ba7eadeaa56(props) {\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n if (isHidden) // Don't hide again if we are already hidden.\n return /*#__PURE__*/ (0, $8SdCi$react).createElement((0, $8SdCi$react).Fragment, null, props.children);\n let children = /*#__PURE__*/ (0, $8SdCi$react).createElement($f39a9eba43920ace$export$94b6d0abf7d33e8c.Provider, {\n value: true\n }, props.children);\n // In SSR, portals are not supported by React. Instead, always render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the accessible DOM tree, so it won't affect ids or other accessibility attributes.\n return /*#__PURE__*/ (0, $8SdCi$react).createElement(\"template\", {\n \"data-react-aria-hidden\": true\n }, children);\n}\nfunction $f39a9eba43920ace$export$86427a43e3e48ebb(fn) {\n let Wrapper = (props, ref)=>{\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n if (isHidden) return null;\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (0, $8SdCi$forwardRef)(Wrapper);\n}\nfunction $f39a9eba43920ace$export$b5d7cc18bb8d2b59() {\n return (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n}\n\n\nexport {$f39a9eba43920ace$export$94b6d0abf7d33e8c as HiddenContext, $f39a9eba43920ace$export$8dc98ba7eadeaa56 as Hidden, $f39a9eba43920ace$export$86427a43e3e48ebb as createHideableComponent, $f39a9eba43920ace$export$b5d7cc18bb8d2b59 as useIsHidden};\n//# sourceMappingURL=Hidden.module.js.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $23b9f4fcf0fe224b$export$408d25a4e12db025, CollectionNode as $23b9f4fcf0fe224b$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\nimport {Document as $681cc3c98f569e39$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $e948873055cbafe4$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {Hidden as $f39a9eba43920ace$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {createPortal as $95feo$createPortal} from \"react-dom\";\nimport {FocusableContext as $95feo$FocusableContext} from \"@react-aria/interactions\";\nimport $95feo$react, {createContext as $95feo$createContext, useContext as $95feo$useContext, useRef as $95feo$useRef, useCallback as $95feo$useCallback, useState as $95feo$useState, forwardRef as $95feo$forwardRef, useMemo as $95feo$useMemo} from \"react\";\nimport {useIsSSR as $95feo$useIsSSR} from \"@react-aria/ssr\";\nimport {useSyncExternalStore as $95feo$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $e1995378a142960e$var$ShallowRenderContext = /*#__PURE__*/ (0, $95feo$createContext)(false);\nconst $e1995378a142960e$var$CollectionDocumentContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $e1995378a142960e$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null, /*#__PURE__*/ (0, $95feo$react).createElement((0, $f39a9eba43920ace$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $e1995378a142960e$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $e1995378a142960e$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $95feo$useIsSSR)();\n let isSSRRef = (0, $95feo$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rulesdir/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $95feo$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $95feo$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $e1995378a142960e$var$useSyncExternalStore = typeof (0, $95feo$react)['useSyncExternalStore'] === 'function' ? (0, $95feo$react)['useSyncExternalStore'] : $e1995378a142960e$var$useSyncExternalStoreFallback;\nfunction $e1995378a142960e$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $95feo$useState)(()=>new (0, $681cc3c98f569e39$export$b34a105447964f9f)((createCollection === null || createCollection === void 0 ? void 0 : createCollection()) || new (0, $23b9f4fcf0fe224b$export$408d25a4e12db025)()));\n let subscribe = (0, $95feo$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $95feo$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $95feo$useCallback)(()=>{\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $e1995378a142960e$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {\n collection: collection,\n document: document\n };\n}\nconst $e1995378a142960e$var$SSRContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$var$createCollectionNodeClass(type) {\n var _class;\n let NodeClass = (_class = class extends (0, $23b9f4fcf0fe224b$export$d68d59712b04d9d1) {\n }, _class.type = type, _class);\n return NodeClass;\n}\nfunction $e1995378a142960e$var$useSSRCollectionNode(CollectionNodeClass, props, ref, rendered, children, render) {\n // To prevent breaking change, if CollectionNodeClass is a string, create a CollectionNodeClass using the string as the type\n if (typeof CollectionNodeClass === 'string') CollectionNodeClass = $e1995378a142960e$var$createCollectionNodeClass(CollectionNodeClass);\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $95feo$useCallback)((element)=>{\n element === null || element === void 0 ? void 0 : element.setProps(props, ref, CollectionNodeClass, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render,\n CollectionNodeClass\n ]);\n let parentNode = (0, $95feo$useContext)($e1995378a142960e$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(CollectionNodeClass.type);\n element.setProps(props, ref, CollectionNodeClass, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $95feo$react).createElement(CollectionNodeClass.type, {\n ref: itemRef\n }, children);\n}\nfunction $e1995378a142960e$export$18af5c7a9e9b3664(CollectionNodeClass, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let focusableProps = (0, $95feo$useContext)((0, $95feo$FocusableContext));\n let isShallow = (0, $95feo$useContext)($e1995378a142960e$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $e1995378a142960e$var$useSSRCollectionNode(CollectionNodeClass, props, ref, 'children' in props ? props.children : null, null, (node)=>// Forward FocusableContext to real DOM tree so tooltips work.\n /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$FocusableContext).Provider, {\n value: focusableProps\n }, /*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n })));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$export$e953bb1cd0f19726(CollectionNodeClass, render, useChildren = $e1995378a142960e$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n var _useSSRCollectionNode;\n return (_useSSRCollectionNode = $e1995378a142960e$var$useSSRCollectionNode(CollectionNodeClass, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n }))) !== null && _useSSRCollectionNode !== void 0 ? _useSSRCollectionNode : /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$var$useCollectionChildren(options) {\n return (0, $e948873055cbafe4$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $e1995378a142960e$var$CollectionContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$fb8073518f34e6ec(props) {\n let ctx = (0, $95feo$useContext)($e1995378a142960e$var$CollectionContext);\n let dependencies = ((ctx === null || ctx === void 0 ? void 0 : ctx.dependencies) || []).concat(props.dependencies);\n var _props_idScope;\n let idScope = (_props_idScope = props.idScope) !== null && _props_idScope !== void 0 ? _props_idScope : ctx === null || ctx === void 0 ? void 0 : ctx.idScope;\n let children = $e1995378a142960e$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $95feo$useMemo)(()=>({\n dependencies: dependencies,\n idScope: idScope\n }), [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $e1995378a142960e$var$CollectionRoot({ children: children }) {\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n let wrappedChildren = (0, $95feo$useMemo)(()=>/*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $95feo$useIsSSR)() ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $95feo$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$e1995378a142960e$export$bf788dd355e3a401 as CollectionBuilder, $e1995378a142960e$export$18af5c7a9e9b3664 as createLeafComponent, $e1995378a142960e$export$e953bb1cd0f19726 as createBranchComponent, $e1995378a142960e$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.module.js.map\n","import {createBranchComponent as $18I52$createBranchComponent, useCachedChildren as $18I52$useCachedChildren} from \"@react-aria/collections\";\nimport $18I52$react, {createContext as $18I52$createContext, useContext as $18I52$useContext, isValidElement as $18I52$isValidElement, cloneElement as $18I52$cloneElement, useMemo as $18I52$useMemo} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $7135fc7d473fd974$export$d40e14dec8b060a8 = /*#__PURE__*/ (0, $18I52$createContext)(null);\nconst $7135fc7d473fd974$export$6e2c8f0811a474ce = /*#__PURE__*/ (0, $18I52$createBranchComponent)('section', (props, ref, section)=>{\n let { name: name, render: render } = (0, $18I52$useContext)($7135fc7d473fd974$export$d40e14dec8b060a8);\n if (process.env.NODE_ENV !== 'production') console.warn(`<Section> is deprecated. Please use <${name}> instead.`);\n return render(props, ref, section, 'react-aria-Section');\n});\nconst $7135fc7d473fd974$export$a164736487e3f0ae = {\n CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, null, renderDropIndicator);\n },\n CollectionBranch ({ collection: collection, parent: parent, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator);\n }\n};\nfunction $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator) {\n return (0, $18I52$useCachedChildren)({\n items: parent ? collection.getChildren(parent.key) : collection,\n dependencies: [\n renderDropIndicator\n ],\n children (node) {\n let rendered = node.render(node);\n if (!renderDropIndicator || node.type !== 'item') return rendered;\n return /*#__PURE__*/ (0, $18I52$react).createElement((0, $18I52$react).Fragment, null, renderDropIndicator({\n type: 'item',\n key: node.key,\n dropPosition: 'before'\n }), rendered, $7135fc7d473fd974$export$2dbbd341daed716d(collection, node, renderDropIndicator));\n }\n });\n}\nfunction $7135fc7d473fd974$export$2dbbd341daed716d(collection, node, renderDropIndicator) {\n let key = node.key;\n let keyAfter = collection.getKeyAfter(key);\n let nextItemInFlattenedCollection = keyAfter != null ? collection.getItem(keyAfter) : null;\n while(nextItemInFlattenedCollection != null && nextItemInFlattenedCollection.type !== 'item'){\n keyAfter = collection.getKeyAfter(nextItemInFlattenedCollection.key);\n nextItemInFlattenedCollection = keyAfter != null ? collection.getItem(keyAfter) : null;\n }\n let nextItemInSameLevel = node.nextKey != null ? collection.getItem(node.nextKey) : null;\n while(nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item')nextItemInSameLevel = nextItemInSameLevel.nextKey != null ? collection.getItem(nextItemInSameLevel.nextKey) : null;\n // Render one or more \"after\" drop indicators when the next item in the flattened collection\n // has a smaller level, is not an item, or there are no more items in the collection.\n // Otherwise, the \"after\" position is equivalent to the next item's \"before\" position.\n let afterIndicators = [];\n if (nextItemInSameLevel == null) {\n let current = node;\n while((current === null || current === void 0 ? void 0 : current.type) === 'item' && (!nextItemInFlattenedCollection || current.parentKey !== nextItemInFlattenedCollection.parentKey && nextItemInFlattenedCollection.level < current.level)){\n let indicator = renderDropIndicator({\n type: 'item',\n key: current.key,\n dropPosition: 'after'\n });\n if (/*#__PURE__*/ (0, $18I52$isValidElement)(indicator)) afterIndicators.push(/*#__PURE__*/ (0, $18I52$cloneElement)(indicator, {\n key: `${current.key}-after`\n }));\n current = current.parentKey != null ? collection.getItem(current.parentKey) : null;\n }\n }\n return afterIndicators;\n}\nconst $7135fc7d473fd974$export$4feb769f8ddf26c5 = /*#__PURE__*/ (0, $18I52$createContext)($7135fc7d473fd974$export$a164736487e3f0ae);\nfunction $7135fc7d473fd974$export$90e00781bc59d8f9(focusedKey) {\n return (0, $18I52$useMemo)(()=>focusedKey != null ? new Set([\n focusedKey\n ]) : null, [\n focusedKey\n ]);\n}\n\n\nexport {$7135fc7d473fd974$export$d40e14dec8b060a8 as SectionContext, $7135fc7d473fd974$export$6e2c8f0811a474ce as Section, $7135fc7d473fd974$export$a164736487e3f0ae as DefaultCollectionRenderer, $7135fc7d473fd974$export$2dbbd341daed716d as renderAfterDropIndicators, $7135fc7d473fd974$export$4feb769f8ddf26c5 as CollectionRendererContext, $7135fc7d473fd974$export$90e00781bc59d8f9 as usePersistedKeys};\n//# sourceMappingURL=Collection.module.js.map\n","import {mergeProps as $bwqiF$mergeProps, filterDOMProps as $bwqiF$filterDOMProps} from \"@react-aria/utils\";\nimport {usePress as $bwqiF$usePress, useFocusable as $bwqiF$useFocusable} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {\n let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented\n allowFocusWhenDisabled, onClick: onClick, href: href, target: target, rel: rel, type: type = 'button' } = props;\n let additionalProps;\n if (elementType === 'button') additionalProps = {\n type: type,\n disabled: isDisabled,\n form: props.form,\n formAction: props.formAction,\n formEncType: props.formEncType,\n formMethod: props.formMethod,\n formNoValidate: props.formNoValidate,\n formTarget: props.formTarget,\n name: props.name,\n value: props.value\n };\n else additionalProps = {\n role: 'button',\n href: elementType === 'a' && !isDisabled ? href : undefined,\n target: elementType === 'a' ? target : undefined,\n type: elementType === 'input' ? type : undefined,\n disabled: elementType === 'input' ? isDisabled : undefined,\n 'aria-disabled': !isDisabled || elementType === 'input' ? undefined : isDisabled,\n rel: elementType === 'a' ? rel : undefined\n };\n let { pressProps: pressProps, isPressed: isPressed } = (0, $bwqiF$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled,\n preventFocusOnPress: preventFocusOnPress,\n ref: ref\n });\n let { focusableProps: focusableProps } = (0, $bwqiF$useFocusable)(props, ref);\n if (allowFocusWhenDisabled) focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n let buttonProps = (0, $bwqiF$mergeProps)(focusableProps, pressProps, (0, $bwqiF$filterDOMProps)(props, {\n labelable: true\n }));\n return {\n isPressed: isPressed,\n buttonProps: (0, $bwqiF$mergeProps)(additionalProps, buttonProps, {\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-expanded': props['aria-expanded'],\n 'aria-controls': props['aria-controls'],\n 'aria-pressed': props['aria-pressed'],\n 'aria-current': props['aria-current'],\n 'aria-disabled': props['aria-disabled']\n })\n };\n}\n\n\nexport {$701a24aa0da5b062$export$ea18c227d4417cc3 as useButton};\n//# sourceMappingURL=useButton.module.js.map\n","import {mergeProps as $bvdLj$mergeProps, filterDOMProps as $bvdLj$filterDOMProps, useFormReset as $bvdLj$useFormReset} from \"@react-aria/utils\";\nimport {usePress as $bvdLj$usePress, useFocusable as $bvdLj$useFocusable} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref) {\n let { isDisabled: isDisabled = false, isReadOnly: isReadOnly = false, value: value, name: name, form: form, children: children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, validationState: validationState = 'valid', isInvalid: isInvalid, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressChange: onPressChange, onPress: onPress, onPressUp: onPressUp, onClick: onClick } = props;\n let onChange = (e)=>{\n // since we spread props on label, onChange will end up there as well as in here.\n // so we have to stop propagation at the lowest level that we care about\n e.stopPropagation();\n state.setSelected(e.target.checked);\n };\n let hasChildren = children != null;\n let hasAriaLabel = ariaLabel != null || ariaLabelledby != null;\n if (!hasChildren && !hasAriaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide children, you must specify an aria-label for accessibility');\n // Handle press state for keyboard interactions and cases where labelProps is not used.\n let { pressProps: pressProps, isPressed: isPressed } = (0, $bvdLj$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled\n });\n // Handle press state on the label.\n let { pressProps: labelProps, isPressed: isLabelPressed } = (0, $bvdLj$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPressUp: onPressUp,\n onClick: onClick,\n onPress (e) {\n var _ref_current;\n onPress === null || onPress === void 0 ? void 0 : onPress(e);\n state.toggle();\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n },\n isDisabled: isDisabled || isReadOnly\n });\n let { focusableProps: focusableProps } = (0, $bvdLj$useFocusable)(props, ref);\n let interactions = (0, $bvdLj$mergeProps)(pressProps, focusableProps);\n let domProps = (0, $bvdLj$filterDOMProps)(props, {\n labelable: true\n });\n (0, $bvdLj$useFormReset)(ref, state.defaultSelected, state.setSelected);\n return {\n labelProps: (0, $bvdLj$mergeProps)(labelProps, {\n onClick: (e)=>e.preventDefault()\n }),\n inputProps: (0, $bvdLj$mergeProps)(domProps, {\n 'aria-invalid': isInvalid || validationState === 'invalid' || undefined,\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-controls': props['aria-controls'],\n 'aria-readonly': isReadOnly || undefined,\n onChange: onChange,\n disabled: isDisabled,\n ...value == null ? {} : {\n value: value\n },\n name: name,\n form: form,\n type: 'checkbox',\n ...interactions\n }),\n isSelected: state.isSelected,\n isPressed: isPressed || isLabelPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid || validationState === 'invalid'\n };\n}\n\n\nexport {$d2c8e2b0480f3f34$export$cbe85ee05b554577 as useToggle};\n//# sourceMappingURL=useToggle.module.js.map\n","import {useEffect as $jNP0e$useEffect, useMemo as $jNP0e$useMemo} from \"react\";\nimport {mergeProps as $jNP0e$mergeProps} from \"@react-aria/utils\";\nimport {useFormValidationState as $jNP0e$useFormValidationState, privateValidationStateProp as $jNP0e$privateValidationStateProp} from \"@react-stately/form\";\nimport {useFormValidation as $jNP0e$useFormValidation} from \"@react-aria/form\";\nimport {usePress as $jNP0e$usePress} from \"@react-aria/interactions\";\nimport {useToggle as $jNP0e$useToggle} from \"@react-aria/toggle\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {\n // Create validation state here because it doesn't make sense to add to general useToggleState.\n let validationState = (0, $jNP0e$useFormValidationState)({\n ...props,\n value: state.isSelected\n });\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isPressed: isPressed, isDisabled: isDisabled, isReadOnly: isReadOnly } = (0, $jNP0e$useToggle)({\n ...props,\n isInvalid: isInvalid\n }, state, inputRef);\n (0, $jNP0e$useFormValidation)(props, validationState, inputRef);\n let { isIndeterminate: isIndeterminate, isRequired: isRequired, validationBehavior: validationBehavior = 'aria' } = props;\n (0, $jNP0e$useEffect)(()=>{\n // indeterminate is a property, but it can only be set via javascript\n // https://css-tricks.com/indeterminate-checkboxes/\n if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;\n });\n // Reset validation state on label press for checkbox with a hidden input.\n let { pressProps: pressProps } = (0, $jNP0e$usePress)({\n isDisabled: isDisabled || isReadOnly,\n onPress () {\n // @ts-expect-error\n let { [(0, $jNP0e$privateValidationStateProp)]: groupValidationState } = props;\n let { commitValidation: commitValidation } = groupValidationState ? groupValidationState : validationState;\n commitValidation();\n }\n });\n return {\n labelProps: (0, $jNP0e$mergeProps)(labelProps, pressProps, (0, $jNP0e$useMemo)(()=>({\n // Prevent label from being focused when mouse down on it.\n // Note, this does not prevent the input from being focused in the `click` event.\n onMouseDown: (e)=>e.preventDefault()\n }), [])),\n inputProps: {\n ...inputProps,\n checked: isSelected,\n 'aria-required': isRequired && validationBehavior === 'aria' || undefined,\n required: isRequired && validationBehavior === 'native'\n },\n isSelected: isSelected,\n isPressed: isPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$406796ff087fe49b$export$e375f10ce42261c5 as useCheckbox};\n//# sourceMappingURL=useCheckbox.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $1ae600c947479353$export$ec98120685d4f57d = new WeakMap();\n\n\nexport {$1ae600c947479353$export$ec98120685d4f57d as checkboxGroupData};\n//# sourceMappingURL=utils.module.js.map\n","import {useControlledState as $d8rik$useControlledState} from \"@react-stately/utils\";\nimport {useState as $d8rik$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $3017fa7ffdddec74$export$8042c6c013fd5226(props = {}) {\n let { isReadOnly: isReadOnly } = props;\n // have to provide an empty function so useControlledState doesn't throw a fit\n // can't use useControlledState's prop calling because we need the event object from the change\n let [isSelected, setSelected] = (0, $d8rik$useControlledState)(props.isSelected, props.defaultSelected || false, props.onChange);\n let [initialValue] = (0, $d8rik$useState)(isSelected);\n function updateSelected(value) {\n if (!isReadOnly) setSelected(value);\n }\n function toggleState() {\n if (!isReadOnly) setSelected(!isSelected);\n }\n var _props_defaultSelected;\n return {\n isSelected: isSelected,\n defaultSelected: (_props_defaultSelected = props.defaultSelected) !== null && _props_defaultSelected !== void 0 ? _props_defaultSelected : initialValue,\n setSelected: updateSelected,\n toggle: toggleState\n };\n}\n\n\nexport {$3017fa7ffdddec74$export$8042c6c013fd5226 as useToggleState};\n//# sourceMappingURL=useToggleState.module.js.map\n","import {useCheckbox as $406796ff087fe49b$export$e375f10ce42261c5} from \"./useCheckbox.mjs\";\nimport {checkboxGroupData as $1ae600c947479353$export$ec98120685d4f57d} from \"./utils.mjs\";\nimport {useFormValidationState as $6clEo$useFormValidationState, DEFAULT_VALIDATION_RESULT as $6clEo$DEFAULT_VALIDATION_RESULT, privateValidationStateProp as $6clEo$privateValidationStateProp} from \"@react-stately/form\";\nimport {useRef as $6clEo$useRef, useEffect as $6clEo$useEffect} from \"react\";\nimport {useToggleState as $6clEo$useToggleState} from \"@react-stately/toggle\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $fba3e38d5ca8983f$export$353b32fc6898d37d(props, state, inputRef) {\n const toggleState = (0, $6clEo$useToggleState)({\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isSelected: state.isSelected(props.value),\n defaultSelected: state.defaultValue.includes(props.value),\n onChange (isSelected) {\n if (isSelected) state.addValue(props.value);\n else state.removeValue(props.value);\n if (props.onChange) props.onChange(isSelected);\n }\n });\n let { name: name, form: form, descriptionId: descriptionId, errorMessageId: errorMessageId, validationBehavior: validationBehavior } = (0, $1ae600c947479353$export$ec98120685d4f57d).get(state);\n var _props_validationBehavior;\n validationBehavior = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : validationBehavior;\n // Local validation for this checkbox.\n let { realtimeValidation: realtimeValidation } = (0, $6clEo$useFormValidationState)({\n ...props,\n value: toggleState.isSelected,\n // Server validation is handled at the group level.\n name: undefined,\n validationBehavior: 'aria'\n });\n // Update the checkbox group state when realtime validation changes.\n let nativeValidation = (0, $6clEo$useRef)((0, $6clEo$DEFAULT_VALIDATION_RESULT));\n let updateValidation = ()=>{\n state.setInvalid(props.value, realtimeValidation.isInvalid ? realtimeValidation : nativeValidation.current);\n };\n (0, $6clEo$useEffect)(updateValidation);\n // Combine group and checkbox level validation.\n let combinedRealtimeValidation = state.realtimeValidation.isInvalid ? state.realtimeValidation : realtimeValidation;\n let displayValidation = validationBehavior === 'native' ? state.displayValidation : combinedRealtimeValidation;\n var _props_isRequired;\n let res = (0, $406796ff087fe49b$export$e375f10ce42261c5)({\n ...props,\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isDisabled: props.isDisabled || state.isDisabled,\n name: props.name || name,\n form: props.form || form,\n isRequired: (_props_isRequired = props.isRequired) !== null && _props_isRequired !== void 0 ? _props_isRequired : state.isRequired,\n validationBehavior: validationBehavior,\n [(0, $6clEo$privateValidationStateProp)]: {\n realtimeValidation: combinedRealtimeValidation,\n displayValidation: displayValidation,\n resetValidation: state.resetValidation,\n commitValidation: state.commitValidation,\n updateValidation (v) {\n nativeValidation.current = v;\n updateValidation();\n }\n }\n }, toggleState, inputRef);\n return {\n ...res,\n inputProps: {\n ...res.inputProps,\n 'aria-describedby': [\n props['aria-describedby'],\n state.isInvalid ? errorMessageId : null,\n descriptionId\n ].filter(Boolean).join(' ') || undefined\n }\n };\n}\n\n\nexport {$fba3e38d5ca8983f$export$353b32fc6898d37d as useCheckboxGroupItem};\n//# sourceMappingURL=useCheckboxGroupItem.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $99b62ae3ff97ec45$export$c5f62239608282b6 = new WeakMap();\nfunction $99b62ae3ff97ec45$export$567fc7097e064344(state, key, role) {\n if (!state) // this case should only happen in the first render before the tabs are registered\n return '';\n if (typeof key === 'string') key = key.replace(/\\s+/g, '');\n let baseId = $99b62ae3ff97ec45$export$c5f62239608282b6.get(state);\n if (process.env.NODE_ENV !== 'production' && !baseId) console.error('There is no tab id, please check if you have rendered the tab panel before the tab list.');\n return `${baseId}-${role}-${key}`;\n}\n\n\nexport {$99b62ae3ff97ec45$export$c5f62239608282b6 as tabsIds, $99b62ae3ff97ec45$export$567fc7097e064344 as generateId};\n//# sourceMappingURL=utils.module.js.map\n","import {generateId as $99b62ae3ff97ec45$export$567fc7097e064344} from \"./utils.mjs\";\nimport {filterDOMProps as $dObGJ$filterDOMProps, useLinkProps as $dObGJ$useLinkProps, mergeProps as $dObGJ$mergeProps} from \"@react-aria/utils\";\nimport {useFocusable as $dObGJ$useFocusable} from \"@react-aria/focus\";\nimport {useSelectableItem as $dObGJ$useSelectableItem} from \"@react-aria/selection\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $0175d55c2a017ebc$export$fdf4756d5b8ef90a(props, state, ref) {\n let { key: key, isDisabled: propsDisabled, shouldSelectOnPressUp: shouldSelectOnPressUp } = props;\n let { selectionManager: manager, selectedKey: selectedKey } = state;\n let isSelected = key === selectedKey;\n let isDisabled = propsDisabled || state.isDisabled || state.selectionManager.isDisabled(key);\n let { itemProps: itemProps, isPressed: isPressed } = (0, $dObGJ$useSelectableItem)({\n selectionManager: manager,\n key: key,\n ref: ref,\n isDisabled: isDisabled,\n shouldSelectOnPressUp: shouldSelectOnPressUp,\n linkBehavior: 'selection'\n });\n let tabId = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, key, 'tab');\n let tabPanelId = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, key, 'tabpanel');\n let { tabIndex: tabIndex } = itemProps;\n let item = state.collection.getItem(key);\n let domProps = (0, $dObGJ$filterDOMProps)(item === null || item === void 0 ? void 0 : item.props, {\n labelable: true\n });\n delete domProps.id;\n let linkProps = (0, $dObGJ$useLinkProps)(item === null || item === void 0 ? void 0 : item.props);\n let { focusableProps: focusableProps } = (0, $dObGJ$useFocusable)({\n isDisabled: isDisabled\n }, ref);\n return {\n tabProps: (0, $dObGJ$mergeProps)(domProps, focusableProps, linkProps, itemProps, {\n id: tabId,\n 'aria-selected': isSelected,\n 'aria-disabled': isDisabled || undefined,\n 'aria-controls': isSelected ? tabPanelId : undefined,\n tabIndex: isDisabled ? undefined : tabIndex,\n role: 'tab'\n }),\n isSelected: isSelected,\n isDisabled: isDisabled,\n isPressed: isPressed\n };\n}\n\n\nexport {$0175d55c2a017ebc$export$fdf4756d5b8ef90a as useTab};\n//# sourceMappingURL=useTab.module.js.map\n","import {generateId as $99b62ae3ff97ec45$export$567fc7097e064344} from \"./utils.mjs\";\nimport {useLabels as $jik2T$useLabels, mergeProps as $jik2T$mergeProps} from \"@react-aria/utils\";\nimport {useHasTabbableChild as $jik2T$useHasTabbableChild} from \"@react-aria/focus\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $34bce698202e07cb$export$fae0121b5afe572d(props, state, ref) {\n // The tabpanel should have tabIndex=0 when there are no tabbable elements within it.\n // Otherwise, tabbing from the focused tab should go directly to the first tabbable element\n // within the tabpanel.\n let tabIndex = (0, $jik2T$useHasTabbableChild)(ref) ? undefined : 0;\n var _props_id;\n const id = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, (_props_id = props.id) !== null && _props_id !== void 0 ? _props_id : state === null || state === void 0 ? void 0 : state.selectedKey, 'tabpanel');\n const tabPanelProps = (0, $jik2T$useLabels)({\n ...props,\n id: id,\n 'aria-labelledby': (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, state === null || state === void 0 ? void 0 : state.selectedKey, 'tab')\n });\n return {\n tabPanelProps: (0, $jik2T$mergeProps)(tabPanelProps, {\n tabIndex: tabIndex,\n role: 'tabpanel',\n 'aria-describedby': props['aria-describedby'],\n 'aria-details': props['aria-details']\n })\n };\n}\n\n\nexport {$34bce698202e07cb$export$fae0121b5afe572d as useTabPanel};\n//# sourceMappingURL=useTabPanel.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $bfc6f2d60b8a4c40$export$15010ca3c1abe90b {\n getKeyLeftOf(key) {\n if (this.flipDirection) return this.getNextKey(key);\n return this.getPreviousKey(key);\n }\n getKeyRightOf(key) {\n if (this.flipDirection) return this.getPreviousKey(key);\n return this.getNextKey(key);\n }\n isDisabled(key) {\n var _this_collection_getItem_props, _this_collection_getItem;\n return this.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled);\n }\n getFirstKey() {\n let key = this.collection.getFirstKey();\n if (key != null && this.isDisabled(key)) key = this.getNextKey(key);\n return key;\n }\n getLastKey() {\n let key = this.collection.getLastKey();\n if (key != null && this.isDisabled(key)) key = this.getPreviousKey(key);\n return key;\n }\n getKeyAbove(key) {\n if (this.tabDirection) return null;\n return this.getPreviousKey(key);\n }\n getKeyBelow(key) {\n if (this.tabDirection) return null;\n return this.getNextKey(key);\n }\n getNextKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyAfter(key);\n if (key == null) key = this.collection.getFirstKey();\n }while (key != null && this.isDisabled(key));\n return key;\n }\n getPreviousKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyBefore(key);\n if (key == null) key = this.collection.getLastKey();\n }while (key != null && this.isDisabled(key));\n return key;\n }\n constructor(collection, direction, orientation, disabledKeys = new Set()){\n this.collection = collection;\n this.flipDirection = direction === 'rtl' && orientation === 'horizontal';\n this.disabledKeys = disabledKeys;\n this.tabDirection = orientation === 'horizontal';\n }\n}\n\n\nexport {$bfc6f2d60b8a4c40$export$15010ca3c1abe90b as TabsKeyboardDelegate};\n//# sourceMappingURL=TabsKeyboardDelegate.module.js.map\n","import {tabsIds as $99b62ae3ff97ec45$export$c5f62239608282b6} from \"./utils.mjs\";\nimport {TabsKeyboardDelegate as $bfc6f2d60b8a4c40$export$15010ca3c1abe90b} from \"./TabsKeyboardDelegate.mjs\";\nimport {useId as $bQNZs$useId, useLabels as $bQNZs$useLabels, mergeProps as $bQNZs$mergeProps} from \"@react-aria/utils\";\nimport {useLocale as $bQNZs$useLocale} from \"@react-aria/i18n\";\nimport {useMemo as $bQNZs$useMemo} from \"react\";\nimport {useSelectableCollection as $bQNZs$useSelectableCollection} from \"@react-aria/selection\";\n\n/*\n* Copyright 2020 Adobe. All rights reserved.\n* This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License. You may obtain a copy\n* of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software distributed under\n* the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n* OF ANY KIND, either express or implied. See the License for the specific language\n* governing permissions and limitations under the License.\n*/ \n\n\n\n\n\nfunction $58d314389b21fa3f$export$773e389e644c5874(props, state, ref) {\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = props;\n let { collection: collection, selectionManager: manager, disabledKeys: disabledKeys } = state;\n let { direction: direction } = (0, $bQNZs$useLocale)();\n let delegate = (0, $bQNZs$useMemo)(()=>new (0, $bfc6f2d60b8a4c40$export$15010ca3c1abe90b)(collection, direction, orientation, disabledKeys), [\n collection,\n disabledKeys,\n orientation,\n direction\n ]);\n let { collectionProps: collectionProps } = (0, $bQNZs$useSelectableCollection)({\n ref: ref,\n selectionManager: manager,\n keyboardDelegate: delegate,\n selectOnFocus: keyboardActivation === 'automatic',\n disallowEmptySelection: true,\n scrollRef: ref,\n linkBehavior: 'selection'\n });\n // Compute base id for all tabs\n let tabsId = (0, $bQNZs$useId)();\n (0, $99b62ae3ff97ec45$export$c5f62239608282b6).set(state, tabsId);\n let tabListLabelProps = (0, $bQNZs$useLabels)({\n ...props,\n id: tabsId\n });\n return {\n tabListProps: {\n ...(0, $bQNZs$mergeProps)(collectionProps, tabListLabelProps),\n role: 'tablist',\n 'aria-orientation': orientation,\n tabIndex: undefined\n }\n };\n}\n\n\nexport {$58d314389b21fa3f$export$773e389e644c5874 as useTabList};\n//# sourceMappingURL=useTabList.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8} from \"./utils.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useProgressBar as $hU2kz$useProgressBar} from \"react-aria\";\nimport {clamp as $hU2kz$clamp} from \"@react-stately/utils\";\nimport {filterDOMProps as $hU2kz$filterDOMProps, mergeProps as $hU2kz$mergeProps} from \"@react-aria/utils\";\nimport $hU2kz$react, {createContext as $hU2kz$createContext, forwardRef as $hU2kz$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nconst $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /*#__PURE__*/ (0, $hU2kz$createContext)(null);\nconst $0393f8ab869a0f1a$export$c17561cb55d4db30 = /*#__PURE__*/ (0, $hU2kz$forwardRef)(function ProgressBar(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $0393f8ab869a0f1a$export$e9f3bf65a26ce129);\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, isIndeterminate: isIndeterminate = false } = props;\n value = (0, $hU2kz$clamp)(value, minValue, maxValue);\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { progressBarProps: progressBarProps, labelProps: labelProps } = (0, $hU2kz$useProgressBar)({\n ...props,\n label: label\n });\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage: percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate: isIndeterminate\n }\n });\n let DOMProps = (0, $hU2kz$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $hU2kz$react).createElement(\"div\", {\n ...(0, $hU2kz$mergeProps)(DOMProps, renderProps, progressBarProps),\n ref: ref,\n slot: props.slot || undefined\n }, /*#__PURE__*/ (0, $hU2kz$react).createElement((0, $01b77f81d0f07f68$export$75b6ee27786ba447).Provider, {\n value: {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n }, renderProps.children));\n});\n\n\nexport {$0393f8ab869a0f1a$export$e9f3bf65a26ce129 as ProgressBarContext, $0393f8ab869a0f1a$export$c17561cb55d4db30 as ProgressBar};\n//# sourceMappingURL=ProgressBar.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {ProgressBarContext as $0393f8ab869a0f1a$export$e9f3bf65a26ce129} from \"./ProgressBar.mjs\";\nimport {announce as $fM325$announce} from \"@react-aria/live-announcer\";\nimport {useButton as $fM325$useButton, useFocusRing as $fM325$useFocusRing, useHover as $fM325$useHover, useId as $fM325$useId, mergeProps as $fM325$mergeProps} from \"react-aria\";\nimport {createHideableComponent as $fM325$createHideableComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $fM325$filterDOMProps} from \"@react-aria/utils\";\nimport $fM325$react, {createContext as $fM325$createContext, useRef as $fM325$useRef, useEffect as $fM325$useEffect} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (0, $fM325$createContext)({});\nconst $d2b4bc8c273e7be6$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $fM325$createHideableComponent)(function Button(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);\n let ctx = props;\n let { isPending: isPending } = ctx;\n let { buttonProps: buttonProps, isPressed: isPressed } = (0, $fM325$useButton)(props, ref);\n buttonProps = $d2b4bc8c273e7be6$var$useDisableInteractions(buttonProps, isPending);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $fM325$useFocusRing)(props);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $fM325$useHover)({\n ...props,\n isDisabled: props.isDisabled || isPending\n });\n let renderValues = {\n isHovered: isHovered,\n isPressed: (ctx.isPressed || isPressed) && !isPending,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isPending: isPending !== null && isPending !== void 0 ? isPending : false\n };\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: renderValues,\n defaultClassName: 'react-aria-Button'\n });\n let buttonId = (0, $fM325$useId)(buttonProps.id);\n let progressId = (0, $fM325$useId)();\n let ariaLabelledby = buttonProps['aria-labelledby'];\n if (isPending) {\n // aria-labelledby wins over aria-label\n // https://www.w3.org/TR/accname-1.2/#computation-steps\n if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;\n else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;\n }\n let wasPending = (0, $fM325$useRef)(isPending);\n (0, $fM325$useEffect)(()=>{\n let message = {\n 'aria-labelledby': ariaLabelledby || buttonId\n };\n if (!wasPending.current && isFocused && isPending) (0, $fM325$announce)(message, 'assertive');\n else if (wasPending.current && isFocused && !isPending) (0, $fM325$announce)(message, 'assertive');\n wasPending.current = isPending;\n }, [\n isPending,\n isFocused,\n ariaLabelledby,\n buttonId\n ]);\n let DOMProps = (0, $fM325$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $fM325$react).createElement(\"button\", {\n ...(0, $fM325$mergeProps)(DOMProps, renderProps, buttonProps, focusProps, hoverProps),\n // When the button is in a pending state, we want to stop implicit form submission (ie. when the user presses enter on a text input).\n // We do this by changing the button's type to button.\n type: buttonProps.type === 'submit' && isPending ? 'button' : buttonProps.type,\n id: buttonId,\n ref: ref,\n \"aria-labelledby\": ariaLabelledby,\n slot: props.slot || undefined,\n \"aria-disabled\": isPending ? 'true' : buttonProps['aria-disabled'],\n \"data-disabled\": props.isDisabled || undefined,\n \"data-pressed\": renderValues.isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-pending\": isPending || undefined,\n \"data-focus-visible\": isFocusVisible || undefined\n }, /*#__PURE__*/ (0, $fM325$react).createElement((0, $0393f8ab869a0f1a$export$e9f3bf65a26ce129).Provider, {\n value: {\n id: progressId\n }\n }, renderProps.children));\n});\nfunction $d2b4bc8c273e7be6$var$useDisableInteractions(props, isPending) {\n // Don't allow interaction while isPending is true\n if (isPending) {\n for(const key in props)if (key.startsWith('on') && !(key.includes('Focus') || key.includes('Blur'))) props[key] = undefined;\n props.href = undefined;\n props.target = undefined;\n }\n return props;\n}\n\n\nexport {$d2b4bc8c273e7be6$export$24d547caef80ccd1 as ButtonContext, $d2b4bc8c273e7be6$export$353f5b6fc5456de1 as Button};\n//# sourceMappingURL=Button.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $a02d57049d202695$export$d085fb9e920b5ca7 {\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this._size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n var _node_prevKey;\n return node ? (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n var _node_nextKey;\n return node ? (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n var _this_keyMap_get;\n return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n getChildren(key) {\n let node = this.keyMap.get(key);\n return (node === null || node === void 0 ? void 0 : node.childNodes) || [];\n }\n constructor(nodes){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n let size = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n // Only count sections and items when determining size so that\n // loaders and separators in RAC/S2 don't influence the emptyState determination\n if (node.type === 'section' || node.type === 'item') size++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n this._size = size;\n var _last_key;\n this.lastKey = (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;\n }\n}\n\n\nexport {$a02d57049d202695$export$d085fb9e920b5ca7 as ListCollection};\n//# sourceMappingURL=ListCollection.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $e40ea825a81a3709$export$52baac22726c72bf extends Set {\n constructor(keys, anchorKey, currentKey){\n super(keys);\n if (keys instanceof $e40ea825a81a3709$export$52baac22726c72bf) {\n this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : keys.anchorKey;\n this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : keys.currentKey;\n } else {\n this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : null;\n this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : null;\n }\n }\n}\n\n\nexport {$e40ea825a81a3709$export$52baac22726c72bf as Selection};\n//# sourceMappingURL=Selection.module.js.map\n","import {Selection as $e40ea825a81a3709$export$52baac22726c72bf} from \"./Selection.mjs\";\nimport {useControlledState as $6tM1y$useControlledState} from \"@react-stately/utils\";\nimport {useRef as $6tM1y$useRef, useState as $6tM1y$useState, useMemo as $6tM1y$useMemo, useEffect as $6tM1y$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $7af3f5b51489e0b5$var$equalSets(setA, setB) {\n if (setA.size !== setB.size) return false;\n for (let item of setA){\n if (!setB.has(item)) return false;\n }\n return true;\n}\nfunction $7af3f5b51489e0b5$export$253fe78d46329472(props) {\n let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;\n // We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.\n // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).\n let isFocusedRef = (0, $6tM1y$useRef)(false);\n let [, setFocused] = (0, $6tM1y$useState)(false);\n let focusedKeyRef = (0, $6tM1y$useRef)(null);\n let childFocusStrategyRef = (0, $6tM1y$useRef)(null);\n let [, setFocusedKey] = (0, $6tM1y$useState)(null);\n let selectedKeysProp = (0, $6tM1y$useMemo)(()=>$7af3f5b51489e0b5$var$convertSelection(props.selectedKeys), [\n props.selectedKeys\n ]);\n let defaultSelectedKeys = (0, $6tM1y$useMemo)(()=>$7af3f5b51489e0b5$var$convertSelection(props.defaultSelectedKeys, new (0, $e40ea825a81a3709$export$52baac22726c72bf)()), [\n props.defaultSelectedKeys\n ]);\n let [selectedKeys, setSelectedKeys] = (0, $6tM1y$useControlledState)(selectedKeysProp, defaultSelectedKeys, props.onSelectionChange);\n let disabledKeysProp = (0, $6tM1y$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let [selectionBehavior, setSelectionBehavior] = (0, $6tM1y$useState)(selectionBehaviorProp);\n // If the selectionBehavior prop is set to replace, but the current state is toggle (e.g. due to long press\n // to enter selection mode on touch), and the selection becomes empty, reset the selection behavior.\n if (selectionBehaviorProp === 'replace' && selectionBehavior === 'toggle' && typeof selectedKeys === 'object' && selectedKeys.size === 0) setSelectionBehavior('replace');\n // If the selectionBehavior prop changes, update the state as well.\n let lastSelectionBehavior = (0, $6tM1y$useRef)(selectionBehaviorProp);\n (0, $6tM1y$useEffect)(()=>{\n if (selectionBehaviorProp !== lastSelectionBehavior.current) {\n setSelectionBehavior(selectionBehaviorProp);\n lastSelectionBehavior.current = selectionBehaviorProp;\n }\n }, [\n selectionBehaviorProp\n ]);\n return {\n selectionMode: selectionMode,\n disallowEmptySelection: disallowEmptySelection,\n selectionBehavior: selectionBehavior,\n setSelectionBehavior: setSelectionBehavior,\n get isFocused () {\n return isFocusedRef.current;\n },\n setFocused (f) {\n isFocusedRef.current = f;\n setFocused(f);\n },\n get focusedKey () {\n return focusedKeyRef.current;\n },\n get childFocusStrategy () {\n return childFocusStrategyRef.current;\n },\n setFocusedKey (k, childFocusStrategy = 'first') {\n focusedKeyRef.current = k;\n childFocusStrategyRef.current = childFocusStrategy;\n setFocusedKey(k);\n },\n selectedKeys: selectedKeys,\n setSelectedKeys (keys) {\n if (allowDuplicateSelectionEvents || !$7af3f5b51489e0b5$var$equalSets(keys, selectedKeys)) setSelectedKeys(keys);\n },\n disabledKeys: disabledKeysProp,\n disabledBehavior: disabledBehavior\n };\n}\nfunction $7af3f5b51489e0b5$var$convertSelection(selection, defaultValue) {\n if (!selection) return defaultValue;\n return selection === 'all' ? 'all' : new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selection);\n}\n\n\nexport {$7af3f5b51489e0b5$export$253fe78d46329472 as useMultipleSelectionState};\n//# sourceMappingURL=useMultipleSelectionState.module.js.map\n","import {Selection as $e40ea825a81a3709$export$52baac22726c72bf} from \"./Selection.mjs\";\nimport {compareNodeOrder as $jkhUT$compareNodeOrder, getFirstItem as $jkhUT$getFirstItem, getChildNodes as $jkhUT$getChildNodes} from \"@react-stately/collections\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {\n /**\n * The type of selection that is allowed in the collection.\n */ get selectionMode() {\n return this.state.selectionMode;\n }\n /**\n * Whether the collection allows empty selection.\n */ get disallowEmptySelection() {\n return this.state.disallowEmptySelection;\n }\n /**\n * The selection behavior for the collection.\n */ get selectionBehavior() {\n return this.state.selectionBehavior;\n }\n /**\n * Sets the selection behavior for the collection.\n */ setSelectionBehavior(selectionBehavior) {\n this.state.setSelectionBehavior(selectionBehavior);\n }\n /**\n * Whether the collection is currently focused.\n */ get isFocused() {\n return this.state.isFocused;\n }\n /**\n * Sets whether the collection is focused.\n */ setFocused(isFocused) {\n this.state.setFocused(isFocused);\n }\n /**\n * The current focused key in the collection.\n */ get focusedKey() {\n return this.state.focusedKey;\n }\n /** Whether the first or last child of the focused key should receive focus. */ get childFocusStrategy() {\n return this.state.childFocusStrategy;\n }\n /**\n * Sets the focused key.\n */ setFocusedKey(key, childFocusStrategy) {\n if (key == null || this.collection.getItem(key)) this.state.setFocusedKey(key, childFocusStrategy);\n }\n /**\n * The currently selected keys in the collection.\n */ get selectedKeys() {\n return this.state.selectedKeys === 'all' ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys;\n }\n /**\n * The raw selection value for the collection.\n * Either 'all' for select all, or a set of keys.\n */ get rawSelection() {\n return this.state.selectedKeys;\n }\n /**\n * Returns whether a key is selected.\n */ isSelected(key) {\n if (this.state.selectionMode === 'none') return false;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return false;\n return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);\n }\n /**\n * Whether the selection is empty.\n */ get isEmpty() {\n return this.state.selectedKeys !== 'all' && this.state.selectedKeys.size === 0;\n }\n /**\n * Whether all items in the collection are selected.\n */ get isSelectAll() {\n if (this.isEmpty) return false;\n if (this.state.selectedKeys === 'all') return true;\n if (this._isSelectAll != null) return this._isSelectAll;\n let allKeys = this.getSelectAllKeys();\n let selectedKeys = this.state.selectedKeys;\n this._isSelectAll = allKeys.every((k)=>selectedKeys.has(k));\n return this._isSelectAll;\n }\n get firstSelectedKey() {\n let first = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!first || item && (0, $jkhUT$compareNodeOrder)(this.collection, item, first) < 0) first = item;\n }\n var _first_key;\n return (_first_key = first === null || first === void 0 ? void 0 : first.key) !== null && _first_key !== void 0 ? _first_key : null;\n }\n get lastSelectedKey() {\n let last = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!last || item && (0, $jkhUT$compareNodeOrder)(this.collection, item, last) > 0) last = item;\n }\n var _last_key;\n return (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;\n }\n get disabledKeys() {\n return this.state.disabledKeys;\n }\n get disabledBehavior() {\n return this.state.disabledBehavior;\n }\n /**\n * Extends the selection to the given key.\n */ extendSelection(toKey) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n this.replaceSelection(toKey);\n return;\n }\n let mappedToKey = this.getKey(toKey);\n if (mappedToKey == null) return;\n let selection;\n // Only select the one key if coming from a select all.\n if (this.state.selectedKeys === 'all') selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)([\n mappedToKey\n ], mappedToKey, mappedToKey);\n else {\n let selectedKeys = this.state.selectedKeys;\n var _selectedKeys_anchorKey;\n let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : mappedToKey;\n selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);\n var _selectedKeys_currentKey;\n for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : mappedToKey))selection.delete(key);\n for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);\n }\n this.state.setSelectedKeys(selection);\n }\n getKeyRange(from, to) {\n let fromItem = this.collection.getItem(from);\n let toItem = this.collection.getItem(to);\n if (fromItem && toItem) {\n if ((0, $jkhUT$compareNodeOrder)(this.collection, fromItem, toItem) <= 0) return this.getKeyRangeInternal(from, to);\n return this.getKeyRangeInternal(to, from);\n }\n return [];\n }\n getKeyRangeInternal(from, to) {\n var _this_layoutDelegate;\n if ((_this_layoutDelegate = this.layoutDelegate) === null || _this_layoutDelegate === void 0 ? void 0 : _this_layoutDelegate.getKeyRange) return this.layoutDelegate.getKeyRange(from, to);\n let keys = [];\n let key = from;\n while(key != null){\n let item = this.collection.getItem(key);\n if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);\n if (key === to) return keys;\n key = this.collection.getKeyAfter(key);\n }\n return [];\n }\n getKey(key) {\n let item = this.collection.getItem(key);\n if (!item) // ¯\\_(ツ)_/¯\n return key;\n // If cell selection is allowed, just return the key.\n if (item.type === 'cell' && this.allowsCellSelection) return key;\n // Find a parent item to select\n while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);\n if (!item || item.type !== 'item') return null;\n return item.key;\n }\n /**\n * Toggles whether the given key is selected.\n */ toggleSelection(key) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single' && !this.isSelected(key)) {\n this.replaceSelection(key);\n return;\n }\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let keys = new (0, $e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);\n if (keys.has(mappedKey)) keys.delete(mappedKey);\n else if (this.canSelectItem(mappedKey)) {\n keys.add(mappedKey);\n keys.anchorKey = mappedKey;\n keys.currentKey = mappedKey;\n }\n if (this.disallowEmptySelection && keys.size === 0) return;\n this.state.setSelectedKeys(keys);\n }\n /**\n * Replaces the selection with only the given key.\n */ replaceSelection(key) {\n if (this.selectionMode === 'none') return;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let selection = this.canSelectItem(mappedKey) ? new (0, $e40ea825a81a3709$export$52baac22726c72bf)([\n mappedKey\n ], mappedKey, mappedKey) : new (0, $e40ea825a81a3709$export$52baac22726c72bf)();\n this.state.setSelectedKeys(selection);\n }\n /**\n * Replaces the selection with the given keys.\n */ setSelectedKeys(keys) {\n if (this.selectionMode === 'none') return;\n let selection = new (0, $e40ea825a81a3709$export$52baac22726c72bf)();\n for (let key of keys){\n let mappedKey = this.getKey(key);\n if (mappedKey != null) {\n selection.add(mappedKey);\n if (this.selectionMode === 'single') break;\n }\n }\n this.state.setSelectedKeys(selection);\n }\n getSelectAllKeys() {\n let keys = [];\n let addKeys = (key)=>{\n while(key != null){\n if (this.canSelectItem(key)) {\n var _getFirstItem;\n let item = this.collection.getItem(key);\n if ((item === null || item === void 0 ? void 0 : item.type) === 'item') keys.push(key);\n var _getFirstItem_key;\n // Add child keys. If cell selection is allowed, then include item children too.\n if ((item === null || item === void 0 ? void 0 : item.hasChildNodes) && (this.allowsCellSelection || item.type !== 'item')) addKeys((_getFirstItem_key = (_getFirstItem = (0, $jkhUT$getFirstItem)((0, $jkhUT$getChildNodes)(item, this.collection))) === null || _getFirstItem === void 0 ? void 0 : _getFirstItem.key) !== null && _getFirstItem_key !== void 0 ? _getFirstItem_key : null);\n }\n key = this.collection.getKeyAfter(key);\n }\n };\n addKeys(this.collection.getFirstKey());\n return keys;\n }\n /**\n * Selects all items in the collection.\n */ selectAll() {\n if (!this.isSelectAll && this.selectionMode === 'multiple') this.state.setSelectedKeys('all');\n }\n /**\n * Removes all keys from the selection.\n */ clearSelection() {\n if (!this.disallowEmptySelection && (this.state.selectedKeys === 'all' || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $e40ea825a81a3709$export$52baac22726c72bf)());\n }\n /**\n * Toggles between select all and an empty selection.\n */ toggleSelectAll() {\n if (this.isSelectAll) this.clearSelection();\n else this.selectAll();\n }\n select(key, e) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n if (this.isSelected(key) && !this.disallowEmptySelection) this.toggleSelection(key);\n else this.replaceSelection(key);\n } else if (this.selectionBehavior === 'toggle' || e && (e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n this.toggleSelection(key);\n else this.replaceSelection(key);\n }\n /**\n * Returns whether the current selection is equal to the given selection.\n */ isSelectionEqual(selection) {\n if (selection === this.state.selectedKeys) return true;\n // Check if the set of keys match.\n let selectedKeys = this.selectedKeys;\n if (selection.size !== selectedKeys.size) return false;\n for (let key of selection){\n if (!selectedKeys.has(key)) return false;\n }\n for (let key of selectedKeys){\n if (!selection.has(key)) return false;\n }\n return true;\n }\n canSelectItem(key) {\n var _item_props;\n if (this.state.selectionMode === 'none' || this.state.disabledKeys.has(key)) return false;\n let item = this.collection.getItem(key);\n if (!item || (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || item.type === 'cell' && !this.allowsCellSelection) return false;\n return true;\n }\n isDisabled(key) {\n var _this_collection_getItem_props, _this_collection_getItem;\n return this.state.disabledBehavior === 'all' && (this.state.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled));\n }\n isLink(key) {\n var _this_collection_getItem_props, _this_collection_getItem;\n return !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.href);\n }\n getItemProps(key) {\n var _this_collection_getItem;\n return (_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : _this_collection_getItem.props;\n }\n withCollection(collection) {\n return new $d496c0a20b6e58ec$export$6c8a5aaad13c9852(collection, this.state, {\n allowsCellSelection: this.allowsCellSelection,\n layoutDelegate: this.layoutDelegate || undefined\n });\n }\n constructor(collection, state, options){\n this.collection = collection;\n this.state = state;\n var _options_allowsCellSelection;\n this.allowsCellSelection = (_options_allowsCellSelection = options === null || options === void 0 ? void 0 : options.allowsCellSelection) !== null && _options_allowsCellSelection !== void 0 ? _options_allowsCellSelection : false;\n this._isSelectAll = null;\n this.layoutDelegate = (options === null || options === void 0 ? void 0 : options.layoutDelegate) || null;\n }\n}\n\n\nexport {$d496c0a20b6e58ec$export$6c8a5aaad13c9852 as SelectionManager};\n//# sourceMappingURL=SelectionManager.module.js.map\n","import {ListCollection as $a02d57049d202695$export$d085fb9e920b5ca7} from \"./ListCollection.mjs\";\nimport {useMultipleSelectionState as $d5vlZ$useMultipleSelectionState, SelectionManager as $d5vlZ$SelectionManager} from \"@react-stately/selection\";\nimport {useMemo as $d5vlZ$useMemo, useCallback as $d5vlZ$useCallback, useRef as $d5vlZ$useRef, useEffect as $d5vlZ$useEffect} from \"react\";\nimport {useCollection as $d5vlZ$useCollection} from \"@react-stately/collections\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $e72dd72e1c76a225$export$2f645645f7bca764(props) {\n let { filter: filter, layoutDelegate: layoutDelegate } = props;\n let selectionState = (0, $d5vlZ$useMultipleSelectionState)(props);\n let disabledKeys = (0, $d5vlZ$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let factory = (0, $d5vlZ$useCallback)((nodes)=>filter ? new (0, $a02d57049d202695$export$d085fb9e920b5ca7)(filter(nodes)) : new (0, $a02d57049d202695$export$d085fb9e920b5ca7)(nodes), [\n filter\n ]);\n let context = (0, $d5vlZ$useMemo)(()=>({\n suppressTextValueWarning: props.suppressTextValueWarning\n }), [\n props.suppressTextValueWarning\n ]);\n let collection = (0, $d5vlZ$useCollection)(props, factory, context);\n let selectionManager = (0, $d5vlZ$useMemo)(()=>new (0, $d5vlZ$SelectionManager)(collection, selectionState, {\n layoutDelegate: layoutDelegate\n }), [\n collection,\n selectionState,\n layoutDelegate\n ]);\n $e72dd72e1c76a225$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager\n };\n}\nfunction $e72dd72e1c76a225$export$ba9d38c0f1bf2b36(state, filterFn) {\n let collection = (0, $d5vlZ$useMemo)(()=>filterFn ? state.collection.filter(filterFn) : state.collection, [\n state.collection,\n filterFn\n ]);\n let selectionManager = state.selectionManager.withCollection(collection);\n $e72dd72e1c76a225$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n selectionManager: selectionManager,\n disabledKeys: state.disabledKeys\n };\n}\nfunction $e72dd72e1c76a225$var$useFocusedKeyReset(collection, selectionManager) {\n // Reset focused key if that item is deleted from the collection.\n const cachedCollection = (0, $d5vlZ$useRef)(null);\n (0, $d5vlZ$useEffect)(()=>{\n if (selectionManager.focusedKey != null && !collection.getItem(selectionManager.focusedKey) && cachedCollection.current) {\n const startItem = cachedCollection.current.getItem(selectionManager.focusedKey);\n const cachedItemNodes = [\n ...cachedCollection.current.getKeys()\n ].map((key)=>{\n const itemNode = cachedCollection.current.getItem(key);\n return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;\n }).filter((node)=>node !== null);\n const itemNodes = [\n ...collection.getKeys()\n ].map((key)=>{\n const itemNode = collection.getItem(key);\n return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;\n }).filter((node)=>node !== null);\n var _cachedItemNodes_length, _itemNodes_length;\n const diff = ((_cachedItemNodes_length = cachedItemNodes === null || cachedItemNodes === void 0 ? void 0 : cachedItemNodes.length) !== null && _cachedItemNodes_length !== void 0 ? _cachedItemNodes_length : 0) - ((_itemNodes_length = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length !== void 0 ? _itemNodes_length : 0);\n var _startItem_index, _startItem_index1, _itemNodes_length1;\n let index = Math.min(diff > 1 ? Math.max(((_startItem_index = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index !== void 0 ? _startItem_index : 0) - diff + 1, 0) : (_startItem_index1 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index1 !== void 0 ? _startItem_index1 : 0, ((_itemNodes_length1 = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length1 !== void 0 ? _itemNodes_length1 : 0) - 1);\n let newNode = null;\n let isReverseSearching = false;\n while(index >= 0){\n if (!selectionManager.isDisabled(itemNodes[index].key)) {\n newNode = itemNodes[index];\n break;\n }\n // Find next, not disabled item.\n if (index < itemNodes.length - 1 && !isReverseSearching) index++;\n else {\n isReverseSearching = true;\n var _startItem_index2, _startItem_index3;\n if (index > ((_startItem_index2 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index2 !== void 0 ? _startItem_index2 : 0)) index = (_startItem_index3 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index3 !== void 0 ? _startItem_index3 : 0;\n index--;\n }\n }\n selectionManager.setFocusedKey(newNode ? newNode.key : null);\n }\n cachedCollection.current = collection;\n }, [\n collection,\n selectionManager\n ]);\n}\n\n\nexport {$e72dd72e1c76a225$export$2f645645f7bca764 as useListState, $e72dd72e1c76a225$export$ba9d38c0f1bf2b36 as UNSTABLE_useFilteredListState};\n//# sourceMappingURL=useListState.module.js.map\n","import {useListState as $e72dd72e1c76a225$export$2f645645f7bca764} from \"./useListState.mjs\";\nimport {useControlledState as $eBozH$useControlledState} from \"@react-stately/utils\";\nimport {useMemo as $eBozH$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $a0d645289fe9b86b$export$e7f05e985daf4b5f(props) {\n var _props_defaultSelectedKey;\n let [selectedKey, setSelectedKey] = (0, $eBozH$useControlledState)(props.selectedKey, (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : null, props.onSelectionChange);\n let selectedKeys = (0, $eBozH$useMemo)(()=>selectedKey != null ? [\n selectedKey\n ] : [], [\n selectedKey\n ]);\n let { collection: collection, disabledKeys: disabledKeys, selectionManager: selectionManager } = (0, $e72dd72e1c76a225$export$2f645645f7bca764)({\n ...props,\n selectionMode: 'single',\n disallowEmptySelection: true,\n allowDuplicateSelectionEvents: true,\n selectedKeys: selectedKeys,\n onSelectionChange: (keys)=>{\n // impossible, but TS doesn't know that\n if (keys === 'all') return;\n var _keys_values_next_value;\n let key = (_keys_values_next_value = keys.values().next().value) !== null && _keys_values_next_value !== void 0 ? _keys_values_next_value : null;\n // Always fire onSelectionChange, even if the key is the same\n // as the current key (useControlledState does not).\n if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);\n setSelectedKey(key);\n }\n });\n let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager,\n selectedKey: selectedKey,\n setSelectedKey: setSelectedKey,\n selectedItem: selectedItem\n };\n}\n\n\nexport {$a0d645289fe9b86b$export$e7f05e985daf4b5f as useSingleSelectListState};\n//# sourceMappingURL=useSingleSelectListState.module.js.map\n","import {useSingleSelectListState as $fgY1A$useSingleSelectListState} from \"@react-stately/list\";\nimport {useRef as $fgY1A$useRef, useEffect as $fgY1A$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $76f919a04c5a7d14$export$4ba071daf4e486(props) {\n var _props_defaultSelectedKey, _ref;\n let state = (0, $fgY1A$useSingleSelectListState)({\n ...props,\n onSelectionChange: props.onSelectionChange ? (key)=>{\n var _props_onSelectionChange;\n if (key != null) (_props_onSelectionChange = props.onSelectionChange) === null || _props_onSelectionChange === void 0 ? void 0 : _props_onSelectionChange.call(props, key);\n } : undefined,\n suppressTextValueWarning: true,\n defaultSelectedKey: (_ref = (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : $76f919a04c5a7d14$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : new Set())) !== null && _ref !== void 0 ? _ref : undefined\n });\n let { selectionManager: selectionManager, collection: collection, selectedKey: currentSelectedKey } = state;\n let lastSelectedKey = (0, $fgY1A$useRef)(currentSelectedKey);\n (0, $fgY1A$useEffect)(()=>{\n // Ensure a tab is always selected (in case no selected key was specified or if selected item was deleted from collection)\n let selectedKey = currentSelectedKey;\n if (props.selectedKey == null && (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey))) {\n selectedKey = $76f919a04c5a7d14$var$findDefaultSelectedKey(collection, state.disabledKeys);\n if (selectedKey != null) // directly set selection because replace/toggle selection won't consider disabled keys\n selectionManager.setSelectedKeys([\n selectedKey\n ]);\n }\n // If the tablist doesn't have focus and the selected key changes or if there isn't a focused key yet, change focused key to the selected key if it exists.\n if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);\n lastSelectedKey.current = selectedKey;\n });\n return {\n ...state,\n isDisabled: props.isDisabled || false\n };\n}\nfunction $76f919a04c5a7d14$var$findDefaultSelectedKey(collection, disabledKeys) {\n let selectedKey = null;\n if (collection) {\n var _collection_getItem_props, _collection_getItem, _collection_getItem_props1, _collection_getItem1;\n selectedKey = collection.getFirstKey();\n // loop over tabs until we find one that isn't disabled and select that\n while(selectedKey != null && (disabledKeys.has(selectedKey) || ((_collection_getItem = collection.getItem(selectedKey)) === null || _collection_getItem === void 0 ? void 0 : (_collection_getItem_props = _collection_getItem.props) === null || _collection_getItem_props === void 0 ? void 0 : _collection_getItem_props.isDisabled)) && selectedKey !== collection.getLastKey())selectedKey = collection.getKeyAfter(selectedKey);\n // if this check is true, then every item is disabled, it makes more sense to default to the first key than the last\n if (selectedKey != null && (disabledKeys.has(selectedKey) || ((_collection_getItem1 = collection.getItem(selectedKey)) === null || _collection_getItem1 === void 0 ? void 0 : (_collection_getItem_props1 = _collection_getItem1.props) === null || _collection_getItem_props1 === void 0 ? void 0 : _collection_getItem_props1.isDisabled)) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();\n }\n return selectedKey;\n}\n\n\nexport {$76f919a04c5a7d14$export$4ba071daf4e486 as useTabListState};\n//# sourceMappingURL=useTabListState.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {FormValidationContext as $j6ya4$FormValidationContext} from \"react-stately\";\nimport $j6ya4$react, {createContext as $j6ya4$createContext, forwardRef as $j6ya4$forwardRef} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $d3e0e05bdfcf66bd$export$c24727297075ec6a = /*#__PURE__*/ (0, $j6ya4$createContext)(null);\nconst $d3e0e05bdfcf66bd$export$a7fed597f4b8afd8 = /*#__PURE__*/ (0, $j6ya4$forwardRef)(function Form(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d3e0e05bdfcf66bd$export$c24727297075ec6a);\n let { validationErrors: validationErrors, validationBehavior: validationBehavior = 'native', children: children, className: className, ...domProps } = props;\n return /*#__PURE__*/ (0, $j6ya4$react).createElement(\"form\", {\n noValidate: validationBehavior !== 'native',\n ...domProps,\n ref: ref,\n className: className || 'react-aria-Form'\n }, /*#__PURE__*/ (0, $j6ya4$react).createElement($d3e0e05bdfcf66bd$export$c24727297075ec6a.Provider, {\n value: {\n ...props,\n validationBehavior: validationBehavior\n }\n }, /*#__PURE__*/ (0, $j6ya4$react).createElement((0, $j6ya4$FormValidationContext).Provider, {\n value: validationErrors !== null && validationErrors !== void 0 ? validationErrors : {}\n }, children)));\n});\n\n\nexport {$d3e0e05bdfcf66bd$export$c24727297075ec6a as FormContext, $d3e0e05bdfcf66bd$export$a7fed597f4b8afd8 as Form};\n//# sourceMappingURL=Form.module.js.map\n","import {CheckboxContext as $4e85f108e88277b8$export$b085522c77523c51} from \"./RSPContexts.mjs\";\nimport {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, removeDataAttributes as $64fa3d84918910a7$export$ef03459518577ad4, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $ee014567cb39d3f0$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $d3e0e05bdfcf66bd$export$c24727297075ec6a} from \"./Form.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {TextContext as $514c0188e459b4c0$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useCheckboxGroup as $kPH7g$useCheckboxGroup, mergeProps as $kPH7g$mergeProps, useCheckboxGroupItem as $kPH7g$useCheckboxGroupItem, useCheckbox as $kPH7g$useCheckbox, useFocusRing as $kPH7g$useFocusRing, useHover as $kPH7g$useHover, VisuallyHidden as $kPH7g$VisuallyHidden} from \"react-aria\";\nimport {useCheckboxGroupState as $kPH7g$useCheckboxGroupState, useToggleState as $kPH7g$useToggleState} from \"react-stately\";\nimport {filterDOMProps as $kPH7g$filterDOMProps, useObjectRef as $kPH7g$useObjectRef, mergeRefs as $kPH7g$mergeRefs} from \"@react-aria/utils\";\nimport $kPH7g$react, {createContext as $kPH7g$createContext, forwardRef as $kPH7g$forwardRef, useContext as $kPH7g$useContext, useMemo as $kPH7g$useMemo} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\nconst $bc237834342dbd75$export$baf37c4be89255b8 = /*#__PURE__*/ (0, $kPH7g$createContext)(null);\nconst $bc237834342dbd75$export$139c5b8563afc1fc = /*#__PURE__*/ (0, $kPH7g$createContext)(null);\nconst $bc237834342dbd75$export$4aa08d5625cb8ead = /*#__PURE__*/ (0, $kPH7g$forwardRef)(function CheckboxGroup(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $bc237834342dbd75$export$baf37c4be89255b8);\n let { validationBehavior: formValidationBehavior } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};\n var _props_validationBehavior, _ref;\n let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';\n let state = (0, $kPH7g$useCheckboxGroupState)({\n ...props,\n validationBehavior: validationBehavior\n });\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { groupProps: groupProps, labelProps: labelProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = (0, $kPH7g$useCheckboxGroup)({\n ...props,\n label: label,\n validationBehavior: validationBehavior\n }, state);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state: state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n let DOMProps = (0, $kPH7g$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $kPH7g$react).createElement(\"div\", {\n ...(0, $kPH7g$mergeProps)(DOMProps, renderProps, groupProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-required\": props.isRequired || undefined,\n \"data-invalid\": state.isInvalid || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, /*#__PURE__*/ (0, $kPH7g$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $bc237834342dbd75$export$139c5b8563afc1fc,\n state\n ],\n [\n (0, $01b77f81d0f07f68$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $ee014567cb39d3f0$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, renderProps.children));\n});\nconst $bc237834342dbd75$export$48513f6b9f8ce62d = /*#__PURE__*/ (0, $kPH7g$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(otherProps, ref, (0, $4e85f108e88277b8$export$b085522c77523c51));\n let { validationBehavior: formValidationBehavior } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $d3e0e05bdfcf66bd$export$c24727297075ec6a)) || {};\n var _props_validationBehavior, _ref;\n let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : 'native';\n let groupState = (0, $kPH7g$useContext)($bc237834342dbd75$export$139c5b8563afc1fc);\n let inputRef = (0, $kPH7g$useObjectRef)((0, $kPH7g$useMemo)(()=>(0, $kPH7g$mergeRefs)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null), [\n userProvidedInputRef,\n props.inputRef\n ]));\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid } = groupState ? (0, $kPH7g$useCheckboxGroupItem)({\n ...(0, $64fa3d84918910a7$export$ef03459518577ad4)(props),\n // Value is optional for standalone checkboxes, but required for CheckboxGroup items;\n // it's passed explicitly here to avoid typescript error (requires ignore).\n // @ts-ignore\n value: props.value,\n // ReactNode type doesn't allow function children.\n children: typeof props.children === 'function' ? true : props.children\n }, groupState, inputRef) : (0, $kPH7g$useCheckbox)({\n ...(0, $64fa3d84918910a7$export$ef03459518577ad4)(props),\n children: typeof props.children === 'function' ? true : props.children,\n validationBehavior: validationBehavior\n }, (0, $kPH7g$useToggleState)(props), inputRef);\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $kPH7g$useFocusRing)();\n let isInteractionDisabled = isDisabled || isReadOnly;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $kPH7g$useHover)({\n ...props,\n isDisabled: isInteractionDisabled\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Checkbox',\n values: {\n isSelected: isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: props.isRequired || false\n }\n });\n let DOMProps = (0, $kPH7g$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $kPH7g$react).createElement(\"label\", {\n ...(0, $kPH7g$mergeProps)(DOMProps, labelProps, hoverProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": props.isIndeterminate || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, /*#__PURE__*/ (0, $kPH7g$react).createElement((0, $kPH7g$VisuallyHidden), {\n elementType: \"span\"\n }, /*#__PURE__*/ (0, $kPH7g$react).createElement(\"input\", {\n ...(0, $kPH7g$mergeProps)(inputProps, focusProps),\n ref: inputRef\n })), renderProps.children);\n});\n\n\nexport {$bc237834342dbd75$export$baf37c4be89255b8 as CheckboxGroupContext, $bc237834342dbd75$export$139c5b8563afc1fc as CheckboxGroupStateContext, $bc237834342dbd75$export$4aa08d5625cb8ead as CheckboxGroup, $bc237834342dbd75$export$48513f6b9f8ce62d as Checkbox};\n//# sourceMappingURL=Checkbox.module.js.map\n","import {useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {flushSync as $I3GNx$flushSync} from \"react-dom\";\nimport $I3GNx$react, {createContext as $I3GNx$createContext, useRef as $I3GNx$useRef, forwardRef as $I3GNx$forwardRef, useState as $I3GNx$useState, useContext as $I3GNx$useContext} from \"react\";\nimport {useLayoutEffect as $I3GNx$useLayoutEffect} from \"@react-aria/utils\";\nimport {useObjectRef as $I3GNx$useObjectRef} from \"react-aria\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $c8a5a149f625efcf$var$SharedElementContext = /*#__PURE__*/ (0, $I3GNx$createContext)(null);\nfunction $c8a5a149f625efcf$export$758399f318e6385a(props) {\n let ref = (0, $I3GNx$useRef)({});\n return /*#__PURE__*/ (0, $I3GNx$react).createElement($c8a5a149f625efcf$var$SharedElementContext.Provider, {\n value: ref\n }, props.children);\n}\nconst $c8a5a149f625efcf$export$c34620ff8881d89f = /*#__PURE__*/ (0, $I3GNx$forwardRef)(function SharedElement(props, ref) {\n let { name: name, isVisible: isVisible = true, children: children, className: className, style: style, ...divProps } = props;\n let [state, setState] = (0, $I3GNx$useState)(isVisible ? 'visible' : 'hidden');\n let scopeRef = (0, $I3GNx$useContext)($c8a5a149f625efcf$var$SharedElementContext);\n if (!scopeRef) throw new Error('<SharedElement> must be rendered inside a <SharedElementTransition>');\n if (isVisible && state === 'hidden') setState('visible');\n ref = (0, $I3GNx$useObjectRef)(ref);\n (0, $I3GNx$useLayoutEffect)(()=>{\n let element = ref.current;\n let scope = scopeRef.current;\n let prevSnapshot = scope[name];\n let frame = null;\n if (element && isVisible && prevSnapshot) {\n // Element is transitioning from a previous instance.\n setState('visible');\n let animations = element.getAnimations();\n // Set properties to animate from.\n let values = prevSnapshot.style.map(([property, prevValue])=>{\n let value = element.style[property];\n if (property === 'translate') {\n let prevRect = prevSnapshot.rect;\n let currentItem = element.getBoundingClientRect();\n let deltaX = prevRect.left - (currentItem === null || currentItem === void 0 ? void 0 : currentItem.left);\n let deltaY = prevRect.top - (currentItem === null || currentItem === void 0 ? void 0 : currentItem.top);\n element.style.translate = `${deltaX}px ${deltaY}px`;\n } else element.style[property] = prevValue;\n return [\n property,\n value\n ];\n });\n // Cancel any new animations triggered by these properties.\n for (let a of element.getAnimations())if (!animations.includes(a)) a.cancel();\n // Remove overrides after one frame to animate to the current values.\n frame = requestAnimationFrame(()=>{\n frame = null;\n for (let [property, value] of values)element.style[property] = value;\n });\n delete scope[name];\n } else if (element && isVisible && !prevSnapshot) {\n // No previous instance exists, apply the entering state.\n queueMicrotask(()=>(0, $I3GNx$flushSync)(()=>setState('entering')));\n frame = requestAnimationFrame(()=>{\n frame = null;\n setState('visible');\n });\n } else if (element && !isVisible) // Wait until layout effects finish, and check if a snapshot still exists.\n // If so, no new SharedElement consumed it, so enter the exiting state.\n queueMicrotask(()=>{\n if (scope[name]) {\n delete scope[name];\n (0, $I3GNx$flushSync)(()=>setState('exiting'));\n Promise.all(element.getAnimations().map((a)=>a.finished)).then(()=>setState('hidden')).catch(()=>{});\n } else // Snapshot was consumed by another instance, unmount.\n setState('hidden');\n });\n return ()=>{\n if (frame != null) cancelAnimationFrame(frame);\n if (element && element.isConnected && !element.hasAttribute('data-exiting')) {\n // On unmount, store a snapshot of the rectangle and computed style for transitioning properties.\n let style = window.getComputedStyle(element);\n if (style.transitionProperty !== 'none') {\n let transitionProperty = style.transitionProperty.split(/\\s*,\\s*/);\n scope[name] = {\n rect: element.getBoundingClientRect(),\n style: transitionProperty.map((p)=>[\n p,\n style[p]\n ])\n };\n }\n }\n };\n }, [\n ref,\n scopeRef,\n name,\n isVisible\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n children: children,\n className: className,\n style: style,\n values: {\n isEntering: state === 'entering',\n isExiting: state === 'exiting'\n }\n });\n if (state === 'hidden') return null;\n return /*#__PURE__*/ (0, $I3GNx$react).createElement(\"div\", {\n ...divProps,\n ...renderProps,\n ref: ref,\n \"data-entering\": state === 'entering' || undefined,\n \"data-exiting\": state === 'exiting' || undefined\n });\n});\n\n\nexport {$c8a5a149f625efcf$export$758399f318e6385a as SharedElementTransition, $c8a5a149f625efcf$export$c34620ff8881d89f as SharedElement};\n//# sourceMappingURL=SharedElementTransition.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {SharedElement as $c8a5a149f625efcf$export$c34620ff8881d89f} from \"./SharedElementTransition.mjs\";\nimport $4GgyL$react, {createContext as $4GgyL$createContext, forwardRef as $4GgyL$forwardRef} from \"react\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $1d5b8b8664671ef2$export$c9549807523555e0 = /*#__PURE__*/ (0, $4GgyL$createContext)({\n isSelected: false\n});\nconst $1d5b8b8664671ef2$export$17f80983afe4e444 = /*#__PURE__*/ (0, $4GgyL$forwardRef)(function SelectionIndicator(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $1d5b8b8664671ef2$export$c9549807523555e0);\n let { isSelected: isSelected, ...otherProps } = props;\n return /*#__PURE__*/ (0, $4GgyL$react).createElement((0, $c8a5a149f625efcf$export$c34620ff8881d89f), {\n ...otherProps,\n ref: ref,\n className: props.className || 'react-aria-SelectionIndicator',\n name: \"SelectionIndicator\",\n isVisible: isSelected\n });\n});\n\n\nexport {$1d5b8b8664671ef2$export$c9549807523555e0 as SelectionIndicatorContext, $1d5b8b8664671ef2$export$17f80983afe4e444 as SelectionIndicator};\n//# sourceMappingURL=SelectionIndicator.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {CollectionRendererContext as $7135fc7d473fd974$export$4feb769f8ddf26c5, DefaultCollectionRenderer as $7135fc7d473fd974$export$a164736487e3f0ae, usePersistedKeys as $7135fc7d473fd974$export$90e00781bc59d8f9} from \"./Collection.mjs\";\nimport {SelectionIndicatorContext as $1d5b8b8664671ef2$export$c9549807523555e0} from \"./SelectionIndicator.mjs\";\nimport {SharedElementTransition as $c8a5a149f625efcf$export$758399f318e6385a} from \"./SharedElementTransition.mjs\";\nimport {useFocusRing as $7aSLZ$useFocusRing, mergeProps as $7aSLZ$mergeProps, useTabList as $7aSLZ$useTabList, useTab as $7aSLZ$useTab, useHover as $7aSLZ$useHover, useTabPanel as $7aSLZ$useTabPanel} from \"react-aria\";\nimport {CollectionBuilder as $7aSLZ$CollectionBuilder, Collection as $7aSLZ$Collection, CollectionNode as $7aSLZ$CollectionNode, createLeafComponent as $7aSLZ$createLeafComponent, createHideableComponent as $7aSLZ$createHideableComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $7aSLZ$filterDOMProps, useObjectRef as $7aSLZ$useObjectRef, useLayoutEffect as $7aSLZ$useLayoutEffect, useExitAnimation as $7aSLZ$useExitAnimation, useEnterAnimation as $7aSLZ$useEnterAnimation, inertValue as $7aSLZ$inertValue} from \"@react-aria/utils\";\nimport {useTabListState as $7aSLZ$useTabListState} from \"react-stately\";\nimport $7aSLZ$react, {createContext as $7aSLZ$createContext, forwardRef as $7aSLZ$forwardRef, useMemo as $7aSLZ$useMemo, useContext as $7aSLZ$useContext, useRef as $7aSLZ$useRef, useState as $7aSLZ$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $5e8ad37a45e1c704$export$cfa7aa87c26e7d1f = /*#__PURE__*/ (0, $7aSLZ$createContext)(null);\nconst $5e8ad37a45e1c704$export$364712098d2aa57c = /*#__PURE__*/ (0, $7aSLZ$createContext)(null);\nconst $5e8ad37a45e1c704$export$b2539bed5023c21c = /*#__PURE__*/ (0, $7aSLZ$forwardRef)(function Tabs(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $5e8ad37a45e1c704$export$cfa7aa87c26e7d1f);\n let { children: children, orientation: orientation = 'horizontal' } = props;\n children = (0, $7aSLZ$useMemo)(()=>typeof children === 'function' ? children({\n orientation: orientation,\n defaultChildren: null\n }) : children, [\n children,\n orientation\n ]);\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $7aSLZ$CollectionBuilder), {\n content: children\n }, (collection)=>/*#__PURE__*/ (0, $7aSLZ$react).createElement($5e8ad37a45e1c704$var$TabsInner, {\n props: props,\n collection: collection,\n tabsRef: ref\n }));\n});\nfunction $5e8ad37a45e1c704$var$TabsInner({ props: props, tabsRef: ref, collection: collection }) {\n let { orientation: orientation = 'horizontal' } = props;\n let state = (0, $7aSLZ$useTabListState)({\n ...props,\n collection: collection,\n children: undefined\n });\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $7aSLZ$useFocusRing)({\n within: true\n });\n let values = (0, $7aSLZ$useMemo)(()=>({\n orientation: orientation,\n isFocusWithin: isFocused,\n isFocusVisible: isFocusVisible\n }), [\n orientation,\n isFocused,\n isFocusVisible\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tabs',\n values: values\n });\n let DOMProps = (0, $7aSLZ$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement(\"div\", {\n ...(0, $7aSLZ$mergeProps)(DOMProps, renderProps, focusProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-orientation\": orientation,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": state.isDisabled || undefined\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $5e8ad37a45e1c704$export$cfa7aa87c26e7d1f,\n props\n ],\n [\n $5e8ad37a45e1c704$export$364712098d2aa57c,\n state\n ]\n ]\n }, renderProps.children));\n}\nconst $5e8ad37a45e1c704$export$e51a686c67fdaa2d = /*#__PURE__*/ (0, $7aSLZ$forwardRef)(function TabList(props, ref) {\n let state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n return state ? /*#__PURE__*/ (0, $7aSLZ$react).createElement($5e8ad37a45e1c704$var$TabListInner, {\n props: props,\n forwardedRef: ref\n }) : /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $7aSLZ$Collection), props);\n});\nfunction $5e8ad37a45e1c704$var$TabListInner({ props: props, forwardedRef: ref }) {\n let state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n let { CollectionRoot: CollectionRoot } = (0, $7aSLZ$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)($5e8ad37a45e1c704$export$cfa7aa87c26e7d1f);\n let objectRef = (0, $7aSLZ$useObjectRef)(ref);\n let { tabListProps: tabListProps } = (0, $7aSLZ$useTabList)({\n ...props,\n orientation: orientation,\n keyboardActivation: keyboardActivation\n }, state, objectRef);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n children: null,\n defaultClassName: 'react-aria-TabList',\n values: {\n orientation: orientation,\n state: state\n }\n });\n let DOMProps = (0, $7aSLZ$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement(\"div\", {\n ...(0, $7aSLZ$mergeProps)(DOMProps, renderProps, tabListProps),\n ref: objectRef,\n \"data-orientation\": orientation || undefined\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $c8a5a149f625efcf$export$758399f318e6385a), null, /*#__PURE__*/ (0, $7aSLZ$react).createElement(CollectionRoot, {\n collection: state.collection,\n persistedKeys: (0, $7135fc7d473fd974$export$90e00781bc59d8f9)(state.selectionManager.focusedKey)\n })));\n}\nclass $5e8ad37a45e1c704$var$TabItemNode extends (0, $7aSLZ$CollectionNode) {\n}\n$5e8ad37a45e1c704$var$TabItemNode.type = 'item';\nconst $5e8ad37a45e1c704$export$3e41faf802a29e71 = /*#__PURE__*/ (0, $7aSLZ$createLeafComponent)($5e8ad37a45e1c704$var$TabItemNode, (props, forwardedRef, item)=>{\n let state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n let ref = (0, $7aSLZ$useObjectRef)(forwardedRef);\n let { tabProps: tabProps, isSelected: isSelected, isDisabled: isDisabled, isPressed: isPressed } = (0, $7aSLZ$useTab)({\n key: item.key,\n ...props\n }, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $7aSLZ$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $7aSLZ$useHover)({\n isDisabled: isDisabled,\n onHoverStart: props.onHoverStart,\n onHoverEnd: props.onHoverEnd,\n onHoverChange: props.onHoverChange\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Tab',\n values: {\n isSelected: isSelected,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isPressed: isPressed,\n isHovered: isHovered\n }\n });\n let ElementType = item.props.href ? 'a' : 'div';\n let DOMProps = (0, $7aSLZ$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement(ElementType, {\n ...(0, $7aSLZ$mergeProps)(DOMProps, renderProps, tabProps, focusProps, hoverProps),\n ref: ref,\n \"data-selected\": isSelected || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $1d5b8b8664671ef2$export$c9549807523555e0).Provider, {\n value: {\n isSelected: isSelected\n }\n }, renderProps.children));\n});\nconst $5e8ad37a45e1c704$export$5dae8d435677f210 = /*#__PURE__*/ (0, $7aSLZ$createHideableComponent)(function TabPanels(props, forwardedRef) {\n let state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n let ref = (0, $7aSLZ$useObjectRef)(forwardedRef);\n let selectedKeyRef = (0, $7aSLZ$useRef)(state.selectedKey);\n let prevSize = (0, $7aSLZ$useRef)(null);\n let hasTransition = (0, $7aSLZ$useRef)(null);\n (0, $7aSLZ$useLayoutEffect)(()=>{\n let el = ref.current;\n if (!el) return;\n if (hasTransition.current == null) hasTransition.current = /width|height|all/.test(window.getComputedStyle(el).transition);\n if (hasTransition.current && selectedKeyRef.current != null && selectedKeyRef.current !== state.selectedKey) {\n // Measure auto size.\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n let { width: width, height: height } = el.getBoundingClientRect();\n if (prevSize.current && (prevSize.current.width !== width || prevSize.current.height !== height)) {\n // Revert to previous size.\n el.style.setProperty('--tab-panel-width', prevSize.current.width + 'px');\n el.style.setProperty('--tab-panel-height', prevSize.current.height + 'px');\n // Force style re-calculation to trigger animations.\n window.getComputedStyle(el).height;\n // Animate to current pixel size.\n el.style.setProperty('--tab-panel-width', width + 'px');\n el.style.setProperty('--tab-panel-height', height + 'px');\n // When animations complete, revert back to auto size.\n Promise.all(el.getAnimations().map((a)=>a.finished)).then(()=>{\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n }).catch(()=>{});\n }\n }\n selectedKeyRef.current = state.selectedKey;\n }, [\n ref,\n state.selectedKey\n ]);\n // Store previous size before DOM updates occur.\n // This breaks the rules of hooks because there is no effect that runs _before_ DOM updates.\n // eslint-disable-next-line rulesdir/pure-render\n if (state.selectedKey != null && state.selectedKey !== selectedKeyRef.current && ref.current && hasTransition.current) // eslint-disable-next-line rulesdir/pure-render\n prevSize.current = ref.current.getBoundingClientRect();\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement(\"div\", {\n ...props,\n ref: ref,\n className: props.className || 'react-aria-TabPanels'\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $7aSLZ$Collection), props));\n});\nconst $5e8ad37a45e1c704$export$3d96ec278d3efce4 = /*#__PURE__*/ (0, $7aSLZ$createHideableComponent)(function TabPanel(props, forwardedRef) {\n const state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n let ref = (0, $7aSLZ$useObjectRef)(forwardedRef);\n // Track if the tab panel was initially selected on mount (after extra render to populate the collection).\n // In this case, we don't want to trigger animations.\n let isSelected = state.selectedKey === props.id;\n let [isInitiallySelected, setInitiallySelected] = (0, $7aSLZ$useState)(state.selectedKey != null ? isSelected : null);\n if (isInitiallySelected == null && state.selectedKey != null) setInitiallySelected(isSelected);\n else if (!isSelected && isInitiallySelected) setInitiallySelected(false);\n let isExiting = (0, $7aSLZ$useExitAnimation)(ref, isSelected);\n if (!isSelected && !props.shouldForceMount && !isExiting) return null;\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement($5e8ad37a45e1c704$var$TabPanelInner, {\n ...props,\n tabPanelRef: ref,\n isInitiallySelected: isInitiallySelected || false,\n isExiting: isExiting\n });\n});\nfunction $5e8ad37a45e1c704$var$TabPanelInner(props) {\n let state = (0, $7aSLZ$useContext)($5e8ad37a45e1c704$export$364712098d2aa57c);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { id: id, tabPanelRef: ref, isInitiallySelected: isInitiallySelected, isExiting: isExiting, ...otherProps } = props;\n let { tabPanelProps: tabPanelProps } = (0, $7aSLZ$useTabPanel)(props, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $7aSLZ$useFocusRing)();\n let isSelected = state.selectedKey === props.id;\n let isEntering = (0, $7aSLZ$useEnterAnimation)(ref) && !isInitiallySelected;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-TabPanel',\n values: {\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n // @ts-ignore - compatibility with React < 19\n isInert: (0, $7aSLZ$inertValue)(!isSelected),\n isEntering: isEntering,\n isExiting: isExiting,\n state: state\n }\n });\n let DOMProps = (0, $7aSLZ$filterDOMProps)(otherProps, {\n global: true\n });\n delete DOMProps.id;\n let domProps = isSelected ? (0, $7aSLZ$mergeProps)(DOMProps, tabPanelProps, focusProps, renderProps) : (0, $7aSLZ$mergeProps)(DOMProps, renderProps);\n return /*#__PURE__*/ (0, $7aSLZ$react).createElement(\"div\", {\n ...domProps,\n ref: ref,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n // @ts-ignore\n inert: (0, $7aSLZ$inertValue)(!isSelected || props.inert),\n \"data-inert\": !isSelected ? 'true' : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": isExiting || undefined\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $5e8ad37a45e1c704$export$cfa7aa87c26e7d1f,\n null\n ],\n [\n $5e8ad37a45e1c704$export$364712098d2aa57c,\n null\n ]\n ]\n }, /*#__PURE__*/ (0, $7aSLZ$react).createElement((0, $7135fc7d473fd974$export$4feb769f8ddf26c5).Provider, {\n value: (0, $7135fc7d473fd974$export$a164736487e3f0ae)\n }, renderProps.children)));\n}\n\n\nexport {$5e8ad37a45e1c704$export$cfa7aa87c26e7d1f as TabsContext, $5e8ad37a45e1c704$export$364712098d2aa57c as TabListStateContext, $5e8ad37a45e1c704$export$b2539bed5023c21c as Tabs, $5e8ad37a45e1c704$export$e51a686c67fdaa2d as TabList, $5e8ad37a45e1c704$export$3e41faf802a29e71 as Tab, $5e8ad37a45e1c704$export$5dae8d435677f210 as TabPanels, $5e8ad37a45e1c704$export$3d96ec278d3efce4 as TabPanel};\n//# sourceMappingURL=Tabs.module.js.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n","\"use client\";\nimport { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n const ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","const isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n","\"use client\";\nimport { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = \n/* @__PURE__ */ createContext(null);\n\nexport { PresenceContext };\n","function addUniqueItem(arr, item) {\n if (arr.indexOf(item) === -1)\n arr.push(item);\n}\nfunction removeItem(arr, item) {\n const index = arr.indexOf(item);\n if (index > -1)\n arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n if (startIndex >= 0 && startIndex < arr.length) {\n const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n const [item] = arr.splice(fromIndex, 1);\n arr.splice(endIndex, 0, item);\n }\n return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n","const clamp = (min, max, v) => {\n if (v > max)\n return max;\n if (v < min)\n return min;\n return v;\n};\n\nexport { clamp };\n","function formatErrorMessage(message, errorCode) {\n return errorCode\n ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}`\n : message;\n}\n\nexport { formatErrorMessage };\n","import { formatErrorMessage } from './format-error-message.mjs';\n\nlet warning = () => { };\nlet invariant = () => { };\nif (process.env.NODE_ENV !== \"production\") {\n warning = (check, message, errorCode) => {\n if (!check && typeof console !== \"undefined\") {\n console.warn(formatErrorMessage(message, errorCode));\n }\n };\n invariant = (check, message, errorCode) => {\n if (!check) {\n throw new Error(formatErrorMessage(message, errorCode));\n }\n };\n}\n\nexport { invariant, warning };\n","const MotionGlobalConfig = {};\n\nexport { MotionGlobalConfig };\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(v);\n\nexport { isNumericalString };\n","function isObject(value) {\n return typeof value === \"object\" && value !== null;\n}\n\nexport { isObject };\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/u.test(v);\n\nexport { isZeroValueString };\n","/*#__NO_SIDE_EFFECTS__*/\nfunction memo(callback) {\n let result;\n return () => {\n if (result === undefined)\n result = callback();\n return result;\n };\n}\n\nexport { memo };\n","/*#__NO_SIDE_EFFECTS__*/\nconst noop = (any) => any;\n\nexport { noop };\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n","/*\n Progress within given range\n\n Given a lower limit and an upper limit, we return the progress\n (expressed as a number 0-1) represented by the given value, and\n limit that progress to within 0-1.\n\n @param [number]: Lower limit\n @param [number]: Upper limit\n @param [number]: Value to find progress within given range\n @return [number]: Progress of value within range as expressed 0-1\n*/\n/*#__NO_SIDE_EFFECTS__*/\nconst progress = (from, to, value) => {\n const toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n constructor() {\n this.subscriptions = [];\n }\n add(handler) {\n addUniqueItem(this.subscriptions, handler);\n return () => removeItem(this.subscriptions, handler);\n }\n notify(a, b, c) {\n const numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (let i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n const handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n }\n getSize() {\n return this.subscriptions.length;\n }\n clear() {\n this.subscriptions.length = 0;\n }\n}\n\nexport { SubscriptionManager };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\n/*#__NO_SIDE_EFFECTS__*/\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\n/*#__NO_SIDE_EFFECTS__*/\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n","/*\n Convert velocity into velocity per second\n\n @param [number]: Unit per frame\n @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","import { formatErrorMessage } from './format-error-message.mjs';\n\nconst warned = new Set();\nfunction hasWarned(message) {\n return warned.has(message);\n}\nfunction warnOnce(condition, message, errorCode) {\n if (condition || warned.has(message))\n return;\n console.warn(formatErrorMessage(message, errorCode));\n warned.add(message);\n}\n\nexport { hasWarned, warnOnce };\n","import { noop } from '../noop.mjs';\n\n/*\n Bezier function generator\n This has been modified from Gaëtan Renaudeau's BezierEasing\n https://github.com/gre/bezier-easing/blob/master/src/index.js\n https://github.com/gre/bezier-easing/blob/master/LICENSE\n \n I've removed the newtonRaphsonIterate algo because in benchmarking it\n wasn't noticeably faster than binarySubdivision, indeed removing it\n usually improved times, depending on the curve.\n I also removed the lookup table, as for the added bundle size and loop we're\n only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n to 12 to compensate and this still tended to be faster for no perceivable\n loss in accuracy.\n Usage\n const easeOut = cubicBezier(.17,.67,.83,.67);\n const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - x;\n if (currentX > 0.0) {\n upperBound = currentT;\n }\n else {\n lowerBound = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n // If this is a linear gradient, return linear easing\n if (mX1 === mY1 && mX2 === mY2)\n return noop;\n const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n // If animation is at start/end, return t without easing\n return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = /*@__PURE__*/ cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = /*@__PURE__*/ reverseEasing(backOut);\nconst backInOut = /*@__PURE__*/ mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1);\nconst easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n","const isEasingArray = (ease) => {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n","import { invariant } from '../../errors.mjs';\nimport { noop } from '../../noop.mjs';\nimport { anticipate } from '../anticipate.mjs';\nimport { backIn, backInOut, backOut } from '../back.mjs';\nimport { circIn, circInOut, circOut } from '../circ.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { easeIn, easeInOut, easeOut } from '../ease.mjs';\nimport { isBezierDefinition } from './is-bezier-definition.mjs';\n\nconst easingLookup = {\n linear: noop,\n easeIn,\n easeInOut,\n easeOut,\n circIn,\n circInOut,\n circOut,\n backIn,\n backInOut,\n backOut,\n anticipate,\n};\nconst isValidEasing = (easing) => {\n return typeof easing === \"string\";\n};\nconst easingDefinitionToFunction = (definition) => {\n if (isBezierDefinition(definition)) {\n // If cubic bezier definition, create bezier curve\n invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, \"cubic-bezier-length\");\n const [x1, y1, x2, y2] = definition;\n return cubicBezier(x1, y1, x2, y2);\n }\n else if (isValidEasing(definition)) {\n // Else lookup from table\n invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, \"invalid-easing-type\");\n return easingLookup[definition];\n }\n return definition;\n};\n\nexport { easingDefinitionToFunction };\n","const stepsOrder = [\n \"setup\", // Compute\n \"read\", // Read\n \"resolveKeyframes\", // Write/Read/Write/Read\n \"preUpdate\", // Compute\n \"update\", // Compute\n \"preRender\", // Compute\n \"render\", // Write\n \"postRender\", // Compute\n];\n\nexport { stepsOrder };\n","import { statsBuffer } from '../stats/buffer.mjs';\n\nfunction createRenderStep(runNextFrame, stepName) {\n /**\n * We create and reuse two queues, one to queue jobs for the current frame\n * and one for the next. We reuse to avoid triggering GC after x frames.\n */\n let thisFrame = new Set();\n let nextFrame = new Set();\n /**\n * Track whether we're currently processing jobs in this step. This way\n * we can decide whether to schedule new jobs for this frame or next.\n */\n let isProcessing = false;\n let flushNextFrame = false;\n /**\n * A set of processes which were marked keepAlive when scheduled.\n */\n const toKeepAlive = new WeakSet();\n let latestFrameData = {\n delta: 0.0,\n timestamp: 0.0,\n isProcessing: false,\n };\n let numCalls = 0;\n function triggerCallback(callback) {\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n numCalls++;\n callback(latestFrameData);\n }\n const step = {\n /**\n * Schedule a process to run on the next frame.\n */\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const queue = addToCurrentFrame ? thisFrame : nextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (!queue.has(callback))\n queue.add(callback);\n return callback;\n },\n /**\n * Cancel the provided callback from running on the next frame.\n */\n cancel: (callback) => {\n nextFrame.delete(callback);\n toKeepAlive.delete(callback);\n },\n /**\n * Execute all schedule callbacks.\n */\n process: (frameData) => {\n latestFrameData = frameData;\n /**\n * If we're already processing we've probably been triggered by a flushSync\n * inside an existing process. Instead of executing, mark flushNextFrame\n * as true and ensure we flush the following frame at the end of this one.\n */\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n [thisFrame, nextFrame] = [nextFrame, thisFrame];\n // Execute this frame\n thisFrame.forEach(triggerCallback);\n /**\n * If we're recording stats then\n */\n if (stepName && statsBuffer.value) {\n statsBuffer.value.frameloop[stepName].push(numCalls);\n }\n numCalls = 0;\n // Clear the frame so no callbacks remain. This is to avoid\n // memory leaks should this render step not run for a while.\n thisFrame.clear();\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { stepsOrder } from './order.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n let runNextFrame = false;\n let useDefaultElapsed = true;\n const state = {\n delta: 0.0,\n timestamp: 0.0,\n isProcessing: false,\n };\n const flagRunNextFrame = () => (runNextFrame = true);\n const steps = stepsOrder.reduce((acc, key) => {\n acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);\n return acc;\n }, {});\n const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;\n const processBatch = () => {\n const timestamp = MotionGlobalConfig.useManualTiming\n ? state.timestamp\n : performance.now();\n runNextFrame = false;\n if (!MotionGlobalConfig.useManualTiming) {\n state.delta = useDefaultElapsed\n ? 1000 / 60\n : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n }\n state.timestamp = timestamp;\n state.isProcessing = true;\n // Unrolled render loop for better per-frame performance\n setup.process(state);\n read.process(state);\n resolveKeyframes.process(state);\n preUpdate.process(state);\n update.process(state);\n preRender.process(state);\n render.process(state);\n postRender.process(state);\n state.isProcessing = false;\n if (runNextFrame && allowKeepAlive) {\n useDefaultElapsed = false;\n scheduleNextBatch(processBatch);\n }\n };\n const wake = () => {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!state.isProcessing) {\n scheduleNextBatch(processBatch);\n }\n };\n const schedule = stepsOrder.reduce((acc, key) => {\n const step = steps[key];\n acc[key] = (process, keepAlive = false, immediate = false) => {\n if (!runNextFrame)\n wake();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n }, {});\n const cancel = (process) => {\n for (let i = 0; i < stepsOrder.length; i++) {\n steps[stepsOrder[i]].cancel(process);\n }\n };\n return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher };\n","import { noop } from 'motion-utils';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, frameSteps };\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n now: () => {\n if (now === undefined) {\n time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n ? frameData.timestamp\n : performance.now());\n }\n return now;\n },\n set: (newTime) => {\n now = newTime;\n queueMicrotask(clearTime);\n },\n};\n\nexport { time };\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = \n/*@__PURE__*/ checkStringStartsWith(\"--\");\nconst startsAsVariableToken = \n/*@__PURE__*/ checkStringStartsWith(\"var(--\");\nconst isCSSVariableToken = (value) => {\n const startsWithToken = startsAsVariableToken(value);\n if (!startsWithToken)\n return false;\n // Ensure any comments are stripped from the value as this can harm performance of the regex.\n return singleCssVariableRegex.test(value.split(\"/*\")[0].trim());\n};\nconst singleCssVariableRegex = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\n\nexport { isCSSVariableName, isCSSVariableToken };\n","import { clamp } from 'motion-utils';\n\nconst number = {\n test: (v) => typeof v === \"number\",\n parse: parseFloat,\n transform: (v) => v,\n};\nconst alpha = {\n ...number,\n transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n ...number,\n default: 1,\n};\n\nexport { alpha, number, scale };\n","// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\n\nexport { sanitize };\n","const floatRegex = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\n\nexport { floatRegex };\n","function isNullish(v) {\n return v == null;\n}\n\nexport { isNullish };\n","const singleColorRegex = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;\n\nexport { singleColorRegex };\n","import { floatRegex } from '../utils/float-regex.mjs';\nimport { isNullish } from '../utils/is-nullish.mjs';\nimport { singleColorRegex } from '../utils/single-color-regex.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n return Boolean((typeof v === \"string\" &&\n singleColorRegex.test(v) &&\n v.startsWith(type)) ||\n (testProp &&\n !isNullish(v) &&\n Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n if (typeof v !== \"string\")\n return v;\n const [a, b, c, alpha] = v.match(floatRegex);\n return {\n [aName]: parseFloat(a),\n [bName]: parseFloat(b),\n [cName]: parseFloat(c),\n alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n };\n};\n\nexport { isColorString, splitColor };\n","import { clamp } from 'motion-utils';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n ...number,\n transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n test: /*@__PURE__*/ isColorString(\"rgb\", \"red\"),\n parse: /*@__PURE__*/ splitColor(\"red\", \"green\", \"blue\"),\n transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n rgbUnit.transform(red) +\n \", \" +\n rgbUnit.transform(green) +\n \", \" +\n rgbUnit.transform(blue) +\n \", \" +\n sanitize(alpha.transform(alpha$1)) +\n \")\",\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n let r = \"\";\n let g = \"\";\n let b = \"\";\n let a = \"\";\n // If we have 6 characters, ie #FF0000\n if (v.length > 5) {\n r = v.substring(1, 3);\n g = v.substring(3, 5);\n b = v.substring(5, 7);\n a = v.substring(7, 9);\n // Or we have 3 characters, ie #F00\n }\n else {\n r = v.substring(1, 2);\n g = v.substring(2, 3);\n b = v.substring(3, 4);\n a = v.substring(4, 5);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nconst hex = {\n test: /*@__PURE__*/ isColorString(\"#\"),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","/*#__NO_SIDE_EFFECTS__*/\nconst createUnitType = (unit) => ({\n test: (v) => typeof v === \"string\" && v.endsWith(unit) && v.split(\" \").length === 1,\n parse: parseFloat,\n transform: (v) => `${v}${unit}`,\n});\nconst degrees = /*@__PURE__*/ createUnitType(\"deg\");\nconst percent = /*@__PURE__*/ createUnitType(\"%\");\nconst px = /*@__PURE__*/ createUnitType(\"px\");\nconst vh = /*@__PURE__*/ createUnitType(\"vh\");\nconst vw = /*@__PURE__*/ createUnitType(\"vw\");\nconst progressPercentage = /*@__PURE__*/ (() => ({\n ...percent,\n parse: (v) => percent.parse(v) / 100,\n transform: (v) => percent.transform(v * 100),\n}))();\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst hsla = {\n test: /*@__PURE__*/ isColorString(\"hsl\", \"hue\"),\n parse: /*@__PURE__*/ splitColor(\"hue\", \"saturation\", \"lightness\"),\n transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n return (\"hsla(\" +\n Math.round(hue) +\n \", \" +\n percent.transform(sanitize(saturation)) +\n \", \" +\n percent.transform(sanitize(lightness)) +\n \", \" +\n sanitize(alpha.transform(alpha$1)) +\n \")\");\n },\n};\n\nexport { hsla };\n","import { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n parse: (v) => {\n if (rgba.test(v)) {\n return rgba.parse(v);\n }\n else if (hsla.test(v)) {\n return hsla.parse(v);\n }\n else {\n return hex.parse(v);\n }\n },\n transform: (v) => {\n return typeof v === \"string\"\n ? v\n : v.hasOwnProperty(\"red\")\n ? rgba.transform(v)\n : hsla.transform(v);\n },\n getAnimatableNone: (v) => {\n const parsed = color.parse(v);\n parsed.alpha = 0;\n return color.transform(parsed);\n },\n};\n\nexport { color };\n","const colorRegex = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\n\nexport { colorRegex };\n","import { color } from '../color/index.mjs';\nimport { colorRegex } from '../utils/color-regex.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\n\nfunction test(v) {\n return (isNaN(v) &&\n typeof v === \"string\" &&\n (v.match(floatRegex)?.length || 0) +\n (v.match(colorRegex)?.length || 0) >\n 0);\n}\nconst NUMBER_TOKEN = \"number\";\nconst COLOR_TOKEN = \"color\";\nconst VAR_TOKEN = \"var\";\nconst VAR_FUNCTION_TOKEN = \"var(\";\nconst SPLIT_TOKEN = \"${}\";\n// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`\nconst complexRegex = /var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;\nfunction analyseComplexValue(value) {\n const originalValue = value.toString();\n const values = [];\n const indexes = {\n color: [],\n number: [],\n var: [],\n };\n const types = [];\n let i = 0;\n const tokenised = originalValue.replace(complexRegex, (parsedValue) => {\n if (color.test(parsedValue)) {\n indexes.color.push(i);\n types.push(COLOR_TOKEN);\n values.push(color.parse(parsedValue));\n }\n else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) {\n indexes.var.push(i);\n types.push(VAR_TOKEN);\n values.push(parsedValue);\n }\n else {\n indexes.number.push(i);\n types.push(NUMBER_TOKEN);\n values.push(parseFloat(parsedValue));\n }\n ++i;\n return SPLIT_TOKEN;\n });\n const split = tokenised.split(SPLIT_TOKEN);\n return { values, split, indexes, types };\n}\nfunction parseComplexValue(v) {\n return analyseComplexValue(v).values;\n}\nfunction createTransformer(source) {\n const { split, types } = analyseComplexValue(source);\n const numSections = split.length;\n return (v) => {\n let output = \"\";\n for (let i = 0; i < numSections; i++) {\n output += split[i];\n if (v[i] !== undefined) {\n const type = types[i];\n if (type === NUMBER_TOKEN) {\n output += sanitize(v[i]);\n }\n else if (type === COLOR_TOKEN) {\n output += color.transform(v[i]);\n }\n else {\n output += v[i];\n }\n }\n }\n return output;\n };\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : color.test(v) ? color.getAnimatableNone(v) : v;\nfunction getAnimatableNone(v) {\n const parsed = parseComplexValue(v);\n const transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nconst complex = {\n test,\n parse: parseComplexValue,\n createTransformer,\n getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n hue /= 360;\n saturation /= 100;\n lightness /= 100;\n let red = 0;\n let green = 0;\n let blue = 0;\n if (!saturation) {\n red = green = blue = lightness;\n }\n else {\n const q = lightness < 0.5\n ? lightness * (1 + saturation)\n : lightness + saturation - lightness * saturation;\n const p = 2 * lightness - q;\n red = hueToRgb(p, q, hue + 1 / 3);\n green = hueToRgb(p, q, hue);\n blue = hueToRgb(p, q, hue - 1 / 3);\n }\n return {\n red: Math.round(red * 255),\n green: Math.round(green * 255),\n blue: Math.round(blue * 255),\n alpha,\n };\n}\n\nexport { hslaToRgba };\n","function mixImmediate(a, b) {\n return (p) => (p > 0 ? b : a);\n}\n\nexport { mixImmediate };\n","/*\n Value in range from progress\n\n Given a lower limit and an upper limit, we return the value within\n that range as expressed by progress (usually a number from 0 to 1)\n\n So progress = 0.5 would change\n\n from -------- to\n\n to\n\n from ---- to\n\n E.g. from = 10, to = 20, progress = 0.5 => 15\n\n @param [number]: Lower limit of range\n @param [number]: Upper limit of range\n @param [number]: The progress between lower and upper limits expressed 0-1\n @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mixNumber = (from, to, progress) => {\n return from + (to - from) * progress;\n};\n\nexport { mixNumber };\n","import { warning } from 'motion-utils';\nimport { hex } from '../../value/types/color/hex.mjs';\nimport { hsla } from '../../value/types/color/hsla.mjs';\nimport { hslaToRgba } from '../../value/types/color/hsla-to-rgba.mjs';\nimport { rgba } from '../../value/types/color/rgba.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber } from './number.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n const fromExpo = from * from;\n const expo = v * (to * to - fromExpo) + fromExpo;\n return expo < 0 ? 0 : Math.sqrt(expo);\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n const type = getColorType(color);\n warning(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`, \"color-not-animatable\");\n if (!Boolean(type))\n return false;\n let model = type.parse(color);\n if (type === hsla) {\n // TODO Remove this cast - needed since Motion's stricter typing\n model = hslaToRgba(model);\n }\n return model;\n}\nconst mixColor = (from, to) => {\n const fromRGBA = asRGBA(from);\n const toRGBA = asRGBA(to);\n if (!fromRGBA || !toRGBA) {\n return mixImmediate(from, to);\n }\n const blended = { ...fromRGBA };\n return (v) => {\n blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v);\n return rgba.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","const invisibleValues = new Set([\"none\", \"hidden\"]);\n/**\n * Returns a function that, when provided a progress value between 0 and 1,\n * will return the \"none\" or \"hidden\" string only when the progress is that of\n * the origin or target.\n */\nfunction mixVisibility(origin, target) {\n if (invisibleValues.has(origin)) {\n return (p) => (p <= 0 ? origin : target);\n }\n else {\n return (p) => (p >= 1 ? target : origin);\n }\n}\n\nexport { invisibleValues, mixVisibility };\n","import { pipe, warning } from 'motion-utils';\nimport { isCSSVariableToken } from '../../animation/utils/is-css-variable.mjs';\nimport { color } from '../../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../../value/types/complex/index.mjs';\nimport { mixColor } from './color.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber as mixNumber$1 } from './number.mjs';\nimport { invisibleValues, mixVisibility } from './visibility.mjs';\n\nfunction mixNumber(a, b) {\n return (p) => mixNumber$1(a, b, p);\n}\nfunction getMixer(a) {\n if (typeof a === \"number\") {\n return mixNumber;\n }\n else if (typeof a === \"string\") {\n return isCSSVariableToken(a)\n ? mixImmediate\n : color.test(a)\n ? mixColor\n : mixComplex;\n }\n else if (Array.isArray(a)) {\n return mixArray;\n }\n else if (typeof a === \"object\") {\n return color.test(a) ? mixColor : mixObject;\n }\n return mixImmediate;\n}\nfunction mixArray(a, b) {\n const output = [...a];\n const numValues = output.length;\n const blendValue = a.map((v, i) => getMixer(v)(v, b[i]));\n return (p) => {\n for (let i = 0; i < numValues; i++) {\n output[i] = blendValue[i](p);\n }\n return output;\n };\n}\nfunction mixObject(a, b) {\n const output = { ...a, ...b };\n const blendValue = {};\n for (const key in output) {\n if (a[key] !== undefined && b[key] !== undefined) {\n blendValue[key] = getMixer(a[key])(a[key], b[key]);\n }\n }\n return (v) => {\n for (const key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n}\nfunction matchOrder(origin, target) {\n const orderedOrigin = [];\n const pointers = { color: 0, var: 0, number: 0 };\n for (let i = 0; i < target.values.length; i++) {\n const type = target.types[i];\n const originIndex = origin.indexes[type][pointers[type]];\n const originValue = origin.values[originIndex] ?? 0;\n orderedOrigin[i] = originValue;\n pointers[type]++;\n }\n return orderedOrigin;\n}\nconst mixComplex = (origin, target) => {\n const template = complex.createTransformer(target);\n const originStats = analyseComplexValue(origin);\n const targetStats = analyseComplexValue(target);\n const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length &&\n originStats.indexes.color.length === targetStats.indexes.color.length &&\n originStats.indexes.number.length >= targetStats.indexes.number.length;\n if (canInterpolate) {\n if ((invisibleValues.has(origin) &&\n !targetStats.values.length) ||\n (invisibleValues.has(target) &&\n !originStats.values.length)) {\n return mixVisibility(origin, target);\n }\n return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template);\n }\n else {\n warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, \"complex-values-different\");\n return mixImmediate(origin, target);\n }\n};\n\nexport { getMixer, mixArray, mixComplex, mixObject };\n","import { getMixer } from './complex.mjs';\nimport { mixNumber } from './number.mjs';\n\nfunction mix(from, to, p) {\n if (typeof from === \"number\" &&\n typeof to === \"number\" &&\n typeof p === \"number\") {\n return mixNumber(from, to, p);\n }\n const mixer = getMixer(from);\n return mixer(from, to);\n}\n\nexport { mix };\n","import { time } from '../../frameloop/sync-time.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n const passTimestamp = ({ timestamp }) => update(timestamp);\n return {\n start: (keepAlive = true) => frame.update(passTimestamp, keepAlive),\n stop: () => cancelFrame(passTimestamp),\n /**\n * If we're processing this frame we can use the\n * framelocked timestamp to keep things in sync.\n */\n now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n };\n};\n\nexport { frameloopDriver };\n","const generateLinearEasing = (easing, duration, // as milliseconds\nresolution = 10 // as milliseconds\n) => {\n let points = \"\";\n const numPoints = Math.max(Math.round(duration / resolution), 2);\n for (let i = 0; i < numPoints; i++) {\n points += Math.round(easing(i / (numPoints - 1)) * 10000) / 10000 + \", \";\n }\n return `linear(${points.substring(0, points.length - 2)})`;\n};\n\nexport { generateLinearEasing };\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n let duration = 0;\n const timeStep = 50;\n let state = generator.next(duration);\n while (!state.done && duration < maxGeneratorDuration) {\n duration += timeStep;\n state = generator.next(duration);\n }\n return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n","import { millisecondsToSeconds } from 'motion-utils';\nimport { calcGeneratorDuration, maxGeneratorDuration } from './calc-duration.mjs';\n\n/**\n * Create a progress => progress easing function from a generator.\n */\nfunction createGeneratorEasing(options, scale = 100, createGenerator) {\n const generator = createGenerator({ ...options, keyframes: [0, scale] });\n const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n return {\n type: \"keyframes\",\n ease: (progress) => {\n return generator.next(duration * progress).value / scale;\n },\n duration: millisecondsToSeconds(duration),\n };\n}\n\nexport { createGeneratorEasing };\n","import { velocityPerSecond } from 'motion-utils';\n\nconst velocitySampleDuration = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n const prevT = Math.max(t - velocitySampleDuration, 0);\n return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { calcGeneratorVelocity };\n","const springDefaults = {\n // Default spring physics\n stiffness: 100,\n damping: 10,\n mass: 1.0,\n velocity: 0.0,\n // Default duration/bounce-based options\n duration: 800, // in ms\n bounce: 0.3,\n visualDuration: 0.3, // in seconds\n // Rest thresholds\n restSpeed: {\n granular: 0.01,\n default: 2,\n },\n restDelta: {\n granular: 0.005,\n default: 0.5,\n },\n // Limits\n minDuration: 0.01, // in seconds\n maxDuration: 10.0, // in seconds\n minDamping: 0.05,\n maxDamping: 1,\n};\n\nexport { springDefaults };\n","import { warning, secondsToMilliseconds, clamp, millisecondsToSeconds } from 'motion-utils';\nimport { springDefaults } from './defaults.mjs';\n\nconst safeMin = 0.001;\nfunction findSpring({ duration = springDefaults.duration, bounce = springDefaults.bounce, velocity = springDefaults.velocity, mass = springDefaults.mass, }) {\n let envelope;\n let derivative;\n warning(duration <= secondsToMilliseconds(springDefaults.maxDuration), \"Spring duration must be 10 seconds or less\", \"spring-duration-limit\");\n let dampingRatio = 1 - bounce;\n /**\n * Restrict dampingRatio and duration to within acceptable ranges.\n */\n dampingRatio = clamp(springDefaults.minDamping, springDefaults.maxDamping, dampingRatio);\n duration = clamp(springDefaults.minDuration, springDefaults.maxDuration, millisecondsToSeconds(duration));\n if (dampingRatio < 1) {\n /**\n * Underdamped spring\n */\n envelope = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const a = exponentialDecay - velocity;\n const b = calcAngularFreq(undampedFreq, dampingRatio);\n const c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = (undampedFreq) => {\n const exponentialDecay = undampedFreq * dampingRatio;\n const delta = exponentialDecay * duration;\n const d = delta * velocity + velocity;\n const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n const f = Math.exp(-delta);\n const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n /**\n * Critically-damped spring\n */\n envelope = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = (undampedFreq) => {\n const a = Math.exp(-undampedFreq * duration);\n const b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n const initialGuess = 5 / duration;\n const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = secondsToMilliseconds(duration);\n if (isNaN(undampedFreq)) {\n return {\n stiffness: springDefaults.stiffness,\n damping: springDefaults.damping,\n duration,\n };\n }\n else {\n const stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration,\n };\n }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n let result = initialGuess;\n for (let i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring };\n","import { millisecondsToSeconds, secondsToMilliseconds, clamp } from 'motion-utils';\nimport { generateLinearEasing } from '../../waapi/utils/linear.mjs';\nimport { calcGeneratorDuration, maxGeneratorDuration } from '../utils/calc-duration.mjs';\nimport { createGeneratorEasing } from '../utils/create-generator-easing.mjs';\nimport { calcGeneratorVelocity } from '../utils/velocity.mjs';\nimport { springDefaults } from './defaults.mjs';\nimport { findSpring, calcAngularFreq } from './find.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n let springOptions = {\n velocity: springDefaults.velocity,\n stiffness: springDefaults.stiffness,\n damping: springDefaults.damping,\n mass: springDefaults.mass,\n isResolvedFromDuration: false,\n ...options,\n };\n // stiffness/damping/mass overrides duration/bounce\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n if (options.visualDuration) {\n const visualDuration = options.visualDuration;\n const root = (2 * Math.PI) / (visualDuration * 1.2);\n const stiffness = root * root;\n const damping = 2 *\n clamp(0.05, 1, 1 - (options.bounce || 0)) *\n Math.sqrt(stiffness);\n springOptions = {\n ...springOptions,\n mass: springDefaults.mass,\n stiffness,\n damping,\n };\n }\n else {\n const derived = findSpring(options);\n springOptions = {\n ...springOptions,\n ...derived,\n mass: springDefaults.mass,\n };\n springOptions.isResolvedFromDuration = true;\n }\n }\n return springOptions;\n}\nfunction spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) {\n const options = typeof optionsOrVisualDuration !== \"object\"\n ? {\n visualDuration: optionsOrVisualDuration,\n keyframes: [0, 1],\n bounce,\n }\n : optionsOrVisualDuration;\n let { restSpeed, restDelta } = options;\n const origin = options.keyframes[0];\n const target = options.keyframes[options.keyframes.length - 1];\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = { done: false, value: origin };\n const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n ...options,\n velocity: -millisecondsToSeconds(options.velocity || 0),\n });\n const initialVelocity = velocity || 0.0;\n const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n const initialDelta = target - origin;\n const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n /**\n * If we're working on a granular scale, use smaller defaults for determining\n * when the spring is finished.\n *\n * These defaults have been selected emprically based on what strikes a good\n * ratio between feeling good and finishing as soon as changes are imperceptible.\n */\n const isGranularScale = Math.abs(initialDelta) < 5;\n restSpeed || (restSpeed = isGranularScale\n ? springDefaults.restSpeed.granular\n : springDefaults.restSpeed.default);\n restDelta || (restDelta = isGranularScale\n ? springDefaults.restDelta.granular\n : springDefaults.restDelta.default);\n let resolveSpring;\n if (dampingRatio < 1) {\n const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n // Underdamped spring\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (target -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq) *\n Math.sin(angularFreq * t) +\n initialDelta * Math.cos(angularFreq * t)));\n };\n }\n else if (dampingRatio === 1) {\n // Critically damped spring\n resolveSpring = (t) => target -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) * t);\n }\n else {\n // Overdamped spring\n const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = (t) => {\n const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n // When performing sinh or cosh values can hit Infinity so we cap them here\n const freqForT = Math.min(dampedAngularFreq * t, 300);\n return (target -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq);\n };\n }\n const generator = {\n calculatedDuration: isResolvedFromDuration ? duration || null : null,\n next: (t) => {\n const current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n let currentVelocity = t === 0 ? initialVelocity : 0.0;\n /**\n * We only need to calculate velocity for under-damped springs\n * as over- and critically-damped springs can't overshoot, so\n * checking only for displacement is enough.\n */\n if (dampingRatio < 1) {\n currentVelocity =\n t === 0\n ? secondsToMilliseconds(initialVelocity)\n : calcGeneratorVelocity(resolveSpring, t, current);\n }\n const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? target : current;\n return state;\n },\n toString: () => {\n const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n const easing = generateLinearEasing((progress) => generator.next(calculatedDuration * progress).value, calculatedDuration, 30);\n return calculatedDuration + \"ms \" + easing;\n },\n toTransition: () => { },\n };\n return generator;\n}\nspring.applyToOptions = (options) => {\n const generatorOptions = createGeneratorEasing(options, 100, spring);\n options.ease = generatorOptions.ease;\n options.duration = secondsToMilliseconds(generatorOptions.duration);\n options.type = \"keyframes\";\n return options;\n};\n\nexport { spring };\n","import { spring } from './spring/index.mjs';\nimport { calcGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n const origin = keyframes[0];\n const state = {\n done: false,\n value: origin,\n };\n const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n const nearestBoundary = (v) => {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n };\n let amplitude = power * velocity;\n const ideal = origin + amplitude;\n const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n /**\n * If the target has changed we need to re-calculate the amplitude, otherwise\n * the animation will start from the wrong position.\n */\n if (target !== ideal)\n amplitude = target - origin;\n const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n const calcLatest = (t) => target + calcDelta(t);\n const applyFriction = (t) => {\n const delta = calcDelta(t);\n const latest = calcLatest(t);\n state.done = Math.abs(delta) <= restDelta;\n state.value = state.done ? target : latest;\n };\n /**\n * Ideally this would resolve for t in a stateless way, we could\n * do that by always precalculating the animation but as we know\n * this will be done anyway we can assume that spring will\n * be discovered during that.\n */\n let timeReachedBoundary;\n let spring$1;\n const checkCatchBoundary = (t) => {\n if (!isOutOfBounds(state.value))\n return;\n timeReachedBoundary = t;\n spring$1 = spring({\n keyframes: [state.value, nearestBoundary(state.value)],\n velocity: calcGeneratorVelocity(calcLatest, t, state.value), // TODO: This should be passing * 1000\n damping: bounceDamping,\n stiffness: bounceStiffness,\n restDelta,\n restSpeed,\n });\n };\n checkCatchBoundary(0);\n return {\n calculatedDuration: null,\n next: (t) => {\n /**\n * We need to resolve the friction to figure out if we need a\n * spring but we don't want to do this twice per frame. So here\n * we flag if we updated for this frame and later if we did\n * we can skip doing it again.\n */\n let hasUpdatedFrame = false;\n if (!spring$1 && timeReachedBoundary === undefined) {\n hasUpdatedFrame = true;\n applyFriction(t);\n checkCatchBoundary(t);\n }\n /**\n * If we have a spring and the provided t is beyond the moment the friction\n * animation crossed the min/max boundary, use the spring.\n */\n if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) {\n return spring$1.next(t - timeReachedBoundary);\n }\n else {\n !hasUpdatedFrame && applyFriction(t);\n return state;\n }\n },\n };\n}\n\nexport { inertia };\n","import { invariant, clamp, MotionGlobalConfig, noop, pipe, progress } from 'motion-utils';\nimport { mix } from './mix/index.mjs';\n\nfunction createMixers(output, ease, customMixer) {\n const mixers = [];\n const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;\n const numMixers = output.length - 1;\n for (let i = 0; i < numMixers; i++) {\n let mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n * - Numbers\n * - Colors (hex, hsl, hsla, rgb, rgba)\n * - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revisit this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n const inputLength = input.length;\n invariant(inputLength === output.length, \"Both input and output ranges must be the same length\", \"range-length\");\n /**\n * If we're only provided a single input, we can just make a function\n * that returns the output.\n */\n if (inputLength === 1)\n return () => output[0];\n if (inputLength === 2 && output[0] === output[1])\n return () => output[1];\n const isZeroDeltaRange = input[0] === input[1];\n // If input runs highest -> lowest, reverse both arrays\n if (input[0] > input[inputLength - 1]) {\n input = [...input].reverse();\n output = [...output].reverse();\n }\n const mixers = createMixers(output, ease, mixer);\n const numMixers = mixers.length;\n const interpolator = (v) => {\n if (isZeroDeltaRange && v < input[0])\n return output[0];\n let i = 0;\n if (numMixers > 1) {\n for (; i < input.length - 2; i++) {\n if (v < input[i + 1])\n break;\n }\n }\n const progressInRange = progress(input[i], input[i + 1], v);\n return mixers[i](progressInRange);\n };\n return isClamp\n ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n : interpolator;\n}\n\nexport { interpolate };\n","import { progress } from 'motion-utils';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\nfunction fillOffset(offset, remaining) {\n const min = offset[offset.length - 1];\n for (let i = 1; i <= remaining; i++) {\n const offsetProgress = progress(0, remaining, i);\n offset.push(mixNumber(min, 1, offsetProgress));\n }\n}\n\nexport { fillOffset };\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n const offset = [0];\n fillOffset(offset, arr.length - 1);\n return offset;\n}\n\nexport { defaultOffset };\n","function convertOffsetToTimes(offset, duration) {\n return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n","import { easeInOut, isEasingArray, easingDefinitionToFunction } from 'motion-utils';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../keyframes/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../keyframes/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n /**\n * Easing functions can be externally defined as strings. Here we convert them\n * into actual functions.\n */\n const easingFunctions = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n /**\n * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n * to reduce GC during animation.\n */\n const state = {\n done: false,\n value: keyframeValues[0],\n };\n /**\n * Create a times array based on the provided 0-1 offsets\n */\n const absoluteTimes = convertOffsetToTimes(\n // Only use the provided offsets if they're the correct length\n // TODO Maybe we should warn here if there's a length mismatch\n times && times.length === keyframeValues.length\n ? times\n : defaultOffset(keyframeValues), duration);\n const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n ease: Array.isArray(easingFunctions)\n ? easingFunctions\n : defaultEasing(keyframeValues, easingFunctions),\n });\n return {\n calculatedDuration: duration,\n next: (t) => {\n state.value = mapTimeToKeyframe(t);\n state.done = t >= duration;\n return state;\n },\n };\n}\n\nexport { defaultEasing, keyframes };\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe, speed = 1) {\n const resolvedKeyframes = keyframes.filter(isNotNull);\n const useFirstKeyframe = speed < 0 || (repeat && repeatType !== \"loop\" && repeat % 2 === 1);\n const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1;\n return !index || finalKeyframe === undefined\n ? resolvedKeyframes[index]\n : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n","import { inertia } from '../generators/inertia.mjs';\nimport { keyframes } from '../generators/keyframes.mjs';\nimport { spring } from '../generators/spring/index.mjs';\n\nconst transitionTypeMap = {\n decay: inertia,\n inertia,\n tween: keyframes,\n keyframes: keyframes,\n spring,\n};\nfunction replaceTransitionType(transition) {\n if (typeof transition.type === \"string\") {\n transition.type = transitionTypeMap[transition.type];\n }\n}\n\nexport { replaceTransitionType };\n","class WithPromise {\n constructor() {\n this.updateFinished();\n }\n get finished() {\n return this._finished;\n }\n updateFinished() {\n this._finished = new Promise((resolve) => {\n this.resolve = resolve;\n });\n }\n notifyFinished() {\n this.resolve();\n }\n /**\n * Allows the animation to be awaited.\n *\n * @deprecated Use `finished` instead.\n */\n then(onResolve, onReject) {\n return this.finished.then(onResolve, onReject);\n }\n}\n\nexport { WithPromise };\n","import { invariant, pipe, clamp, millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { activeAnimations } from '../stats/animation-count.mjs';\nimport { mix } from '../utils/mix/index.mjs';\nimport { frameloopDriver } from './drivers/frame.mjs';\nimport { inertia } from './generators/inertia.mjs';\nimport { keyframes } from './generators/keyframes.mjs';\nimport { calcGeneratorDuration } from './generators/utils/calc-duration.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\n\nconst percentToProgress = (percent) => percent / 100;\nclass JSAnimation extends WithPromise {\n constructor(options) {\n super();\n this.state = \"idle\";\n this.startTime = null;\n this.isStopped = false;\n /**\n * The current time of the animation.\n */\n this.currentTime = 0;\n /**\n * The time at which the animation was paused.\n */\n this.holdTime = null;\n /**\n * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.\n */\n this.playbackSpeed = 1;\n /**\n * This method is bound to the instance to fix a pattern where\n * animation.stop is returned as a reference from a useEffect.\n */\n this.stop = () => {\n const { motionValue } = this.options;\n if (motionValue && motionValue.updatedAt !== time.now()) {\n this.tick(time.now());\n }\n this.isStopped = true;\n if (this.state === \"idle\")\n return;\n this.teardown();\n this.options.onStop?.();\n };\n activeAnimations.mainThread++;\n this.options = options;\n this.initAnimation();\n this.play();\n if (options.autoplay === false)\n this.pause();\n }\n initAnimation() {\n const { options } = this;\n replaceTransitionType(options);\n const { type = keyframes, repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = options;\n let { keyframes: keyframes$1 } = options;\n const generatorFactory = type || keyframes;\n if (process.env.NODE_ENV !== \"production\" &&\n generatorFactory !== keyframes) {\n invariant(keyframes$1.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`, \"spring-two-frames\");\n }\n if (generatorFactory !== keyframes &&\n typeof keyframes$1[0] !== \"number\") {\n this.mixKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));\n keyframes$1 = [0, 100];\n }\n const generator = generatorFactory({ ...options, keyframes: keyframes$1 });\n /**\n * If we have a mirror repeat type we need to create a second generator that outputs the\n * mirrored (not reversed) animation and later ping pong between the two generators.\n */\n if (repeatType === \"mirror\") {\n this.mirroredGenerator = generatorFactory({\n ...options,\n keyframes: [...keyframes$1].reverse(),\n velocity: -velocity,\n });\n }\n /**\n * If duration is undefined and we have repeat options,\n * we need to calculate a duration from the generator.\n *\n * We set it to the generator itself to cache the duration.\n * Any timeline resolver will need to have already precalculated\n * the duration by this step.\n */\n if (generator.calculatedDuration === null) {\n generator.calculatedDuration = calcGeneratorDuration(generator);\n }\n const { calculatedDuration } = generator;\n this.calculatedDuration = calculatedDuration;\n this.resolvedDuration = calculatedDuration + repeatDelay;\n this.totalDuration = this.resolvedDuration * (repeat + 1) - repeatDelay;\n this.generator = generator;\n }\n updateTime(timestamp) {\n const animationTime = Math.round(timestamp - this.startTime) * this.playbackSpeed;\n // Update currentTime\n if (this.holdTime !== null) {\n this.currentTime = this.holdTime;\n }\n else {\n // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n // example.\n this.currentTime = animationTime;\n }\n }\n tick(timestamp, sample = false) {\n const { generator, totalDuration, mixKeyframes, mirroredGenerator, resolvedDuration, calculatedDuration, } = this;\n if (this.startTime === null)\n return generator.next(0);\n const { delay = 0, keyframes, repeat, repeatType, repeatDelay, type, onUpdate, finalKeyframe, } = this.options;\n /**\n * requestAnimationFrame timestamps can come through as lower than\n * the startTime as set by performance.now(). Here we prevent this,\n * though in the future it could be possible to make setting startTime\n * a pending operation that gets resolved here.\n */\n if (this.speed > 0) {\n this.startTime = Math.min(this.startTime, timestamp);\n }\n else if (this.speed < 0) {\n this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);\n }\n if (sample) {\n this.currentTime = timestamp;\n }\n else {\n this.updateTime(timestamp);\n }\n // Rebase on delay\n const timeWithoutDelay = this.currentTime - delay * (this.playbackSpeed >= 0 ? 1 : -1);\n const isInDelayPhase = this.playbackSpeed >= 0\n ? timeWithoutDelay < 0\n : timeWithoutDelay > totalDuration;\n this.currentTime = Math.max(timeWithoutDelay, 0);\n // If this animation has finished, set the current time to the total duration.\n if (this.state === \"finished\" && this.holdTime === null) {\n this.currentTime = totalDuration;\n }\n let elapsed = this.currentTime;\n let frameGenerator = generator;\n if (repeat) {\n /**\n * Get the current progress (0-1) of the animation. If t is >\n * than duration we'll get values like 2.5 (midway through the\n * third iteration)\n */\n const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;\n /**\n * Get the current iteration (0 indexed). For instance the floor of\n * 2.5 is 2.\n */\n let currentIteration = Math.floor(progress);\n /**\n * Get the current progress of the iteration by taking the remainder\n * so 2.5 is 0.5 through iteration 2\n */\n let iterationProgress = progress % 1.0;\n /**\n * If iteration progress is 1 we count that as the end\n * of the previous iteration.\n */\n if (!iterationProgress && progress >= 1) {\n iterationProgress = 1;\n }\n iterationProgress === 1 && currentIteration--;\n currentIteration = Math.min(currentIteration, repeat + 1);\n /**\n * Reverse progress if we're not running in \"normal\" direction\n */\n const isOddIteration = Boolean(currentIteration % 2);\n if (isOddIteration) {\n if (repeatType === \"reverse\") {\n iterationProgress = 1 - iterationProgress;\n if (repeatDelay) {\n iterationProgress -= repeatDelay / resolvedDuration;\n }\n }\n else if (repeatType === \"mirror\") {\n frameGenerator = mirroredGenerator;\n }\n }\n elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n }\n /**\n * If we're in negative time, set state as the initial keyframe.\n * This prevents delay: x, duration: 0 animations from finishing\n * instantly.\n */\n const state = isInDelayPhase\n ? { done: false, value: keyframes[0] }\n : frameGenerator.next(elapsed);\n if (mixKeyframes) {\n state.value = mixKeyframes(state.value);\n }\n let { done } = state;\n if (!isInDelayPhase && calculatedDuration !== null) {\n done =\n this.playbackSpeed >= 0\n ? this.currentTime >= totalDuration\n : this.currentTime <= 0;\n }\n const isAnimationFinished = this.holdTime === null &&\n (this.state === \"finished\" || (this.state === \"running\" && done));\n // TODO: The exception for inertia could be cleaner here\n if (isAnimationFinished && type !== inertia) {\n state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n }\n if (onUpdate) {\n onUpdate(state.value);\n }\n if (isAnimationFinished) {\n this.finish();\n }\n return state;\n }\n /**\n * Allows the returned animation to be awaited or promise-chained. Currently\n * resolves when the animation finishes at all but in a future update could/should\n * reject if its cancels.\n */\n then(resolve, reject) {\n return this.finished.then(resolve, reject);\n }\n get duration() {\n return millisecondsToSeconds(this.calculatedDuration);\n }\n get iterationDuration() {\n const { delay = 0 } = this.options || {};\n return this.duration + millisecondsToSeconds(delay);\n }\n get time() {\n return millisecondsToSeconds(this.currentTime);\n }\n set time(newTime) {\n newTime = secondsToMilliseconds(newTime);\n this.currentTime = newTime;\n if (this.startTime === null ||\n this.holdTime !== null ||\n this.playbackSpeed === 0) {\n this.holdTime = newTime;\n }\n else if (this.driver) {\n this.startTime = this.driver.now() - newTime / this.playbackSpeed;\n }\n this.driver?.start(false);\n }\n get speed() {\n return this.playbackSpeed;\n }\n set speed(newSpeed) {\n this.updateTime(time.now());\n const hasChanged = this.playbackSpeed !== newSpeed;\n this.playbackSpeed = newSpeed;\n if (hasChanged) {\n this.time = millisecondsToSeconds(this.currentTime);\n }\n }\n play() {\n if (this.isStopped)\n return;\n const { driver = frameloopDriver, startTime } = this.options;\n if (!this.driver) {\n this.driver = driver((timestamp) => this.tick(timestamp));\n }\n this.options.onPlay?.();\n const now = this.driver.now();\n if (this.state === \"finished\") {\n this.updateFinished();\n this.startTime = now;\n }\n else if (this.holdTime !== null) {\n this.startTime = now - this.holdTime;\n }\n else if (!this.startTime) {\n this.startTime = startTime ?? now;\n }\n if (this.state === \"finished\" && this.speed < 0) {\n this.startTime += this.calculatedDuration;\n }\n this.holdTime = null;\n /**\n * Set playState to running only after we've used it in\n * the previous logic.\n */\n this.state = \"running\";\n this.driver.start();\n }\n pause() {\n this.state = \"paused\";\n this.updateTime(time.now());\n this.holdTime = this.currentTime;\n }\n complete() {\n if (this.state !== \"running\") {\n this.play();\n }\n this.state = \"finished\";\n this.holdTime = null;\n }\n finish() {\n this.notifyFinished();\n this.teardown();\n this.state = \"finished\";\n this.options.onComplete?.();\n }\n cancel() {\n this.holdTime = null;\n this.startTime = 0;\n this.tick(0);\n this.teardown();\n this.options.onCancel?.();\n }\n teardown() {\n this.state = \"idle\";\n this.stopDriver();\n this.startTime = this.holdTime = null;\n activeAnimations.mainThread--;\n }\n stopDriver() {\n if (!this.driver)\n return;\n this.driver.stop();\n this.driver = undefined;\n }\n sample(sampleTime) {\n this.startTime = 0;\n return this.tick(sampleTime, true);\n }\n attachTimeline(timeline) {\n if (this.options.allowFlatten) {\n this.options.type = \"keyframes\";\n this.options.ease = \"linear\";\n this.initAnimation();\n }\n this.driver?.stop();\n return timeline.observe(this);\n }\n}\n// Legacy function support\nfunction animateValue(options) {\n return new JSAnimation(options);\n}\n\nexport { JSAnimation, animateValue };\n","function fillWildcards(keyframes) {\n for (let i = 1; i < keyframes.length; i++) {\n keyframes[i] ?? (keyframes[i] = keyframes[i - 1]);\n }\n}\n\nexport { fillWildcards };\n","const radToDeg = (rad) => (rad * 180) / Math.PI;\nconst rotate = (v) => {\n const angle = radToDeg(Math.atan2(v[1], v[0]));\n return rebaseAngle(angle);\n};\nconst matrix2dParsers = {\n x: 4,\n y: 5,\n translateX: 4,\n translateY: 5,\n scaleX: 0,\n scaleY: 3,\n scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,\n rotate,\n rotateZ: rotate,\n skewX: (v) => radToDeg(Math.atan(v[1])),\n skewY: (v) => radToDeg(Math.atan(v[2])),\n skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,\n};\nconst rebaseAngle = (angle) => {\n angle = angle % 360;\n if (angle < 0)\n angle += 360;\n return angle;\n};\nconst rotateZ = rotate;\nconst scaleX = (v) => Math.sqrt(v[0] * v[0] + v[1] * v[1]);\nconst scaleY = (v) => Math.sqrt(v[4] * v[4] + v[5] * v[5]);\nconst matrix3dParsers = {\n x: 12,\n y: 13,\n z: 14,\n translateX: 12,\n translateY: 13,\n translateZ: 14,\n scaleX,\n scaleY,\n scale: (v) => (scaleX(v) + scaleY(v)) / 2,\n rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),\n rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),\n rotateZ,\n rotate: rotateZ,\n skewX: (v) => radToDeg(Math.atan(v[4])),\n skewY: (v) => radToDeg(Math.atan(v[1])),\n skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,\n};\nfunction defaultTransformValue(name) {\n return name.includes(\"scale\") ? 1 : 0;\n}\nfunction parseValueFromTransform(transform, name) {\n if (!transform || transform === \"none\") {\n return defaultTransformValue(name);\n }\n const matrix3dMatch = transform.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u);\n let parsers;\n let match;\n if (matrix3dMatch) {\n parsers = matrix3dParsers;\n match = matrix3dMatch;\n }\n else {\n const matrix2dMatch = transform.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u);\n parsers = matrix2dParsers;\n match = matrix2dMatch;\n }\n if (!match) {\n return defaultTransformValue(name);\n }\n const valueParser = parsers[name];\n const values = match[1].split(\",\").map(convertTransformToNumber);\n return typeof valueParser === \"function\"\n ? valueParser(values)\n : values[valueParser];\n}\nconst readTransformValue = (instance, name) => {\n const { transform = \"none\" } = getComputedStyle(instance);\n return parseValueFromTransform(transform, name);\n};\nfunction convertTransformToNumber(value) {\n return parseFloat(value.trim());\n}\n\nexport { defaultTransformValue, parseValueFromTransform, readTransformValue };\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n \"transformPerspective\",\n \"x\",\n \"y\",\n \"z\",\n \"translateX\",\n \"translateY\",\n \"translateZ\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"skew\",\n \"skewX\",\n \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = /*@__PURE__*/ (() => new Set(transformPropOrder))();\n\nexport { transformPropOrder, transformProps };\n","import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n const removedTransforms = [];\n nonTranslationalTransformKeys.forEach((key) => {\n const value = visualElement.getValue(key);\n if (value !== undefined) {\n removedTransforms.push([key, value.get()]);\n value.set(key.startsWith(\"scale\") ? 1 : 0);\n }\n });\n return removedTransforms;\n}\nconst positionalValues = {\n // Dimensions\n width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),\n height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),\n top: (_bbox, { top }) => parseFloat(top),\n left: (_bbox, { left }) => parseFloat(left),\n bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n // Transform\n x: (_bbox, { transform }) => parseValueFromTransform(transform, \"x\"),\n y: (_bbox, { transform }) => parseValueFromTransform(transform, \"y\"),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\n\nexport { isNumOrPxType, positionalValues, removeNonTranslationalTransform };\n","import { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = false;\nfunction measureAllKeyframes() {\n if (anyNeedsMeasurement) {\n const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);\n const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));\n const transformsToRestore = new Map();\n /**\n * Write pass\n * If we're measuring elements we want to remove bounding box-changing transforms.\n */\n elementsToMeasure.forEach((element) => {\n const removedTransforms = removeNonTranslationalTransform(element);\n if (!removedTransforms.length)\n return;\n transformsToRestore.set(element, removedTransforms);\n element.render();\n });\n // Read\n resolversToMeasure.forEach((resolver) => resolver.measureInitialState());\n // Write\n elementsToMeasure.forEach((element) => {\n element.render();\n const restore = transformsToRestore.get(element);\n if (restore) {\n restore.forEach(([key, value]) => {\n element.getValue(key)?.set(value);\n });\n }\n });\n // Read\n resolversToMeasure.forEach((resolver) => resolver.measureEndState());\n // Write\n resolversToMeasure.forEach((resolver) => {\n if (resolver.suspendedScrollY !== undefined) {\n window.scrollTo(0, resolver.suspendedScrollY);\n }\n });\n }\n anyNeedsMeasurement = false;\n isScheduled = false;\n toResolve.forEach((resolver) => resolver.complete(isForced));\n toResolve.clear();\n}\nfunction readAllKeyframes() {\n toResolve.forEach((resolver) => {\n resolver.readKeyframes();\n if (resolver.needsMeasurement) {\n anyNeedsMeasurement = true;\n }\n });\n}\nfunction flushKeyframeResolvers() {\n isForced = true;\n readAllKeyframes();\n measureAllKeyframes();\n isForced = false;\n}\nclass KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n this.state = \"pending\";\n /**\n * Track whether this resolver is async. If it is, it'll be added to the\n * resolver queue and flushed in the next frame. Resolvers that aren't going\n * to trigger read/write thrashing don't need to be async.\n */\n this.isAsync = false;\n /**\n * Track whether this resolver needs to perform a measurement\n * to resolve its keyframes.\n */\n this.needsMeasurement = false;\n this.unresolvedKeyframes = [...unresolvedKeyframes];\n this.onComplete = onComplete;\n this.name = name;\n this.motionValue = motionValue;\n this.element = element;\n this.isAsync = isAsync;\n }\n scheduleResolve() {\n this.state = \"scheduled\";\n if (this.isAsync) {\n toResolve.add(this);\n if (!isScheduled) {\n isScheduled = true;\n frame.read(readAllKeyframes);\n frame.resolveKeyframes(measureAllKeyframes);\n }\n }\n else {\n this.readKeyframes();\n this.complete();\n }\n }\n readKeyframes() {\n const { unresolvedKeyframes, name, element, motionValue } = this;\n // If initial keyframe is null we need to read it from the DOM\n if (unresolvedKeyframes[0] === null) {\n const currentValue = motionValue?.get();\n // TODO: This doesn't work if the final keyframe is a wildcard\n const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n if (currentValue !== undefined) {\n unresolvedKeyframes[0] = currentValue;\n }\n else if (element && name) {\n const valueAsRead = element.readValue(name, finalKeyframe);\n if (valueAsRead !== undefined && valueAsRead !== null) {\n unresolvedKeyframes[0] = valueAsRead;\n }\n }\n if (unresolvedKeyframes[0] === undefined) {\n unresolvedKeyframes[0] = finalKeyframe;\n }\n if (motionValue && currentValue === undefined) {\n motionValue.set(unresolvedKeyframes[0]);\n }\n }\n fillWildcards(unresolvedKeyframes);\n }\n setFinalKeyframe() { }\n measureInitialState() { }\n renderEndStyles() { }\n measureEndState() { }\n complete(isForcedComplete = false) {\n this.state = \"complete\";\n this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n toResolve.delete(this);\n }\n cancel() {\n if (this.state === \"scheduled\") {\n toResolve.delete(this);\n this.state = \"pending\";\n }\n }\n resume() {\n if (this.state === \"pending\")\n this.scheduleResolve();\n }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n","const isCSSVar = (name) => name.startsWith(\"--\");\n\nexport { isCSSVar };\n","import { isCSSVar } from './is-css-var.mjs';\n\nfunction setStyle(element, name, value) {\n isCSSVar(name)\n ? element.style.setProperty(name, value)\n : (element.style[name] = value);\n}\n\nexport { setStyle };\n","import { memo } from 'motion-utils';\n\nconst supportsScrollTimeline = /* @__PURE__ */ memo(() => window.ScrollTimeline !== undefined);\n\nexport { supportsScrollTimeline };\n","/**\n * Add the ability for test suites to manually set support flags\n * to better test more environments.\n */\nconst supportsFlags = {};\n\nexport { supportsFlags };\n","import { memo } from 'motion-utils';\nimport { supportsFlags } from './flags.mjs';\n\nfunction memoSupports(callback, supportsFlag) {\n const memoized = memo(callback);\n return () => supportsFlags[supportsFlag] ?? memoized();\n}\n\nexport { memoSupports };\n","import { memoSupports } from './memo.mjs';\n\nconst supportsLinearEasing = /*@__PURE__*/ memoSupports(() => {\n try {\n document\n .createElement(\"div\")\n .animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n }\n catch (e) {\n return false;\n }\n return true;\n}, \"linearEasing\");\n\nexport { supportsLinearEasing };\n","const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { cubicBezierAsString };\n","import { cubicBezierAsString } from './cubic-bezier.mjs';\n\nconst supportedWaapiEasing = {\n linear: \"linear\",\n ease: \"ease\",\n easeIn: \"ease-in\",\n easeOut: \"ease-out\",\n easeInOut: \"ease-in-out\",\n circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]),\n circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]),\n backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\n\nexport { supportedWaapiEasing };\n","import { isBezierDefinition } from 'motion-utils';\nimport { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { generateLinearEasing } from '../utils/linear.mjs';\nimport { cubicBezierAsString } from './cubic-bezier.mjs';\nimport { supportedWaapiEasing } from './supported.mjs';\n\nfunction mapEasingToNativeEasing(easing, duration) {\n if (!easing) {\n return undefined;\n }\n else if (typeof easing === \"function\") {\n return supportsLinearEasing()\n ? generateLinearEasing(easing, duration)\n : \"ease-out\";\n }\n else if (isBezierDefinition(easing)) {\n return cubicBezierAsString(easing);\n }\n else if (Array.isArray(easing)) {\n return easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) ||\n supportedWaapiEasing.easeOut);\n }\n else {\n return supportedWaapiEasing[easing];\n }\n}\n\nexport { mapEasingToNativeEasing };\n","import { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { mapEasingToNativeEasing } from './easing/map-easing.mjs';\n\nfunction startWaapiAnimation(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = \"loop\", ease = \"easeOut\", times, } = {}, pseudoElement = undefined) {\n const keyframeOptions = {\n [valueName]: keyframes,\n };\n if (times)\n keyframeOptions.offset = times;\n const easing = mapEasingToNativeEasing(ease, duration);\n /**\n * If this is an easing array, apply to keyframes, not animation as a whole\n */\n if (Array.isArray(easing))\n keyframeOptions.easing = easing;\n if (statsBuffer.value) {\n activeAnimations.waapi++;\n }\n const options = {\n delay,\n duration,\n easing: !Array.isArray(easing) ? easing : \"linear\",\n fill: \"both\",\n iterations: repeat + 1,\n direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n };\n if (pseudoElement)\n options.pseudoElement = pseudoElement;\n const animation = element.animate(keyframeOptions, options);\n if (statsBuffer.value) {\n animation.finished.finally(() => {\n activeAnimations.waapi--;\n });\n }\n return animation;\n}\n\nexport { startWaapiAnimation };\n","function isGenerator(type) {\n return typeof type === \"function\" && \"applyToOptions\" in type;\n}\n\nexport { isGenerator };\n","import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { isGenerator } from '../../generators/utils/is-generator.mjs';\n\nfunction applyGeneratorOptions({ type, ...options }) {\n if (isGenerator(type) && supportsLinearEasing()) {\n return type.applyToOptions(options);\n }\n else {\n options.duration ?? (options.duration = 300);\n options.ease ?? (options.ease = \"easeOut\");\n }\n return options;\n}\n\nexport { applyGeneratorOptions };\n","import { invariant, millisecondsToSeconds, secondsToMilliseconds, noop } from 'motion-utils';\nimport { setStyle } from '../render/dom/style-set.mjs';\nimport { supportsScrollTimeline } from '../utils/supports/scroll-timeline.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { startWaapiAnimation } from './waapi/start-waapi-animation.mjs';\nimport { applyGeneratorOptions } from './waapi/utils/apply-generator.mjs';\n\n/**\n * NativeAnimation implements AnimationPlaybackControls for the browser's Web Animations API.\n */\nclass NativeAnimation extends WithPromise {\n constructor(options) {\n super();\n this.finishedTime = null;\n this.isStopped = false;\n if (!options)\n return;\n const { element, name, keyframes, pseudoElement, allowFlatten = false, finalKeyframe, onComplete, } = options;\n this.isPseudoElement = Boolean(pseudoElement);\n this.allowFlatten = allowFlatten;\n this.options = options;\n invariant(typeof options.type !== \"string\", `Mini animate() doesn't support \"type\" as a string.`, \"mini-spring\");\n const transition = applyGeneratorOptions(options);\n this.animation = startWaapiAnimation(element, name, keyframes, transition, pseudoElement);\n if (transition.autoplay === false) {\n this.animation.pause();\n }\n this.animation.onfinish = () => {\n this.finishedTime = this.time;\n if (!pseudoElement) {\n const keyframe = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n if (this.updateMotionValue) {\n this.updateMotionValue(keyframe);\n }\n else {\n /**\n * If we can, we want to commit the final style as set by the user,\n * rather than the computed keyframe value supplied by the animation.\n */\n setStyle(element, name, keyframe);\n }\n this.animation.cancel();\n }\n onComplete?.();\n this.notifyFinished();\n };\n }\n play() {\n if (this.isStopped)\n return;\n this.animation.play();\n if (this.state === \"finished\") {\n this.updateFinished();\n }\n }\n pause() {\n this.animation.pause();\n }\n complete() {\n this.animation.finish?.();\n }\n cancel() {\n try {\n this.animation.cancel();\n }\n catch (e) { }\n }\n stop() {\n if (this.isStopped)\n return;\n this.isStopped = true;\n const { state } = this;\n if (state === \"idle\" || state === \"finished\") {\n return;\n }\n if (this.updateMotionValue) {\n this.updateMotionValue();\n }\n else {\n this.commitStyles();\n }\n if (!this.isPseudoElement)\n this.cancel();\n }\n /**\n * WAAPI doesn't natively have any interruption capabilities.\n *\n * In this method, we commit styles back to the DOM before cancelling\n * the animation.\n *\n * This is designed to be overridden by NativeAnimationExtended, which\n * will create a renderless JS animation and sample it twice to calculate\n * its current value, \"previous\" value, and therefore allow\n * Motion to also correctly calculate velocity for any subsequent animation\n * while deferring the commit until the next animation frame.\n */\n commitStyles() {\n if (!this.isPseudoElement) {\n this.animation.commitStyles?.();\n }\n }\n get duration() {\n const duration = this.animation.effect?.getComputedTiming?.().duration || 0;\n return millisecondsToSeconds(Number(duration));\n }\n get iterationDuration() {\n const { delay = 0 } = this.options || {};\n return this.duration + millisecondsToSeconds(delay);\n }\n get time() {\n return millisecondsToSeconds(Number(this.animation.currentTime) || 0);\n }\n set time(newTime) {\n this.finishedTime = null;\n this.animation.currentTime = secondsToMilliseconds(newTime);\n }\n /**\n * The playback speed of the animation.\n * 1 = normal speed, 2 = double speed, 0.5 = half speed.\n */\n get speed() {\n return this.animation.playbackRate;\n }\n set speed(newSpeed) {\n // Allow backwards playback after finishing\n if (newSpeed < 0)\n this.finishedTime = null;\n this.animation.playbackRate = newSpeed;\n }\n get state() {\n return this.finishedTime !== null\n ? \"finished\"\n : this.animation.playState;\n }\n get startTime() {\n return Number(this.animation.startTime);\n }\n set startTime(newStartTime) {\n this.animation.startTime = newStartTime;\n }\n /**\n * Attaches a timeline to the animation, for instance the `ScrollTimeline`.\n */\n attachTimeline({ timeline, observe }) {\n if (this.allowFlatten) {\n this.animation.effect?.updateTiming({ easing: \"linear\" });\n }\n this.animation.onfinish = null;\n if (timeline && supportsScrollTimeline()) {\n this.animation.timeline = timeline;\n return noop;\n }\n else {\n return observe(this);\n }\n }\n}\n\nexport { NativeAnimation };\n","import { anticipate, backInOut, circInOut } from 'motion-utils';\n\nconst unsupportedEasingFunctions = {\n anticipate,\n backInOut,\n circInOut,\n};\nfunction isUnsupportedEase(key) {\n return key in unsupportedEasingFunctions;\n}\nfunction replaceStringEasing(transition) {\n if (typeof transition.ease === \"string\" &&\n isUnsupportedEase(transition.ease)) {\n transition.ease = unsupportedEasingFunctions[transition.ease];\n }\n}\n\nexport { replaceStringEasing };\n","import { secondsToMilliseconds } from 'motion-utils';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { NativeAnimation } from './NativeAnimation.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { replaceStringEasing } from './waapi/utils/unsupported-easing.mjs';\n\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\nclass NativeAnimationExtended extends NativeAnimation {\n constructor(options) {\n /**\n * The base NativeAnimation function only supports a subset\n * of Motion easings, and WAAPI also only supports some\n * easing functions via string/cubic-bezier definitions.\n *\n * This function replaces those unsupported easing functions\n * with a JS easing function. This will later get compiled\n * to a linear() easing function.\n */\n replaceStringEasing(options);\n /**\n * Ensure we replace the transition type with a generator function\n * before passing to WAAPI.\n *\n * TODO: Does this have a better home? It could be shared with\n * JSAnimation.\n */\n replaceTransitionType(options);\n super(options);\n if (options.startTime) {\n this.startTime = options.startTime;\n }\n this.options = options;\n }\n /**\n * WAAPI doesn't natively have any interruption capabilities.\n *\n * Rather than read commited styles back out of the DOM, we can\n * create a renderless JS animation and sample it twice to calculate\n * its current value, \"previous\" value, and therefore allow\n * Motion to calculate velocity for any subsequent animation.\n */\n updateMotionValue(value) {\n const { motionValue, onUpdate, onComplete, element, ...options } = this.options;\n if (!motionValue)\n return;\n if (value !== undefined) {\n motionValue.set(value);\n return;\n }\n const sampleAnimation = new JSAnimation({\n ...options,\n autoplay: false,\n });\n const sampleTime = secondsToMilliseconds(this.finishedTime ?? this.time);\n motionValue.setWithVelocity(sampleAnimation.sample(sampleTime - sampleDelta).value, sampleAnimation.sample(sampleTime).value, sampleDelta);\n sampleAnimation.stop();\n }\n}\n\nexport { NativeAnimationExtended };\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (value, name) => {\n // If the list of keys that might be non-animatable grows, replace with Set\n if (name === \"zIndex\")\n return false;\n // If it's a number or a keyframes array, we can animate it. We might at some point\n // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n // but for now lets leave it like this for performance reasons\n if (typeof value === \"number\" || Array.isArray(value))\n return true;\n if (typeof value === \"string\" && // It's animatable if we have a string\n (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n ) {\n return true;\n }\n return false;\n};\n\nexport { isAnimatable };\n","import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\n\nfunction hasKeyframesChanged(keyframes) {\n const current = keyframes[0];\n if (keyframes.length === 1)\n return true;\n for (let i = 0; i < keyframes.length; i++) {\n if (keyframes[i] !== current)\n return true;\n }\n}\nfunction canAnimate(keyframes, name, type, velocity) {\n /**\n * Check if we're able to animate between the start and end keyframes,\n * and throw a warning if we're attempting to animate between one that's\n * animatable and another that isn't.\n */\n const originKeyframe = keyframes[0];\n if (originKeyframe === null)\n return false;\n /**\n * These aren't traditionally animatable but we do support them.\n * In future we could look into making this more generic or replacing\n * this function with mix() === mixImmediate\n */\n if (name === \"display\" || name === \"visibility\")\n return true;\n const targetKeyframe = keyframes[keyframes.length - 1];\n const isOriginAnimatable = isAnimatable(originKeyframe, name);\n const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". \"${isOriginAnimatable ? targetKeyframe : originKeyframe}\" is not an animatable value.`, \"value-not-animatable\");\n // Always skip if any of these are true\n if (!isOriginAnimatable || !isTargetAnimatable) {\n return false;\n }\n return (hasKeyframesChanged(keyframes) ||\n ((type === \"spring\" || isGenerator(type)) && velocity));\n}\n\nexport { canAnimate };\n","function makeAnimationInstant(options) {\n options.duration = 0;\n options.type = \"keyframes\";\n}\n\nexport { makeAnimationInstant };\n","import { memo } from 'motion-utils';\n\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n \"opacity\",\n \"clipPath\",\n \"filter\",\n \"transform\",\n // TODO: Could be re-enabled now we have support for linear() easing\n // \"background-color\"\n]);\nconst supportsWaapi = /*@__PURE__*/ memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\nfunction supportsBrowserAnimation(options) {\n const { motionValue, name, repeatDelay, repeatType, damping, type } = options;\n const subject = motionValue?.owner?.current;\n /**\n * We use this check instead of isHTMLElement() because we explicitly\n * **don't** want elements in different timing contexts (i.e. popups)\n * to be accelerated, as it's not possible to sync these animations\n * properly with those driven from the main window frameloop.\n */\n if (!(subject instanceof HTMLElement)) {\n return false;\n }\n const { onUpdate, transformTemplate } = motionValue.owner.getProps();\n return (supportsWaapi() &&\n name &&\n acceleratedValues.has(name) &&\n (name !== \"transform\" || !transformTemplate) &&\n /**\n * If we're outputting values to onUpdate then we can't use WAAPI as there's\n * no way to read the value from WAAPI every frame.\n */\n !onUpdate &&\n !repeatDelay &&\n repeatType !== \"mirror\" &&\n damping !== 0 &&\n type !== \"inertia\");\n}\n\nexport { supportsBrowserAnimation };\n","import { MotionGlobalConfig, noop } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { KeyframeResolver, flushKeyframeResolvers } from './keyframes/KeyframesResolver.mjs';\nimport { NativeAnimationExtended } from './NativeAnimationExtended.mjs';\nimport { canAnimate } from './utils/can-animate.mjs';\nimport { makeAnimationInstant } from './utils/make-animation-instant.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { supportsBrowserAnimation } from './waapi/supports/waapi.mjs';\n\n/**\n * Maximum time allowed between an animation being created and it being\n * resolved for us to use the latter as the start time.\n *\n * This is to ensure that while we prefer to \"start\" an animation as soon\n * as it's triggered, we also want to avoid a visual jump if there's a big delay\n * between these two moments.\n */\nconst MAX_RESOLVE_DELAY = 40;\nclass AsyncMotionValueAnimation extends WithPromise {\n constructor({ autoplay = true, delay = 0, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", keyframes, name, motionValue, element, ...options }) {\n super();\n /**\n * Bound to support return animation.stop pattern\n */\n this.stop = () => {\n if (this._animation) {\n this._animation.stop();\n this.stopTimeline?.();\n }\n this.keyframeResolver?.cancel();\n };\n this.createdAt = time.now();\n const optionsWithDefaults = {\n autoplay,\n delay,\n type,\n repeat,\n repeatDelay,\n repeatType,\n name,\n motionValue,\n element,\n ...options,\n };\n const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver;\n this.keyframeResolver = new KeyframeResolver$1(keyframes, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue, element);\n this.keyframeResolver?.scheduleResolve();\n }\n onKeyframesResolved(keyframes, finalKeyframe, options, sync) {\n this.keyframeResolver = undefined;\n const { name, type, velocity, delay, isHandoff, onUpdate } = options;\n this.resolvedAt = time.now();\n /**\n * If we can't animate this value with the resolved keyframes\n * then we should complete it immediately.\n */\n if (!canAnimate(keyframes, name, type, velocity)) {\n if (MotionGlobalConfig.instantAnimations || !delay) {\n onUpdate?.(getFinalKeyframe(keyframes, options, finalKeyframe));\n }\n keyframes[0] = keyframes[keyframes.length - 1];\n makeAnimationInstant(options);\n options.repeat = 0;\n }\n /**\n * Resolve startTime for the animation.\n *\n * This method uses the createdAt and resolvedAt to calculate the\n * animation startTime. *Ideally*, we would use the createdAt time as t=0\n * as the following frame would then be the first frame of the animation in\n * progress, which would feel snappier.\n *\n * However, if there's a delay (main thread work) between the creation of\n * the animation and the first commited frame, we prefer to use resolvedAt\n * to avoid a sudden jump into the animation.\n */\n const startTime = sync\n ? !this.resolvedAt\n ? this.createdAt\n : this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY\n ? this.resolvedAt\n : this.createdAt\n : undefined;\n const resolvedOptions = {\n startTime,\n finalKeyframe,\n ...options,\n keyframes,\n };\n /**\n * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via\n * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n * optimised animation.\n */\n const animation = !isHandoff && supportsBrowserAnimation(resolvedOptions)\n ? new NativeAnimationExtended({\n ...resolvedOptions,\n element: resolvedOptions.motionValue.owner.current,\n })\n : new JSAnimation(resolvedOptions);\n animation.finished.then(() => this.notifyFinished()).catch(noop);\n if (this.pendingTimeline) {\n this.stopTimeline = animation.attachTimeline(this.pendingTimeline);\n this.pendingTimeline = undefined;\n }\n this._animation = animation;\n }\n get finished() {\n if (!this._animation) {\n return this._finished;\n }\n else {\n return this.animation.finished;\n }\n }\n then(onResolve, _onReject) {\n return this.finished.finally(onResolve).then(() => { });\n }\n get animation() {\n if (!this._animation) {\n this.keyframeResolver?.resume();\n flushKeyframeResolvers();\n }\n return this._animation;\n }\n get duration() {\n return this.animation.duration;\n }\n get iterationDuration() {\n return this.animation.iterationDuration;\n }\n get time() {\n return this.animation.time;\n }\n set time(newTime) {\n this.animation.time = newTime;\n }\n get speed() {\n return this.animation.speed;\n }\n get state() {\n return this.animation.state;\n }\n set speed(newSpeed) {\n this.animation.speed = newSpeed;\n }\n get startTime() {\n return this.animation.startTime;\n }\n attachTimeline(timeline) {\n if (this._animation) {\n this.stopTimeline = this.animation.attachTimeline(timeline);\n }\n else {\n this.pendingTimeline = timeline;\n }\n return () => this.stop();\n }\n play() {\n this.animation.play();\n }\n pause() {\n this.animation.pause();\n }\n complete() {\n this.animation.complete();\n }\n cancel() {\n if (this._animation) {\n this.animation.cancel();\n }\n this.keyframeResolver?.cancel();\n }\n}\n\nexport { AsyncMotionValueAnimation };\n","import { invariant, isNumericalString } from 'motion-utils';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = \n// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words\n/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction parseCSSVariable(current) {\n const match = splitCSSVariableRegex.exec(current);\n if (!match)\n return [,];\n const [, token1, token2, fallback] = match;\n return [`--${token1 ?? token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`, \"max-css-var-depth\");\n const [token, fallback] = parseCSSVariable(current);\n // No CSS variable detected\n if (!token)\n return;\n // Attempt to read this CSS variable off the element\n const resolved = window.getComputedStyle(element).getPropertyValue(token);\n if (resolved) {\n const trimmed = resolved.trim();\n return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n }\n return isCSSVariableToken(fallback)\n ? getVariableValue(fallback, element, depth + 1)\n : fallback;\n}\n\nexport { getVariableValue, parseCSSVariable };\n","function getValueTransition(transition, key) {\n return (transition?.[key] ??\n transition?.[\"default\"] ??\n transition);\n}\n\nexport { getValueTransition };\n","import { transformPropOrder } from './keys-transform.mjs';\n\nconst positionalKeys = new Set([\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n ...transformPropOrder,\n]);\n\nexport { positionalKeys };\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n test: (v) => v === \"auto\",\n parse: (v) => v,\n};\n\nexport { auto };\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n","import { auto } from './auto.mjs';\nimport { number } from './numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from './numbers/units.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n","import { isZeroValueString } from 'motion-utils';\n\nfunction isNone(value) {\n if (typeof value === \"number\") {\n return value === 0;\n }\n else if (value !== null) {\n return value === \"none\" || value === \"0\" || isZeroValueString(value);\n }\n else {\n return true;\n }\n}\n\nexport { isNone };\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n const [name, value] = v.slice(0, -1).split(\"(\");\n if (name === \"drop-shadow\")\n return v;\n const [number] = value.match(floatRegex) || [];\n if (!number)\n return v;\n const unit = value.replace(number, \"\");\n let defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /\\b([a-z-]*)\\(.*?\\)/gu;\nconst filter = {\n ...complex,\n getAnimatableNone: (v) => {\n const functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n },\n};\n\nexport { filter };\n","import { number } from './numbers/index.mjs';\n\nconst int = {\n ...number,\n transform: Math.round,\n};\n\nexport { int };\n","import { scale, alpha } from '../numbers/index.mjs';\nimport { degrees, px, progressPercentage } from '../numbers/units.mjs';\n\nconst transformValueTypes = {\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n};\n\nexport { transformValueTypes };\n","import { int } from '../int.mjs';\nimport { alpha } from '../numbers/index.mjs';\nimport { px } from '../numbers/units.mjs';\nimport { transformValueTypes } from './transform.mjs';\n\nconst numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Misc\n backgroundPositionX: px,\n backgroundPositionY: px,\n ...transformValueTypes,\n zIndex: int,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { color } from '../color/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n ...numberValueTypes,\n // Color props\n color,\n backgroundColor: color,\n outlineColor: color,\n fill: color,\n stroke: color,\n // Border props\n borderColor: color,\n borderTopColor: color,\n borderRightColor: color,\n borderBottomColor: color,\n borderLeftColor: color,\n filter,\n WebkitFilter: filter,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n","import { complex } from '../complex/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { getDefaultValueType } from '../maps/defaults.mjs';\n\nfunction getAnimatableNone(key, value) {\n let defaultValueType = getDefaultValueType(key);\n if (defaultValueType !== filter)\n defaultValueType = complex;\n // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n return defaultValueType.getAnimatableNone\n ? defaultValueType.getAnimatableNone(value)\n : undefined;\n}\n\nexport { getAnimatableNone };\n","import { analyseComplexValue } from '../../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../../value/types/utils/animatable-none.mjs';\n\n/**\n * If we encounter keyframes like \"none\" or \"0\" and we also have keyframes like\n * \"#fff\" or \"200px 200px\" we want to find a keyframe to serve as a template for\n * the \"none\" keyframes. In this case \"#fff\" or \"200px 200px\" - then these get turned into\n * zero equivalents, i.e. \"#fff0\" or \"0px 0px\".\n */\nconst invalidTemplates = new Set([\"auto\", \"none\", \"0\"]);\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n let i = 0;\n let animatableTemplate = undefined;\n while (i < unresolvedKeyframes.length && !animatableTemplate) {\n const keyframe = unresolvedKeyframes[i];\n if (typeof keyframe === \"string\" &&\n !invalidTemplates.has(keyframe) &&\n analyseComplexValue(keyframe).values.length) {\n animatableTemplate = unresolvedKeyframes[i];\n }\n i++;\n }\n if (animatableTemplate && name) {\n for (const noneIndex of noneKeyframeIndexes) {\n unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n }\n }\n}\n\nexport { makeNoneKeyframesAnimatable };\n","import { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { findDimensionValueType } from '../../value/types/dimensions.mjs';\nimport { getVariableValue } from '../utils/css-variables-conversion.mjs';\nimport { isCSSVariableToken } from '../utils/is-css-variable.mjs';\nimport { KeyframeResolver } from './KeyframesResolver.mjs';\nimport { isNone } from './utils/is-none.mjs';\nimport { makeNoneKeyframesAnimatable } from './utils/make-none-animatable.mjs';\nimport { isNumOrPxType, positionalValues } from './utils/unit-conversion.mjs';\n\nclass DOMKeyframesResolver extends KeyframeResolver {\n constructor(unresolvedKeyframes, onComplete, name, motionValue, element) {\n super(unresolvedKeyframes, onComplete, name, motionValue, element, true);\n }\n readKeyframes() {\n const { unresolvedKeyframes, element, name } = this;\n if (!element || !element.current)\n return;\n super.readKeyframes();\n /**\n * If any keyframe is a CSS variable, we need to find its value by sampling the element\n */\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n let keyframe = unresolvedKeyframes[i];\n if (typeof keyframe === \"string\") {\n keyframe = keyframe.trim();\n if (isCSSVariableToken(keyframe)) {\n const resolved = getVariableValue(keyframe, element.current);\n if (resolved !== undefined) {\n unresolvedKeyframes[i] = resolved;\n }\n if (i === unresolvedKeyframes.length - 1) {\n this.finalKeyframe = keyframe;\n }\n }\n }\n }\n /**\n * Resolve \"none\" values. We do this potentially twice - once before and once after measuring keyframes.\n * This could be seen as inefficient but it's a trade-off to avoid measurements in more situations, which\n * have a far bigger performance impact.\n */\n this.resolveNoneKeyframes();\n /**\n * Check to see if unit type has changed. If so schedule jobs that will\n * temporarily set styles to the destination keyframes.\n * Skip if we have more than two keyframes or this isn't a positional value.\n * TODO: We can throw if there are multiple keyframes and the value type changes.\n */\n if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) {\n return;\n }\n const [origin, target] = unresolvedKeyframes;\n const originType = findDimensionValueType(origin);\n const targetType = findDimensionValueType(target);\n /**\n * Either we don't recognise these value types or we can animate between them.\n */\n if (originType === targetType)\n return;\n /**\n * If both values are numbers or pixels, we can animate between them by\n * converting them to numbers.\n */\n if (isNumOrPxType(originType) && isNumOrPxType(targetType)) {\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n const value = unresolvedKeyframes[i];\n if (typeof value === \"string\") {\n unresolvedKeyframes[i] = parseFloat(value);\n }\n }\n }\n else if (positionalValues[name]) {\n /**\n * Else, the only way to resolve this is by measuring the element.\n */\n this.needsMeasurement = true;\n }\n }\n resolveNoneKeyframes() {\n const { unresolvedKeyframes, name } = this;\n const noneKeyframeIndexes = [];\n for (let i = 0; i < unresolvedKeyframes.length; i++) {\n if (unresolvedKeyframes[i] === null ||\n isNone(unresolvedKeyframes[i])) {\n noneKeyframeIndexes.push(i);\n }\n }\n if (noneKeyframeIndexes.length) {\n makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);\n }\n }\n measureInitialState() {\n const { element, unresolvedKeyframes, name } = this;\n if (!element || !element.current)\n return;\n if (name === \"height\") {\n this.suspendedScrollY = window.pageYOffset;\n }\n this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n unresolvedKeyframes[0] = this.measuredOrigin;\n // Set final key frame to measure after next render\n const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n if (measureKeyframe !== undefined) {\n element.getValue(name, measureKeyframe).jump(measureKeyframe, false);\n }\n }\n measureEndState() {\n const { element, name, unresolvedKeyframes } = this;\n if (!element || !element.current)\n return;\n const value = element.getValue(name);\n value && value.jump(this.measuredOrigin, false);\n const finalKeyframeIndex = unresolvedKeyframes.length - 1;\n const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];\n unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n if (finalKeyframe !== null && this.finalKeyframe === undefined) {\n this.finalKeyframe = finalKeyframe;\n }\n // If we removed transform values, reapply them before the next render\n if (this.removedTransforms?.length) {\n this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {\n element\n .getValue(unsetTransformName)\n .set(unsetTransformValue);\n });\n }\n this.resolveNoneKeyframes();\n }\n}\n\nexport { DOMKeyframesResolver };\n","function resolveElements(elementOrSelector, scope, selectorCache) {\n if (elementOrSelector instanceof EventTarget) {\n return [elementOrSelector];\n }\n else if (typeof elementOrSelector === \"string\") {\n let root = document;\n if (scope) {\n root = scope.current;\n }\n const elements = selectorCache?.[elementOrSelector] ??\n root.querySelectorAll(elementOrSelector);\n return elements ? Array.from(elements) : [];\n }\n return Array.from(elementOrSelector);\n}\n\nexport { resolveElements };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an HTML element in a way\n * that works across iframes\n */\nfunction isHTMLElement(element) {\n return isObject(element) && \"offsetHeight\" in element;\n}\n\nexport { isHTMLElement };\n","import { warnOnce, SubscriptionManager, velocityPerSecond } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n /**\n * @param init - The initiating value\n * @param config - Optional configuration options\n *\n * - `transformer`: A function to transform incoming values with.\n */\n constructor(init, options = {}) {\n /**\n * Tracks whether this value can output a velocity. Currently this is only true\n * if the value is numerical, but we might be able to widen the scope here and support\n * other value types.\n *\n * @internal\n */\n this.canTrackVelocity = null;\n /**\n * An object containing a SubscriptionManager for each active event.\n */\n this.events = {};\n this.updateAndNotify = (v) => {\n const currentTime = time.now();\n /**\n * If we're updating the value during another frame or eventloop\n * than the previous frame, then the we set the previous frame value\n * to current.\n */\n if (this.updatedAt !== currentTime) {\n this.setPrevFrameValue();\n }\n this.prev = this.current;\n this.setCurrent(v);\n // Update update subscribers\n if (this.current !== this.prev) {\n this.events.change?.notify(this.current);\n if (this.dependents) {\n for (const dependent of this.dependents) {\n dependent.dirty();\n }\n }\n }\n };\n this.hasAnimated = false;\n this.setCurrent(init);\n this.owner = options.owner;\n }\n setCurrent(current) {\n this.current = current;\n this.updatedAt = time.now();\n if (this.canTrackVelocity === null && current !== undefined) {\n this.canTrackVelocity = isFloat(this.current);\n }\n }\n setPrevFrameValue(prevFrameValue = this.current) {\n this.prevFrameValue = prevFrameValue;\n this.prevUpdatedAt = this.updatedAt;\n }\n /**\n * Adds a function that will be notified when the `MotionValue` is updated.\n *\n * It returns a function that, when called, will cancel the subscription.\n *\n * When calling `onChange` inside a React component, it should be wrapped with the\n * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n * from the `useEffect` function to ensure you don't add duplicate subscribers..\n *\n * ```jsx\n * export const MyComponent = () => {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.on(\"change\", updateOpacity)\n * const unsubscribeY = y.on(\"change\", updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return <motion.div style={{ x }} />\n * }\n * ```\n *\n * @param subscriber - A function that receives the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @deprecated\n */\n onChange(subscription) {\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n }\n return this.on(\"change\", subscription);\n }\n on(eventName, callback) {\n if (!this.events[eventName]) {\n this.events[eventName] = new SubscriptionManager();\n }\n const unsubscribe = this.events[eventName].add(callback);\n if (eventName === \"change\") {\n return () => {\n unsubscribe();\n /**\n * If we have no more change listeners by the start\n * of the next frame, stop active animations.\n */\n frame.read(() => {\n if (!this.events.change.getSize()) {\n this.stop();\n }\n });\n };\n }\n return unsubscribe;\n }\n clearListeners() {\n for (const eventManagers in this.events) {\n this.events[eventManagers].clear();\n }\n }\n /**\n * Attaches a passive effect to the `MotionValue`.\n */\n attach(passiveEffect, stopPassiveEffect) {\n this.passiveEffect = passiveEffect;\n this.stopPassiveEffect = stopPassiveEffect;\n }\n /**\n * Sets the state of the `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useMotionValue(0)\n * x.set(10)\n * ```\n *\n * @param latest - Latest value to set.\n * @param render - Whether to notify render subscribers. Defaults to `true`\n *\n * @public\n */\n set(v) {\n if (!this.passiveEffect) {\n this.updateAndNotify(v);\n }\n else {\n this.passiveEffect(v, this.updateAndNotify);\n }\n }\n setWithVelocity(prev, current, delta) {\n this.set(current);\n this.prev = undefined;\n this.prevFrameValue = prev;\n this.prevUpdatedAt = this.updatedAt - delta;\n }\n /**\n * Set the state of the `MotionValue`, stopping any active animations,\n * effects, and resets velocity to `0`.\n */\n jump(v, endAnimation = true) {\n this.updateAndNotify(v);\n this.prev = v;\n this.prevUpdatedAt = this.prevFrameValue = undefined;\n endAnimation && this.stop();\n if (this.stopPassiveEffect)\n this.stopPassiveEffect();\n }\n dirty() {\n this.events.change?.notify(this.current);\n }\n addDependent(dependent) {\n if (!this.dependents) {\n this.dependents = new Set();\n }\n this.dependents.add(dependent);\n }\n removeDependent(dependent) {\n if (this.dependents) {\n this.dependents.delete(dependent);\n }\n }\n /**\n * Returns the latest state of `MotionValue`\n *\n * @returns - The latest state of `MotionValue`\n *\n * @public\n */\n get() {\n if (collectMotionValues.current) {\n collectMotionValues.current.push(this);\n }\n return this.current;\n }\n /**\n * @public\n */\n getPrevious() {\n return this.prev;\n }\n /**\n * Returns the latest velocity of `MotionValue`\n *\n * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n *\n * @public\n */\n getVelocity() {\n const currentTime = time.now();\n if (!this.canTrackVelocity ||\n this.prevFrameValue === undefined ||\n currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n return 0;\n }\n const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n // Casts because of parseFloat's poor typing\n return velocityPerSecond(parseFloat(this.current) -\n parseFloat(this.prevFrameValue), delta);\n }\n /**\n * Registers a new animation to control this `MotionValue`. Only one\n * animation can drive a `MotionValue` at one time.\n *\n * ```jsx\n * value.start()\n * ```\n *\n * @param animation - A function that starts the provided animation\n */\n start(startAnimation) {\n this.stop();\n return new Promise((resolve) => {\n this.hasAnimated = true;\n this.animation = startAnimation(resolve);\n if (this.events.animationStart) {\n this.events.animationStart.notify();\n }\n }).then(() => {\n if (this.events.animationComplete) {\n this.events.animationComplete.notify();\n }\n this.clearAnimation();\n });\n }\n /**\n * Stop the currently active animation.\n *\n * @public\n */\n stop() {\n if (this.animation) {\n this.animation.stop();\n if (this.events.animationCancel) {\n this.events.animationCancel.notify();\n }\n }\n this.clearAnimation();\n }\n /**\n * Returns `true` if this value is currently animating.\n *\n * @public\n */\n isAnimating() {\n return !!this.animation;\n }\n clearAnimation() {\n delete this.animation;\n }\n /**\n * Destroy and clean up subscribers to this `MotionValue`.\n *\n * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n * created a `MotionValue` via the `motionValue` function.\n *\n * @public\n */\n destroy() {\n this.dependents?.clear();\n this.events.destroy?.notify();\n this.clearListeners();\n this.stop();\n if (this.stopPassiveEffect) {\n this.stopPassiveEffect();\n }\n }\n}\nfunction motionValue(init, options) {\n return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = \n/* @__PURE__ */ createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n","const isDragging = {\n x: false,\n y: false,\n};\nfunction isDragActive() {\n return isDragging.x || isDragging.y;\n}\n\nexport { isDragActive, isDragging };\n","import { isDragging } from './is-active.mjs';\n\nfunction setDragLock(axis) {\n if (axis === \"x\" || axis === \"y\") {\n if (isDragging[axis]) {\n return null;\n }\n else {\n isDragging[axis] = true;\n return () => {\n isDragging[axis] = false;\n };\n }\n }\n else {\n if (isDragging.x || isDragging.y) {\n return null;\n }\n else {\n isDragging.x = isDragging.y = true;\n return () => {\n isDragging.x = isDragging.y = false;\n };\n }\n }\n}\n\nexport { setDragLock };\n","import { resolveElements } from '../../utils/resolve-elements.mjs';\n\nfunction setupGesture(elementOrSelector, options) {\n const elements = resolveElements(elementOrSelector);\n const gestureAbortController = new AbortController();\n const eventOptions = {\n passive: true,\n ...options,\n signal: gestureAbortController.signal,\n };\n const cancel = () => gestureAbortController.abort();\n return [elements, eventOptions, cancel];\n}\n\nexport { setupGesture };\n","import { isDragActive } from './drag/state/is-active.mjs';\nimport { setupGesture } from './utils/setup.mjs';\n\nfunction isValidHover(event) {\n return !(event.pointerType === \"touch\" || isDragActive());\n}\n/**\n * Create a hover gesture. hover() is different to .addEventListener(\"pointerenter\")\n * in that it has an easier syntax, filters out polyfilled touch events, interoperates\n * with drag gestures, and automatically removes the \"pointerennd\" event listener when the hover ends.\n *\n * @public\n */\nfunction hover(elementOrSelector, onHoverStart, options = {}) {\n const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);\n const onPointerEnter = (enterEvent) => {\n if (!isValidHover(enterEvent))\n return;\n const { target } = enterEvent;\n const onHoverEnd = onHoverStart(target, enterEvent);\n if (typeof onHoverEnd !== \"function\" || !target)\n return;\n const onPointerLeave = (leaveEvent) => {\n if (!isValidHover(leaveEvent))\n return;\n onHoverEnd(leaveEvent);\n target.removeEventListener(\"pointerleave\", onPointerLeave);\n };\n target.addEventListener(\"pointerleave\", onPointerLeave, eventOptions);\n };\n elements.forEach((element) => {\n element.addEventListener(\"pointerenter\", onPointerEnter, eventOptions);\n });\n return cancel;\n}\n\nexport { hover };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n","const isPrimaryPointer = (event) => {\n if (event.pointerType === \"mouse\") {\n return typeof event.button !== \"number\" || event.button <= 0;\n }\n else {\n /**\n * isPrimary is true for all mice buttons, whereas every touch point\n * is regarded as its own input. So subsequent concurrent touch points\n * will be false.\n *\n * Specifically match against false here as incomplete versions of\n * PointerEvents in very old browser might have it set as undefined.\n */\n return event.isPrimary !== false;\n }\n};\n\nexport { isPrimaryPointer };\n","const focusableElements = new Set([\n \"BUTTON\",\n \"INPUT\",\n \"SELECT\",\n \"TEXTAREA\",\n \"A\",\n]);\nfunction isElementKeyboardAccessible(element) {\n return (focusableElements.has(element.tagName) ||\n element.tabIndex !== -1);\n}\n\nexport { isElementKeyboardAccessible };\n","const isPressing = new WeakSet();\n\nexport { isPressing };\n","import { isPressing } from './state.mjs';\n\n/**\n * Filter out events that are not \"Enter\" keys.\n */\nfunction filterEvents(callback) {\n return (event) => {\n if (event.key !== \"Enter\")\n return;\n callback(event);\n };\n}\nfunction firePointerEvent(target, type) {\n target.dispatchEvent(new PointerEvent(\"pointer\" + type, { isPrimary: true, bubbles: true }));\n}\nconst enableKeyboardPress = (focusEvent, eventOptions) => {\n const element = focusEvent.currentTarget;\n if (!element)\n return;\n const handleKeydown = filterEvents(() => {\n if (isPressing.has(element))\n return;\n firePointerEvent(element, \"down\");\n const handleKeyup = filterEvents(() => {\n firePointerEvent(element, \"up\");\n });\n const handleBlur = () => firePointerEvent(element, \"cancel\");\n element.addEventListener(\"keyup\", handleKeyup, eventOptions);\n element.addEventListener(\"blur\", handleBlur, eventOptions);\n });\n element.addEventListener(\"keydown\", handleKeydown, eventOptions);\n /**\n * Add an event listener that fires on blur to remove the keydown events.\n */\n element.addEventListener(\"blur\", () => element.removeEventListener(\"keydown\", handleKeydown), eventOptions);\n};\n\nexport { enableKeyboardPress };\n","import { isHTMLElement } from '../../utils/is-html-element.mjs';\nimport { isDragActive } from '../drag/state/is-active.mjs';\nimport { isNodeOrChild } from '../utils/is-node-or-child.mjs';\nimport { isPrimaryPointer } from '../utils/is-primary-pointer.mjs';\nimport { setupGesture } from '../utils/setup.mjs';\nimport { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs';\nimport { enableKeyboardPress } from './utils/keyboard.mjs';\nimport { isPressing } from './utils/state.mjs';\n\n/**\n * Filter out events that are not primary pointer events, or are triggering\n * while a Motion gesture is active.\n */\nfunction isValidPressEvent(event) {\n return isPrimaryPointer(event) && !isDragActive();\n}\n/**\n * Create a press gesture.\n *\n * Press is different to `\"pointerdown\"`, `\"pointerup\"` in that it\n * automatically filters out secondary pointer events like right\n * click and multitouch.\n *\n * It also adds accessibility support for keyboards, where\n * an element with a press gesture will receive focus and\n * trigger on Enter `\"keydown\"` and `\"keyup\"` events.\n *\n * This is different to a browser's `\"click\"` event, which does\n * respond to keyboards but only for the `\"click\"` itself, rather\n * than the press start and end/cancel. The element also needs\n * to be focusable for this to work, whereas a press gesture will\n * make an element focusable by default.\n *\n * @public\n */\nfunction press(targetOrSelector, onPressStart, options = {}) {\n const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options);\n const startPress = (startEvent) => {\n const target = startEvent.currentTarget;\n if (!isValidPressEvent(startEvent))\n return;\n isPressing.add(target);\n const onPressEnd = onPressStart(target, startEvent);\n const onPointerEnd = (endEvent, success) => {\n window.removeEventListener(\"pointerup\", onPointerUp);\n window.removeEventListener(\"pointercancel\", onPointerCancel);\n if (isPressing.has(target)) {\n isPressing.delete(target);\n }\n if (!isValidPressEvent(endEvent)) {\n return;\n }\n if (typeof onPressEnd === \"function\") {\n onPressEnd(endEvent, { success });\n }\n };\n const onPointerUp = (upEvent) => {\n onPointerEnd(upEvent, target === window ||\n target === document ||\n options.useGlobalTarget ||\n isNodeOrChild(target, upEvent.target));\n };\n const onPointerCancel = (cancelEvent) => {\n onPointerEnd(cancelEvent, false);\n };\n window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n window.addEventListener(\"pointercancel\", onPointerCancel, eventOptions);\n };\n targets.forEach((target) => {\n const pointerDownTarget = options.useGlobalTarget ? window : target;\n pointerDownTarget.addEventListener(\"pointerdown\", startPress, eventOptions);\n if (isHTMLElement(target)) {\n target.addEventListener(\"focus\", (event) => enableKeyboardPress(event, eventOptions));\n if (!isElementKeyboardAccessible(target) &&\n !target.hasAttribute(\"tabindex\")) {\n target.tabIndex = 0;\n }\n }\n });\n return cancelEvents;\n}\n\nexport { press };\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an SVG element in a way\n * that works across iframes\n */\nfunction isSVGElement(element) {\n return isObject(element) && \"ownerSVGElement\" in element;\n}\n\nexport { isSVGElement };\n","import { isSVGElement } from './is-svg-element.mjs';\n\n/**\n * Checks if an element is specifically an SVGSVGElement (the root SVG element)\n * in a way that works across iframes\n */\nfunction isSVGSVGElement(element) {\n return isSVGElement(element) && element.tagName === \"svg\";\n}\n\nexport { isSVGSVGElement };\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n","import { color } from '../color/index.mjs';\nimport { complex } from '../complex/index.mjs';\nimport { dimensionValueTypes } from '../dimensions.mjs';\nimport { testValueType } from '../test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n transformPagePoint: (p) => p,\n isStatic: false,\n reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n","\"use client\";\nimport { useContext, useId, useEffect, useCallback } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence(subscribe = true) {\n const context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n const { isPresent, onExitComplete, register } = context;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n const id = useId();\n useEffect(() => {\n if (subscribe) {\n return register(id);\n }\n }, [subscribe]);\n const safeToRemove = useCallback(() => subscribe && onExitComplete && onExitComplete(id), [id, onExitComplete, subscribe]);\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","const featureProps = {\n animation: [\n \"animate\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"exit\",\n \"whileInView\",\n \"whileFocus\",\n \"whileDrag\",\n ],\n exit: [\"exit\"],\n drag: [\"drag\", \"dragControls\"],\n focus: [\"whileFocus\"],\n hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n layout: [\"layout\", \"layoutId\"],\n};\nconst featureDefinitions = {};\nfor (const key in featureProps) {\n featureDefinitions[key] = {\n isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n };\n}\n\nexport { featureDefinitions };\n","import { featureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n for (const key in features) {\n featureDefinitions[key] = {\n ...featureDefinitions[key],\n ...features[key],\n };\n }\n}\n\nexport { loadFeatures };\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n \"animate\",\n \"exit\",\n \"variants\",\n \"initial\",\n \"style\",\n \"values\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"custom\",\n \"inherit\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"_dragX\",\n \"_dragY\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onViewportEnter\",\n \"onViewportLeave\",\n \"globalTapTarget\",\n \"ignoreStrict\",\n \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return (key.startsWith(\"while\") ||\n (key.startsWith(\"drag\") && key !== \"draggable\") ||\n key.startsWith(\"layout\") ||\n key.startsWith(\"onTap\") ||\n key.startsWith(\"onPan\") ||\n key.startsWith(\"onLayout\") ||\n validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n if (typeof isValidProp !== \"function\")\n return;\n // Explicitly filter our events\n shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n /**\n * We attempt to import this package but require won't be defined in esm environments, in that case\n * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n * in favour of explicit injection.\n */\n loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n const filteredProps = {};\n for (const key in props) {\n /**\n * values is considered a valid prop by Emotion, so if it's present\n * this will be rendered out to the DOM unless explicitly filtered.\n *\n * We check the type as it could be used with the `feColorMatrix`\n * element, which we support.\n */\n if (key === \"values\" && typeof props.values === \"object\")\n continue;\n if (shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key)) ||\n // If trying to use native HTML drag events, forward drag listeners\n (props[\"draggable\"] &&\n key.startsWith(\"onDrag\"))) {\n filteredProps[key] =\n props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n","\"use client\";\nimport { createContext } from 'react';\n\nconst MotionContext = /* @__PURE__ */ createContext({});\n\nexport { MotionContext };\n","function isAnimationControls(v) {\n return (v !== null &&\n typeof v === \"object\" &&\n typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n","const variantPriorityOrder = [\n \"animate\",\n \"whileInView\",\n \"whileFocus\",\n \"whileHover\",\n \"whileTap\",\n \"whileDrag\",\n \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n","import { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n return (isAnimationControls(props.animate) ||\n variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n","import { isControllingVariants } from '../../render/utils/is-controlling-variants.mjs';\nimport { isVariantLabel } from '../../render/utils/is-variant-label.mjs';\n\nfunction getCurrentTreeVariants(props, context) {\n if (isControllingVariants(props)) {\n const { initial, animate } = props;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","\"use client\";\nimport { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { px } from 'motion-dom';\n\nfunction pixelsToPercent(pixels, axis) {\n if (axis.max === axis.min)\n return 0;\n return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n correct: (latest, node) => {\n if (!node.target)\n return latest;\n /**\n * If latest is a string, if it's a percentage we can return immediately as it's\n * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n */\n if (typeof latest === \"string\") {\n if (px.test(latest)) {\n latest = parseFloat(latest);\n }\n else {\n return latest;\n }\n }\n /**\n * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n * pixel value as a percentage of each axis\n */\n const x = pixelsToPercent(latest, node.target.x);\n const y = pixelsToPercent(latest, node.target.y);\n return `${x}% ${y}%`;\n },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n","import { complex, mixNumber } from 'motion-dom';\n\nconst correctBoxShadow = {\n correct: (latest, { treeScale, projectionDelta }) => {\n const original = latest;\n const shadow = complex.parse(latest);\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5)\n return original;\n const template = complex.createTransformer(latest);\n const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n // Calculate the overall context scale\n const xScale = projectionDelta.x.scale * treeScale.x;\n const yScale = projectionDelta.y.scale * treeScale.y;\n shadow[0 + offset] /= xScale;\n shadow[1 + offset] /= yScale;\n /**\n * Ideally we'd correct x and y scales individually, but because blur and\n * spread apply to both we have to take a scale average and apply that instead.\n * We could potentially improve the outcome of this by incorporating the ratio between\n * the two scales.\n */\n const averageScale = mixNumber(xScale, yScale, 0.5);\n // Blur\n if (typeof shadow[2 + offset] === \"number\")\n shadow[2 + offset] /= averageScale;\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n shadow[3 + offset] /= averageScale;\n return template(shadow);\n },\n};\n\nexport { correctBoxShadow };\n","import { isCSSVariableName } from 'motion-dom';\nimport { correctBorderRadius } from './scale-border-radius.mjs';\nimport { correctBoxShadow } from './scale-box-shadow.mjs';\n\nconst scaleCorrectors = {\n borderRadius: {\n ...correctBorderRadius,\n applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ],\n },\n borderTopLeftRadius: correctBorderRadius,\n borderTopRightRadius: correctBorderRadius,\n borderBottomLeftRadius: correctBorderRadius,\n borderBottomRightRadius: correctBorderRadius,\n boxShadow: correctBoxShadow,\n};\nfunction addScaleCorrector(correctors) {\n for (const key in correctors) {\n scaleCorrectors[key] = correctors[key];\n if (isCSSVariableName(key)) {\n scaleCorrectors[key].isCSSVariable = true;\n }\n }\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n","import { transformProps } from 'motion-dom';\nimport { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n return (transformProps.has(key) ||\n key.startsWith(\"origin\") ||\n ((layout || layoutId !== undefined) &&\n (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","import { transformPropOrder, getValueAsType, numberValueTypes } from 'motion-dom';\n\nconst translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(latestValues, transform, transformTemplate) {\n // The transform string we're going to build into.\n let transformString = \"\";\n let transformIsDefault = true;\n /**\n * Loop over all possible transforms in order, adding the ones that\n * are present to the transform string.\n */\n for (let i = 0; i < numTransforms; i++) {\n const key = transformPropOrder[i];\n const value = latestValues[key];\n if (value === undefined)\n continue;\n let valueIsDefault = true;\n if (typeof value === \"number\") {\n valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0);\n }\n else {\n valueIsDefault = parseFloat(value) === 0;\n }\n if (!valueIsDefault || transformTemplate) {\n const valueAsType = getValueAsType(value, numberValueTypes[key]);\n if (!valueIsDefault) {\n transformIsDefault = false;\n const transformName = translateAlias[key] || key;\n transformString += `${transformName}(${valueAsType}) `;\n }\n if (transformTemplate) {\n transform[key] = valueAsType;\n }\n }\n }\n transformString = transformString.trim();\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n\nexport { buildTransform };\n","import { transformProps, isCSSVariableName, getValueAsType, numberValueTypes } from 'motion-dom';\nimport { buildTransform } from './build-transform.mjs';\n\nfunction buildHTMLStyles(state, latestValues, transformTemplate) {\n const { style, vars, transformOrigin } = state;\n // Track whether we encounter any transform or transformOrigin values.\n let hasTransform = false;\n let hasTransformOrigin = false;\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept separately for further processing.\n */\n for (const key in latestValues) {\n const value = latestValues[key];\n if (transformProps.has(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n continue;\n }\n else if (isCSSVariableName(key)) {\n vars[key] = value;\n continue;\n }\n else {\n // Convert the value to its default value type, ie 0 -> \"0px\"\n const valueAsType = getValueAsType(value, numberValueTypes[key]);\n if (key.startsWith(\"origin\")) {\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n transformOrigin[key] =\n valueAsType;\n }\n else {\n style[key] = valueAsType;\n }\n }\n }\n if (!latestValues.transform) {\n if (hasTransform || transformTemplate) {\n style.transform = buildTransform(latestValues, state.transform, transformTemplate);\n }\n else if (style.transform) {\n /**\n * If we have previously created a transform but currently don't have any,\n * reset transform style to none.\n */\n style.transform = \"none\";\n }\n }\n /**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\n if (hasTransformOrigin) {\n const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n style.transformOrigin = `${originX} ${originY} ${originZ}`;\n }\n}\n\nexport { buildHTMLStyles };\n","const createHtmlRenderState = () => ({\n style: {},\n transform: {},\n transformOrigin: {},\n vars: {},\n});\n\nexport { createHtmlRenderState };\n","\"use client\";\nimport { isMotionValue } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (const key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState) {\n return useMemo(() => {\n const state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, transformTemplate);\n return Object.assign({}, state.vars, state.style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState) {\n const styleProp = props.style || {};\n const style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState));\n return style;\n}\nfunction useHTMLProps(props, visualState) {\n // The `any` isn't ideal but it is the type of createElement props argument\n const htmlProps = {};\n const style = useStyle(props, visualState);\n if (props.drag && props.dragListener !== false) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect =\n style.WebkitUserSelect =\n style.WebkitTouchCallout =\n \"none\";\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n }\n if (props.tabIndex === undefined &&\n (props.onTap || props.onTapStart || props.whileTap)) {\n htmlProps.tabIndex = 0;\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n","import { px } from 'motion-dom';\n\nconst dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n // Normalise path length by setting SVG attribute pathLength to 1\n attrs.pathLength = 1;\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n const keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = px.transform(-offset);\n // Build the dash array\n const pathLength = px.transform(length);\n const pathSpacing = px.transform(spacing);\n attrs[keys.array] = `${pathLength} ${pathSpacing}`;\n}\n\nexport { buildSVGPath };\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, isSVGTag, transformTemplate, styleProp) {\n buildHTMLStyles(state, latest, transformTemplate);\n /**\n * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n * as normal HTML tags.\n */\n if (isSVGTag) {\n if (state.style.viewBox) {\n state.attrs.viewBox = state.style.viewBox;\n }\n return;\n }\n state.attrs = state.style;\n state.style = {};\n const { attrs, style } = state;\n /**\n * However, we apply transforms as CSS transforms.\n * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n */\n if (attrs.transform) {\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n if (style.transform || attrs.transformOrigin) {\n style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\";\n delete attrs.transformOrigin;\n }\n if (style.transform) {\n /**\n * SVG's element transform-origin uses its own median as a reference.\n * Therefore, transformBox becomes a fill-box\n */\n style.transformBox = styleProp?.transformBox ?? \"fill-box\";\n delete attrs.transformBox;\n }\n // Render attrX/attrY/attrScale as attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n if (attrScale !== undefined)\n attrs.scale = attrScale;\n // Build SVG path if one has been defined\n if (pathLength !== undefined) {\n buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n ...createHtmlRenderState(),\n attrs: {},\n});\n\nexport { createSvgRenderState };\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n","\"use client\";\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n const visualProps = useMemo(() => {\n const state = createSvgRenderState();\n buildSVGAttrs(state, visualState, isSVGTag(Component), props.transformTemplate, props.style);\n return {\n ...state.attrs,\n style: { ...state.style },\n };\n }, [visualState]);\n if (props.style) {\n const rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = { ...rawStyles, ...visualProps.style };\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"switch\",\n \"symbol\",\n \"svg\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")) {\n return false;\n }\n else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/u.test(Component)) {\n return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","\"use client\";\nimport { isMotionValue } from 'motion-dom';\nimport { Fragment, useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nfunction useRender(Component, props, ref, { latestValues, }, isStatic, forwardMotionProps = false) {\n const useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n const elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};\n /**\n * If component has been handed a motion value as its child,\n * memoise its initial value and render that. Subsequent updates\n * will be handled by the onChange handler\n */\n const { children } = props;\n const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n return createElement(Component, {\n ...elementProps,\n children: renderedChildren,\n });\n}\n\nexport { useRender };\n","function getValueState(visualElement) {\n const state = [{}, {}];\n visualElement?.values.forEach((value, key) => {\n state[0][key] = value.get();\n state[1][key] = value.getVelocity();\n });\n return state;\n}\nfunction resolveVariantFromProps(props, definition, custom, visualElement) {\n /**\n * If the variant definition is a function, resolve.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement);\n definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n }\n /**\n * If the variant definition is a variant label, or\n * the function returned a variant label, resolve.\n */\n if (typeof definition === \"string\") {\n definition = props.variants && props.variants[definition];\n }\n /**\n * At this point we've resolved both functions and variant labels,\n * but the resolved variant label might itself have been a function.\n * If so, resolve. This can only have returned a valid target object.\n */\n if (typeof definition === \"function\") {\n const [current, velocity] = getValueState(visualElement);\n definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n }\n return definition;\n}\n\nexport { resolveVariantFromProps };\n","import { isMotionValue } from 'motion-dom';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n */\nfunction resolveMotionValue(value) {\n return isMotionValue(value) ? value.get() : value;\n}\n\nexport { resolveMotionValue };\n","\"use client\";\nimport { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { isControllingVariants, isVariantNode } from '../../render/utils/is-controlling-variants.mjs';\nimport { resolveVariantFromProps } from '../../render/utils/resolve-variants.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, }, props, context, presenceContext) {\n const state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n return state;\n}\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n const values = {};\n const motionValues = scrapeMotionValues(props, {});\n for (const key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n let { initial, animate } = props;\n const isControllingVariants$1 = isControllingVariants(props);\n const isVariantNode$1 = isVariantNode(props);\n if (context &&\n isVariantNode$1 &&\n !isControllingVariants$1 &&\n props.inherit !== false) {\n if (initial === undefined)\n initial = context.initial;\n if (animate === undefined)\n animate = context.animate;\n }\n let isInitialAnimationBlocked = presenceContext\n ? presenceContext.initial === false\n : false;\n isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n const variantToSet = isInitialAnimationBlocked ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n for (let i = 0; i < list.length; i++) {\n const resolved = resolveVariantFromProps(props, list[i]);\n if (resolved) {\n const { transitionEnd, transition, ...target } = resolved;\n for (const key in target) {\n let valueTarget = target[key];\n if (Array.isArray(valueTarget)) {\n /**\n * Take final keyframe if the initial animation is blocked because\n * we want to initialise at the end of that blocked animation.\n */\n const index = isInitialAnimationBlocked\n ? valueTarget.length - 1\n : 0;\n valueTarget = valueTarget[index];\n }\n if (valueTarget !== null) {\n values[key] = valueTarget;\n }\n }\n for (const key in transitionEnd) {\n values[key] = transitionEnd[key];\n }\n }\n }\n }\n return values;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n const context = useContext(MotionContext);\n const presenceContext = useContext(PresenceContext);\n const make = () => makeState(config, props, context, presenceContext);\n return isStatic ? make() : useConstant(make);\n};\n\nexport { makeUseVisualState };\n","import { isMotionValue } from 'motion-dom';\nimport { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n const { style } = props;\n const newValues = {};\n for (const key in style) {\n if (isMotionValue(style[key]) ||\n (prevProps.style &&\n isMotionValue(prevProps.style[key])) ||\n isForcedMotionValue(key, props) ||\n visualElement?.getValue(key)?.liveStyle !== undefined) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","\"use client\";\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nconst useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n});\n\nexport { useHTMLVisualState };\n","import { isMotionValue, transformPropOrder } from 'motion-dom';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);\n for (const key in props) {\n if (isMotionValue(props[key]) ||\n isMotionValue(prevProps[key])) {\n const targetKey = transformPropOrder.indexOf(key) !== -1\n ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","\"use client\";\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nconst useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n});\n\nexport { useSVGVisualState };\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n","function isRefObject(ref) {\n return (ref &&\n typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","\"use client\";\nimport { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback((instance) => {\n if (instance) {\n visualState.onMount && visualState.onMount(instance);\n }\n if (visualElement) {\n if (instance) {\n visualElement.mount(instance);\n }\n else {\n visualElement.unmount();\n }\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Include externalRef in dependencies to ensure the callback updates\n * when the ref changes, allowing proper ref forwarding.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","/**\n * Convert camelCase to dash-case properties.\n */\nconst camelToDash = (str) => str.replace(/([a-z])([A-Z])/gu, \"$1-$2\").toLowerCase();\n\nexport { camelToDash };\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n","\"use client\";\nimport { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { optimizedAppearDataAttribute } from '../../animation/optimized-appear/data-id.mjs';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../context/SwitchLayoutGroupContext.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor) {\n const { visualElement: parent } = useContext(MotionContext);\n const lazyContext = useContext(LazyContext);\n const presenceContext = useContext(PresenceContext);\n const reducedMotionConfig = useContext(MotionConfigContext).reducedMotion;\n const visualElementRef = useRef(null);\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n createVisualElement =\n createVisualElement ||\n lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState,\n parent,\n props,\n presenceContext,\n blockInitialAnimation: presenceContext\n ? presenceContext.initial === false\n : false,\n reducedMotionConfig,\n });\n }\n const visualElement = visualElementRef.current;\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n */\n const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n if (visualElement &&\n !visualElement.projection &&\n ProjectionNodeConstructor &&\n (visualElement.type === \"html\" || visualElement.type === \"svg\")) {\n createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);\n }\n const isMounted = useRef(false);\n useInsertionEffect(() => {\n /**\n * Check the component has already mounted before calling\n * `update` unnecessarily. This ensures we skip the initial update.\n */\n if (visualElement && isMounted.current) {\n visualElement.update(props, presenceContext);\n }\n });\n /**\n * Cache this value as we want to know whether HandoffAppearAnimations\n * was present on initial render - it will be deleted after this.\n */\n const optimisedAppearId = props[optimizedAppearDataAttribute];\n const wantsHandoff = useRef(Boolean(optimisedAppearId) &&\n !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n window.MotionHasOptimisedAnimation?.(optimisedAppearId));\n useIsomorphicLayoutEffect(() => {\n if (!visualElement)\n return;\n isMounted.current = true;\n window.MotionIsMounted = true;\n visualElement.updateFeatures();\n visualElement.scheduleRenderMicrotask();\n /**\n * Ideally this function would always run in a useEffect.\n *\n * However, if we have optimised appear animations to handoff from,\n * it needs to happen synchronously to ensure there's no flash of\n * incorrect styles in the event of a hydration error.\n *\n * So if we detect a situtation where optimised appear animations\n * are running, we use useLayoutEffect to trigger animations.\n */\n if (wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n });\n useEffect(() => {\n if (!visualElement)\n return;\n if (!wantsHandoff.current && visualElement.animationState) {\n visualElement.animationState.animateChanges();\n }\n if (wantsHandoff.current) {\n // This ensures all future calls to animateChanges() in this component will run in useEffect\n queueMicrotask(() => {\n window.MotionHandoffMarkAsComplete?.(optimisedAppearId);\n });\n wantsHandoff.current = false;\n }\n /**\n * Now we've finished triggering animations for this element we\n * can wipe the enteringChildren set for the next render.\n */\n visualElement.enteringChildren = undefined;\n });\n return visualElement;\n}\nfunction createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {\n const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, layoutCrossfade, } = props;\n visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props[\"data-framer-portal-id\"]\n ? undefined\n : getClosestProjectingNode(visualElement.parent));\n visualElement.projection.setOptions({\n layoutId,\n layout,\n alwaysMeasureLayout: Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n visualElement,\n /**\n * TODO: Update options in an effect. This could be tricky as it'll be too late\n * to update by the time layout animations run.\n * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n * ensuring it gets called if there's no potential layout animations.\n *\n */\n animationType: typeof layout === \"string\" ? layout : \"both\",\n initialPromotionConfig,\n crossfade: layoutCrossfade,\n layoutScroll,\n layoutRoot,\n });\n}\nfunction getClosestProjectingNode(visualElement) {\n if (!visualElement)\n return undefined;\n return visualElement.options.allowProjection !== false\n ? visualElement.projection\n : getClosestProjectingNode(visualElement.parent);\n}\n\nexport { useVisualElement };\n","\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { warning, invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { useRender } from '../render/dom/use-render.mjs';\nimport { isSVGComponent } from '../render/dom/utils/is-svg-component.mjs';\nimport { useHTMLVisualState } from '../render/html/use-html-visual-state.mjs';\nimport { useSVGVisualState } from '../render/svg/use-svg-visual-state.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { featureDefinitions } from './features/definitions.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent(Component, { forwardMotionProps = false } = {}, preloadedFeatures, createVisualElement) {\n preloadedFeatures && loadFeatures(preloadedFeatures);\n const useVisualState = isSVGComponent(Component)\n ? useSVGVisualState\n : useHTMLVisualState;\n function MotionDOMComponent(props, externalRef) {\n /**\n * If we need to measure the element we load this functionality in a\n * separate class component in order to gain access to getSnapshotBeforeUpdate.\n */\n let MeasureLayout;\n const configAndProps = {\n ...useContext(MotionConfigContext),\n ...props,\n layoutId: useLayoutId(props),\n };\n const { isStatic } = configAndProps;\n const context = useCreateMotionContext(props);\n const visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n useStrictMode(configAndProps, preloadedFeatures);\n const layoutProjection = getProjectionFunctionality(configAndProps);\n MeasureLayout = layoutProjection.MeasureLayout;\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode);\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps)] }));\n }\n MotionDOMComponent.displayName = `motion.${typeof Component === \"string\"\n ? Component\n : `create(${Component.displayName ?? Component.name ?? \"\"})`}`;\n const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);\n ForwardRefMotionComponent[motionComponentSymbol] = Component;\n return ForwardRefMotionComponent;\n}\nfunction useLayoutId({ layoutId }) {\n const layoutGroupId = useContext(LayoutGroupContext).id;\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\nfunction useStrictMode(configAndProps, preloadedFeatures) {\n const isStrict = useContext(LazyContext).strict;\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n isStrict) {\n const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n configAndProps.ignoreStrict\n ? warning(false, strictMessage, \"lazy-strict-mode\")\n : invariant(false, strictMessage, \"lazy-strict-mode\");\n }\n}\nfunction getProjectionFunctionality(props) {\n const { drag, layout } = featureDefinitions;\n if (!drag && !layout)\n return {};\n const combined = { ...drag, ...layout };\n return {\n MeasureLayout: drag?.isEnabled(props) || layout?.isEnabled(props)\n ? combined.MeasureLayout\n : undefined,\n ProjectionNode: combined.ProjectionNode,\n };\n}\n\nexport { createMotionComponent };\n","import { warnOnce } from 'motion-utils';\nimport { createMotionComponent } from '../../motion/index.mjs';\n\nfunction createMotionProxy(preloadedFeatures, createVisualElement) {\n if (typeof Proxy === \"undefined\") {\n return createMotionComponent;\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n const componentCache = new Map();\n const factory = (Component, options) => {\n return createMotionComponent(Component, options, preloadedFeatures, createVisualElement);\n };\n /**\n * Support for deprecated`motion(Component)` pattern\n */\n const deprecatedFactoryFunction = (Component, options) => {\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(false, \"motion() is deprecated. Use motion.create() instead.\");\n }\n return factory(Component, options);\n };\n return new Proxy(deprecatedFactoryFunction, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: (_target, key) => {\n if (key === \"create\")\n return factory;\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, createMotionComponent(key, undefined, preloadedFeatures, createVisualElement));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n return {\n x: { min: left, max: right },\n y: { min: top, max: bottom },\n };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n if (!transformPoint)\n return point;\n const topLeft = transformPoint({ x: point.left, y: point.top });\n const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n return {\n top: topLeft.y,\n left: topLeft.x,\n bottom: bottomRight.y,\n right: bottomRight.x,\n };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n","function isIdentityScale(scale) {\n return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n return (!isIdentityScale(scale) ||\n !isIdentityScale(scaleX) ||\n !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n return (hasScale(values) ||\n has2DTranslate(values) ||\n values.z ||\n values.rotate ||\n values.rotateX ||\n values.rotateY ||\n values.skewX ||\n values.skewY);\n}\nfunction has2DTranslate(values) {\n return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n","import { mixNumber } from 'motion-dom';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n const distanceFromOrigin = point - originPoint;\n const scaled = scale * distanceFromOrigin;\n return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n if (boxScale !== undefined) {\n point = scalePoint(point, boxScale, originPoint);\n }\n return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\nconst TREE_SCALE_SNAP_MIN = 0.999999999999;\nconst TREE_SCALE_SNAP_MAX = 1.0000000000001;\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n const treeLength = treePath.length;\n if (!treeLength)\n return;\n // Reset the treeScale\n treeScale.x = treeScale.y = 1;\n let node;\n let delta;\n for (let i = 0; i < treeLength; i++) {\n node = treePath[i];\n delta = node.projectionDelta;\n /**\n * TODO: Prefer to remove this, but currently we have motion components with\n * display: contents in Framer.\n */\n const { visualElement } = node.options;\n if (visualElement &&\n visualElement.props.style &&\n visualElement.props.style.display === \"contents\") {\n continue;\n }\n if (isSharedTransition &&\n node.options.layoutScroll &&\n node.scroll &&\n node !== node.root) {\n transformBox(box, {\n x: -node.scroll.offset.x,\n y: -node.scroll.offset.y,\n });\n }\n if (delta) {\n // Incoporate each ancestor's scale into a culmulative treeScale for this component\n treeScale.x *= delta.x.scale;\n treeScale.y *= delta.y.scale;\n // Apply each ancestor's calculated delta into this component's recorded layout box\n applyBoxDelta(box, delta);\n }\n if (isSharedTransition && hasTransform(node.latestValues)) {\n transformBox(box, node.latestValues);\n }\n }\n /**\n * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n * This will help reduce useless scales getting rendered.\n */\n if (treeScale.x < TREE_SCALE_SNAP_MAX &&\n treeScale.x > TREE_SCALE_SNAP_MIN) {\n treeScale.x = 1.0;\n }\n if (treeScale.y < TREE_SCALE_SNAP_MAX &&\n treeScale.y > TREE_SCALE_SNAP_MIN) {\n treeScale.y = 1.0;\n }\n}\nfunction translateAxis(axis, distance) {\n axis.min = axis.min + distance;\n axis.max = axis.max + distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {\n const originPoint = mixNumber(axis.min, axis.max, axisOrigin);\n // Apply the axis delta to the final axis\n applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);\n}\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform) {\n transformAxis(box.x, transform.x, transform.scaleX, transform.scale, transform.originX);\n transformAxis(box.y, transform.y, transform.scaleY, transform.scale, transform.originY);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n const viewportBox = measureViewportBox(element, transformPagePoint);\n const { scroll } = rootProjectionNode;\n if (scroll) {\n translateAxis(viewportBox.x, scroll.offset.x);\n translateAxis(viewportBox.y, scroll.offset.y);\n }\n return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n","const createAxisDelta = () => ({\n translate: 0,\n scale: 1,\n origin: 0,\n originPoint: 0,\n});\nconst createDelta = () => ({\n x: createAxisDelta(),\n y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n x: createAxis(),\n y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n","import { isBrowser } from '../is-browser.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nfunction initPrefersReducedMotion() {\n hasReducedMotionListener.current = true;\n if (!isBrowser)\n return;\n if (window.matchMedia) {\n const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n motionMediaQuery.addEventListener(\"change\", setReducedMotionPreferences);\n setReducedMotionPreferences();\n }\n else {\n prefersReducedMotion.current = false;\n }\n}\n\nexport { initPrefersReducedMotion };\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n","import { isMotionValue, motionValue } from 'motion-dom';\n\nfunction updateMotionValuesFromProps(element, next, prev) {\n for (const key in next) {\n const nextValue = next[key];\n const prevValue = prev[key];\n if (isMotionValue(nextValue)) {\n /**\n * If this is a motion value found in props or style, we want to add it\n * to our visual element's motion value map.\n */\n element.addValue(key, nextValue);\n }\n else if (isMotionValue(prevValue)) {\n /**\n * If we're swapping from a motion value to a static value,\n * create a new motion value from that\n */\n element.addValue(key, motionValue(nextValue, { owner: element }));\n }\n else if (prevValue !== nextValue) {\n /**\n * If this is a flat value that has changed, update the motion value\n * or create one if it doesn't exist. We only want to do this if we're\n * not handling the value with our animation state.\n */\n if (element.hasValue(key)) {\n const existingValue = element.getValue(key);\n if (existingValue.liveStyle === true) {\n existingValue.jump(nextValue);\n }\n else if (!existingValue.hasAnimated) {\n existingValue.set(nextValue);\n }\n }\n else {\n const latestValue = element.getStaticValue(key);\n element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n }\n }\n }\n // Handle removed values\n for (const key in prev) {\n if (next[key] === undefined)\n element.removeValue(key);\n }\n return next;\n}\n\nexport { updateMotionValuesFromProps };\n","import { KeyframeResolver, time, frame, isMotionValue, cancelFrame, transformProps, motionValue, findValueType, complex, getAnimatableNone, microtask } from 'motion-dom';\nimport { warnOnce, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils';\nimport { featureDefinitions } from '../motion/features/definitions.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { initPrefersReducedMotion } from '../utils/reduced-motion/index.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from '../utils/reduced-motion/state.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\n\nconst propEventHandlers = [\n \"AnimationStart\",\n \"AnimationComplete\",\n \"Update\",\n \"BeforeLayoutMeasure\",\n \"LayoutMeasure\",\n \"LayoutAnimationStart\",\n \"LayoutAnimationComplete\",\n];\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n /**\n * This method takes React props and returns found MotionValues. For example, HTML\n * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n *\n * This isn't an abstract method as it needs calling in the constructor, but it is\n * intended to be one.\n */\n scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {\n return {};\n }\n constructor({ parent, props, presenceContext, reducedMotionConfig, blockInitialAnimation, visualState, }, options = {}) {\n /**\n * A reference to the current underlying Instance, e.g. a HTMLElement\n * or Three.Mesh etc.\n */\n this.current = null;\n /**\n * A set containing references to this VisualElement's children.\n */\n this.children = new Set();\n /**\n * Determine what role this visual element should take in the variant tree.\n */\n this.isVariantNode = false;\n this.isControllingVariants = false;\n /**\n * Decides whether this VisualElement should animate in reduced motion\n * mode.\n *\n * TODO: This is currently set on every individual VisualElement but feels\n * like it could be set globally.\n */\n this.shouldReduceMotion = null;\n /**\n * A map of all motion values attached to this visual element. Motion\n * values are source of truth for any given animated value. A motion\n * value might be provided externally by the component via props.\n */\n this.values = new Map();\n this.KeyframeResolver = KeyframeResolver;\n /**\n * Cleanup functions for active features (hover/tap/exit etc)\n */\n this.features = {};\n /**\n * A map of every subscription that binds the provided or generated\n * motion values onChange listeners to this visual element.\n */\n this.valueSubscriptions = new Map();\n /**\n * A reference to the previously-provided motion values as returned\n * from scrapeMotionValuesFromProps. We use the keys in here to determine\n * if any motion values need to be removed after props are updated.\n */\n this.prevMotionValues = {};\n /**\n * An object containing a SubscriptionManager for each active event.\n */\n this.events = {};\n /**\n * An object containing an unsubscribe function for each prop event subscription.\n * For example, every \"Update\" event can have multiple subscribers via\n * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n */\n this.propEventSubscriptions = {};\n this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n this.render = () => {\n if (!this.current)\n return;\n this.triggerBuild();\n this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n };\n this.renderScheduledAt = 0.0;\n this.scheduleRender = () => {\n const now = time.now();\n if (this.renderScheduledAt < now) {\n this.renderScheduledAt = now;\n frame.render(this.render, false, true);\n }\n };\n const { latestValues, renderState } = visualState;\n this.latestValues = latestValues;\n this.baseTarget = { ...latestValues };\n this.initialValues = props.initial ? { ...latestValues } : {};\n this.renderState = renderState;\n this.parent = parent;\n this.props = props;\n this.presenceContext = presenceContext;\n this.depth = parent ? parent.depth + 1 : 0;\n this.reducedMotionConfig = reducedMotionConfig;\n this.options = options;\n this.blockInitialAnimation = Boolean(blockInitialAnimation);\n this.isControllingVariants = isControllingVariants(props);\n this.isVariantNode = isVariantNode(props);\n if (this.isVariantNode) {\n this.variantChildren = new Set();\n }\n this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n /**\n * Any motion values that are provided to the element when created\n * aren't yet bound to the element, as this would technically be impure.\n * However, we iterate through the motion values and set them to the\n * initial values for this component.\n *\n * TODO: This is impure and we should look at changing this to run on mount.\n * Doing so will break some tests but this isn't necessarily a breaking change,\n * more a reflection of the test.\n */\n const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);\n for (const key in initialMotionValues) {\n const value = initialMotionValues[key];\n if (latestValues[key] !== undefined && isMotionValue(value)) {\n value.set(latestValues[key]);\n }\n }\n }\n mount(instance) {\n this.current = instance;\n visualElementStore.set(instance, this);\n if (this.projection && !this.projection.instance) {\n this.projection.mount(instance);\n }\n if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n this.removeFromVariantTree = this.parent.addVariantChild(this);\n }\n this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n if (!hasReducedMotionListener.current) {\n initPrefersReducedMotion();\n }\n this.shouldReduceMotion =\n this.reducedMotionConfig === \"never\"\n ? false\n : this.reducedMotionConfig === \"always\"\n ? true\n : prefersReducedMotion.current;\n if (process.env.NODE_ENV !== \"production\") {\n warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\", \"reduced-motion-disabled\");\n }\n this.parent?.addChild(this);\n this.update(this.props, this.presenceContext);\n }\n unmount() {\n this.projection && this.projection.unmount();\n cancelFrame(this.notifyUpdate);\n cancelFrame(this.render);\n this.valueSubscriptions.forEach((remove) => remove());\n this.valueSubscriptions.clear();\n this.removeFromVariantTree && this.removeFromVariantTree();\n this.parent?.removeChild(this);\n for (const key in this.events) {\n this.events[key].clear();\n }\n for (const key in this.features) {\n const feature = this.features[key];\n if (feature) {\n feature.unmount();\n feature.isMounted = false;\n }\n }\n this.current = null;\n }\n addChild(child) {\n this.children.add(child);\n this.enteringChildren ?? (this.enteringChildren = new Set());\n this.enteringChildren.add(child);\n }\n removeChild(child) {\n this.children.delete(child);\n this.enteringChildren && this.enteringChildren.delete(child);\n }\n bindToMotionValue(key, value) {\n if (this.valueSubscriptions.has(key)) {\n this.valueSubscriptions.get(key)();\n }\n const valueIsTransform = transformProps.has(key);\n if (valueIsTransform && this.onBindTransform) {\n this.onBindTransform();\n }\n const removeOnChange = value.on(\"change\", (latestValue) => {\n this.latestValues[key] = latestValue;\n this.props.onUpdate && frame.preRender(this.notifyUpdate);\n if (valueIsTransform && this.projection) {\n this.projection.isTransformDirty = true;\n }\n this.scheduleRender();\n });\n let removeSyncCheck;\n if (window.MotionCheckAppearSync) {\n removeSyncCheck = window.MotionCheckAppearSync(this, key, value);\n }\n this.valueSubscriptions.set(key, () => {\n removeOnChange();\n if (removeSyncCheck)\n removeSyncCheck();\n if (value.owner)\n value.stop();\n });\n }\n sortNodePosition(other) {\n /**\n * If these nodes aren't even of the same type we can't compare their depth.\n */\n if (!this.current ||\n !this.sortInstanceNodePosition ||\n this.type !== other.type) {\n return 0;\n }\n return this.sortInstanceNodePosition(this.current, other.current);\n }\n updateFeatures() {\n let key = \"animation\";\n for (key in featureDefinitions) {\n const featureDefinition = featureDefinitions[key];\n if (!featureDefinition)\n continue;\n const { isEnabled, Feature: FeatureConstructor } = featureDefinition;\n /**\n * If this feature is enabled but not active, make a new instance.\n */\n if (!this.features[key] &&\n FeatureConstructor &&\n isEnabled(this.props)) {\n this.features[key] = new FeatureConstructor(this);\n }\n /**\n * If we have a feature, mount or update it.\n */\n if (this.features[key]) {\n const feature = this.features[key];\n if (feature.isMounted) {\n feature.update();\n }\n else {\n feature.mount();\n feature.isMounted = true;\n }\n }\n }\n }\n triggerBuild() {\n this.build(this.renderState, this.latestValues, this.props);\n }\n /**\n * Measure the current viewport box with or without transforms.\n * Only measures axis-aligned boxes, rotate and skew must be manually\n * removed with a re-render to work.\n */\n measureViewportBox() {\n return this.current\n ? this.measureInstanceViewportBox(this.current, this.props)\n : createBox();\n }\n getStaticValue(key) {\n return this.latestValues[key];\n }\n setStaticValue(key, value) {\n this.latestValues[key] = value;\n }\n /**\n * Update the provided props. Ensure any newly-added motion values are\n * added to our map, old ones removed, and listeners updated.\n */\n update(props, presenceContext) {\n if (props.transformTemplate || this.props.transformTemplate) {\n this.scheduleRender();\n }\n this.prevProps = this.props;\n this.props = props;\n this.prevPresenceContext = this.presenceContext;\n this.presenceContext = presenceContext;\n /**\n * Update prop event handlers ie onAnimationStart, onAnimationComplete\n */\n for (let i = 0; i < propEventHandlers.length; i++) {\n const key = propEventHandlers[i];\n if (this.propEventSubscriptions[key]) {\n this.propEventSubscriptions[key]();\n delete this.propEventSubscriptions[key];\n }\n const listenerName = (\"on\" + key);\n const listener = props[listenerName];\n if (listener) {\n this.propEventSubscriptions[key] = this.on(key, listener);\n }\n }\n this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps, this), this.prevMotionValues);\n if (this.handleChildMotionValue) {\n this.handleChildMotionValue();\n }\n }\n getProps() {\n return this.props;\n }\n /**\n * Returns the variant definition with a given name.\n */\n getVariant(name) {\n return this.props.variants ? this.props.variants[name] : undefined;\n }\n /**\n * Returns the defined default transition on this component.\n */\n getDefaultTransition() {\n return this.props.transition;\n }\n getTransformPagePoint() {\n return this.props.transformPagePoint;\n }\n getClosestVariantNode() {\n return this.isVariantNode\n ? this\n : this.parent\n ? this.parent.getClosestVariantNode()\n : undefined;\n }\n /**\n * Add a child visual element to our set of children.\n */\n addVariantChild(child) {\n const closestVariantNode = this.getClosestVariantNode();\n if (closestVariantNode) {\n closestVariantNode.variantChildren &&\n closestVariantNode.variantChildren.add(child);\n return () => closestVariantNode.variantChildren.delete(child);\n }\n }\n /**\n * Add a motion value and bind it to this visual element.\n */\n addValue(key, value) {\n // Remove existing value if it exists\n const existingValue = this.values.get(key);\n if (value !== existingValue) {\n if (existingValue)\n this.removeValue(key);\n this.bindToMotionValue(key, value);\n this.values.set(key, value);\n this.latestValues[key] = value.get();\n }\n }\n /**\n * Remove a motion value and unbind any active subscriptions.\n */\n removeValue(key) {\n this.values.delete(key);\n const unsubscribe = this.valueSubscriptions.get(key);\n if (unsubscribe) {\n unsubscribe();\n this.valueSubscriptions.delete(key);\n }\n delete this.latestValues[key];\n this.removeValueFromRenderState(key, this.renderState);\n }\n /**\n * Check whether we have a motion value for this key\n */\n hasValue(key) {\n return this.values.has(key);\n }\n getValue(key, defaultValue) {\n if (this.props.values && this.props.values[key]) {\n return this.props.values[key];\n }\n let value = this.values.get(key);\n if (value === undefined && defaultValue !== undefined) {\n value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });\n this.addValue(key, value);\n }\n return value;\n }\n /**\n * If we're trying to animate to a previously unencountered value,\n * we need to check for it in our state and as a last resort read it\n * directly from the instance (which might have performance implications).\n */\n readValue(key, target) {\n let value = this.latestValues[key] !== undefined || !this.current\n ? this.latestValues[key]\n : this.getBaseTargetFromProps(this.props, key) ??\n this.readValueFromInstance(this.current, key, this.options);\n if (value !== undefined && value !== null) {\n if (typeof value === \"string\" &&\n (isNumericalString(value) || isZeroValueString(value))) {\n // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n value = parseFloat(value);\n }\n else if (!findValueType(value) && complex.test(target)) {\n value = getAnimatableNone(key, target);\n }\n this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);\n }\n return isMotionValue(value) ? value.get() : value;\n }\n /**\n * Set the base target to later animate back to. This is currently\n * only hydrated on creation and when we first read a value.\n */\n setBaseTarget(key, value) {\n this.baseTarget[key] = value;\n }\n /**\n * Find the base target for a value thats been removed from all animation\n * props.\n */\n getBaseTarget(key) {\n const { initial } = this.props;\n let valueFromInitial;\n if (typeof initial === \"string\" || typeof initial === \"object\") {\n const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);\n if (variant) {\n valueFromInitial = variant[key];\n }\n }\n /**\n * If this value still exists in the current initial variant, read that.\n */\n if (initial && valueFromInitial !== undefined) {\n return valueFromInitial;\n }\n /**\n * Alternatively, if this VisualElement config has defined a getBaseTarget\n * so we can read the value from an alternative source, try that.\n */\n const target = this.getBaseTargetFromProps(this.props, key);\n if (target !== undefined && !isMotionValue(target))\n return target;\n /**\n * If the value was initially defined on initial, but it doesn't any more,\n * return undefined. Otherwise return the value as initially read from the DOM.\n */\n return this.initialValues[key] !== undefined &&\n valueFromInitial === undefined\n ? undefined\n : this.baseTarget[key];\n }\n on(eventName, callback) {\n if (!this.events[eventName]) {\n this.events[eventName] = new SubscriptionManager();\n }\n return this.events[eventName].add(callback);\n }\n notify(eventName, ...args) {\n if (this.events[eventName]) {\n this.events[eventName].notify(...args);\n }\n }\n scheduleRenderMicrotask() {\n microtask.render(this.render);\n }\n}\n\nexport { VisualElement };\n","import { DOMKeyframesResolver, isMotionValue } from 'motion-dom';\nimport { VisualElement } from '../VisualElement.mjs';\n\nclass DOMVisualElement extends VisualElement {\n constructor() {\n super(...arguments);\n this.KeyframeResolver = DOMKeyframesResolver;\n }\n sortInstanceNodePosition(a, b) {\n /**\n * compareDocumentPosition returns a bitmask, by using the bitwise &\n * we're returning true if 2 in that bitmask is set to true. 2 is set\n * to true if b preceeds a.\n */\n return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n }\n getBaseTargetFromProps(props, key) {\n return props.style\n ? props.style[key]\n : undefined;\n }\n removeValueFromRenderState(key, { vars, style }) {\n delete vars[key];\n delete style[key];\n }\n handleChildMotionValue() {\n if (this.childSubscription) {\n this.childSubscription();\n delete this.childSubscription;\n }\n const { children } = this.props;\n if (isMotionValue(children)) {\n this.childSubscription = children.on(\"change\", (latest) => {\n if (this.current) {\n this.current.textContent = `${latest}`;\n }\n });\n }\n }\n}\n\nexport { DOMVisualElement };\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n const elementStyle = element.style;\n let key;\n for (key in style) {\n // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n elementStyle[key] = style[key];\n }\n // Write projection styles directly to element style\n projection?.applyProjectionStyles(elementStyle, styleProp);\n for (key in vars) {\n // Loop over any CSS variables and assign those.\n // They can only be assigned using `setProperty`.\n elementStyle.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","import { transformProps, defaultTransformValue, readTransformValue, isCSSVariableName } from 'motion-dom';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nfunction getComputedStyle(element) {\n return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n constructor() {\n super(...arguments);\n this.type = \"html\";\n this.renderInstance = renderHTML;\n }\n readValueFromInstance(instance, key) {\n if (transformProps.has(key)) {\n return this.projection?.isProjecting\n ? defaultTransformValue(key)\n : readTransformValue(instance, key);\n }\n else {\n const computedStyle = getComputedStyle(instance);\n const value = (isCSSVariableName(key)\n ? computedStyle.getPropertyValue(key)\n : computedStyle[key]) || 0;\n return typeof value === \"string\" ? value.trim() : value;\n }\n }\n measureInstanceViewportBox(instance, { transformPagePoint }) {\n return measureViewportBox(instance, transformPagePoint);\n }\n build(renderState, latestValues, props) {\n buildHTMLStyles(renderState, latestValues, props.transformTemplate);\n }\n scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n \"pathLength\",\n \"startOffset\",\n \"textLength\",\n \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n renderHTML(element, renderState, undefined, projection);\n for (const key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { transformProps, getDefaultValueType } from 'motion-dom';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n constructor() {\n super(...arguments);\n this.type = \"svg\";\n this.isSVGTag = false;\n this.measureInstanceViewportBox = createBox;\n }\n getBaseTargetFromProps(props, key) {\n return props[key];\n }\n readValueFromInstance(instance, key) {\n if (transformProps.has(key)) {\n const defaultType = getDefaultValueType(key);\n return defaultType ? defaultType.default || 0 : 0;\n }\n key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n return instance.getAttribute(key);\n }\n scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n }\n build(renderState, latestValues, props) {\n buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate, props.style);\n }\n renderInstance(instance, renderState, styleProp, projection) {\n renderSVG(instance, renderState, styleProp, projection);\n }\n mount(instance) {\n this.isSVGTag = isSVGTag(instance.tagName);\n super.mount(instance);\n }\n}\n\nexport { SVGVisualElement };\n","import { Fragment } from 'react';\nimport { HTMLVisualElement } from '../html/HTMLVisualElement.mjs';\nimport { SVGVisualElement } from '../svg/SVGVisualElement.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n return isSVGComponent(Component)\n ? new SVGVisualElement(options)\n : new HTMLVisualElement(options, {\n allowProjection: Component !== Fragment,\n });\n};\n\nexport { createDomVisualElement };\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\nfunction resolveVariant(visualElement, definition, custom) {\n const props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, visualElement);\n}\n\nexport { resolveVariant };\n","const isKeyframesTarget = (v) => {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { motionValue } from 'motion-dom';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n if (visualElement.hasValue(key)) {\n visualElement.getValue(key).set(value);\n }\n else {\n visualElement.addValue(key, motionValue(value));\n }\n}\nfunction resolveFinalValueInKeyframes(v) {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n}\nfunction setTarget(visualElement, definition) {\n const resolved = resolveVariant(visualElement, definition);\n let { transitionEnd = {}, transition = {}, ...target } = resolved || {};\n target = { ...target, ...transitionEnd };\n for (const key in target) {\n const value = resolveFinalValueInKeyframes(target[key]);\n setMotionValue(visualElement, key, value);\n }\n}\n\nexport { setTarget };\n","import { isMotionValue } from 'motion-dom';\n\nfunction isWillChangeMotionValue(value) {\n return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { isWillChangeMotionValue } from './is.mjs';\n\nfunction addValueToWillChange(visualElement, key) {\n const willChange = visualElement.getValue(\"willChange\");\n /**\n * It could be that a user has set willChange to a regular MotionValue,\n * in which case we can't add the value to it.\n */\n if (isWillChangeMotionValue(willChange)) {\n return willChange.add(key);\n }\n else if (!willChange && MotionGlobalConfig.WillChange) {\n const newWillChange = new MotionGlobalConfig.WillChange(\"auto\");\n visualElement.addValue(\"willChange\", newWillChange);\n newWillChange.add(key);\n }\n}\n\nexport { addValueToWillChange };\n","import { optimizedAppearDataAttribute } from './data-id.mjs';\n\nfunction getOptimisedAppearId(visualElement) {\n return visualElement.props[optimizedAppearDataAttribute];\n}\n\nexport { getOptimisedAppearId };\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe) {\n const resolvedKeyframes = keyframes.filter(isNotNull);\n const index = repeat && repeatType !== \"loop\" && repeat % 2 === 1\n ? 0\n : resolvedKeyframes.length - 1;\n return !index || finalKeyframe === undefined\n ? resolvedKeyframes[index]\n : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n","import { transformProps } from 'motion-dom';\n\nconst underDampedSpring = {\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n type: \"spring\",\n stiffness: 550,\n damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n restSpeed: 10,\n});\nconst keyframesTransition = {\n type: \"keyframes\",\n duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n type: \"keyframes\",\n ease: [0.25, 0.1, 0.35, 1],\n duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n if (keyframes.length > 2) {\n return keyframesTransition;\n }\n else if (transformProps.has(valueKey)) {\n return valueKey.startsWith(\"scale\")\n ? criticallyDampedSpring(keyframes[1])\n : underDampedSpring;\n }\n return ease;\n};\n\nexport { getDefaultTransition };\n","/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, elapsed, ...transition }) {\n return !!Object.keys(transition).length;\n}\n\nexport { isTransitionDefined };\n","import { getValueTransition, makeAnimationInstant, frame, JSAnimation, AsyncMotionValueAnimation } from 'motion-dom';\nimport { secondsToMilliseconds, MotionGlobalConfig } from 'motion-utils';\nimport { getFinalKeyframe } from '../animators/waapi/utils/get-final-keyframe.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { isTransitionDefined } from '../utils/is-transition-defined.mjs';\n\nconst animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {\n const valueTransition = getValueTransition(transition, name) || {};\n /**\n * Most transition values are currently completely overwritten by value-specific\n * transitions. In the future it'd be nicer to blend these transitions. But for now\n * delay actually does inherit from the root transition if not value-specific.\n */\n const delay = valueTransition.delay || transition.delay || 0;\n /**\n * Elapsed isn't a public transition option but can be passed through from\n * optimized appear effects in milliseconds.\n */\n let { elapsed = 0 } = transition;\n elapsed = elapsed - secondsToMilliseconds(delay);\n const options = {\n keyframes: Array.isArray(target) ? target : [null, target],\n ease: \"easeOut\",\n velocity: value.getVelocity(),\n ...valueTransition,\n delay: -elapsed,\n onUpdate: (v) => {\n value.set(v);\n valueTransition.onUpdate && valueTransition.onUpdate(v);\n },\n onComplete: () => {\n onComplete();\n valueTransition.onComplete && valueTransition.onComplete();\n },\n name,\n motionValue: value,\n element: isHandoff ? undefined : element,\n };\n /**\n * If there's no transition defined for this value, we can generate\n * unique transition settings for this value.\n */\n if (!isTransitionDefined(valueTransition)) {\n Object.assign(options, getDefaultTransition(name, options));\n }\n /**\n * Both WAAPI and our internal animation functions use durations\n * as defined by milliseconds, while our external API defines them\n * as seconds.\n */\n options.duration && (options.duration = secondsToMilliseconds(options.duration));\n options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));\n /**\n * Support deprecated way to set initial value. Prefer keyframe syntax.\n */\n if (options.from !== undefined) {\n options.keyframes[0] = options.from;\n }\n let shouldSkip = false;\n if (options.type === false ||\n (options.duration === 0 && !options.repeatDelay)) {\n makeAnimationInstant(options);\n if (options.delay === 0) {\n shouldSkip = true;\n }\n }\n if (MotionGlobalConfig.instantAnimations ||\n MotionGlobalConfig.skipAnimations) {\n shouldSkip = true;\n makeAnimationInstant(options);\n options.delay = 0;\n }\n /**\n * If the transition type or easing has been explicitly set by the user\n * then we don't want to allow flattening the animation.\n */\n options.allowFlatten = !valueTransition.type && !valueTransition.ease;\n /**\n * If we can or must skip creating the animation, and apply only\n * the final keyframe, do so. We also check once keyframes are resolved but\n * this early check prevents the need to create an animation at all.\n */\n if (shouldSkip && !isHandoff && value.get() !== undefined) {\n const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);\n if (finalKeyframe !== undefined) {\n frame.update(() => {\n options.onUpdate(finalKeyframe);\n options.onComplete();\n });\n return;\n }\n }\n return valueTransition.isSync\n ? new JSAnimation(options)\n : new AsyncMotionValueAnimation(options);\n};\n\nexport { animateMotionValue };\n","import { getValueTransition, frame, positionalKeys } from 'motion-dom';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { addValueToWillChange } from '../../value/use-will-change/add-will-change.mjs';\nimport { getOptimisedAppearId } from '../optimized-appear/get-appear-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n needsAnimating[key] = false;\n return shouldBlock;\n}\nfunction animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) {\n let { transition = visualElement.getDefaultTransition(), transitionEnd, ...target } = targetAndTransition;\n if (transitionOverride)\n transition = transitionOverride;\n const animations = [];\n const animationTypeState = type &&\n visualElement.animationState &&\n visualElement.animationState.getState()[type];\n for (const key in target) {\n const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);\n const valueTarget = target[key];\n if (valueTarget === undefined ||\n (animationTypeState &&\n shouldBlockAnimation(animationTypeState, key))) {\n continue;\n }\n const valueTransition = {\n delay,\n ...getValueTransition(transition || {}, key),\n };\n /**\n * If the value is already at the defined target, skip the animation.\n */\n const currentValue = value.get();\n if (currentValue !== undefined &&\n !value.isAnimating &&\n !Array.isArray(valueTarget) &&\n valueTarget === currentValue &&\n !valueTransition.velocity) {\n continue;\n }\n /**\n * If this is the first time a value is being animated, check\n * to see if we're handling off from an existing animation.\n */\n let isHandoff = false;\n if (window.MotionHandoffAnimation) {\n const appearId = getOptimisedAppearId(visualElement);\n if (appearId) {\n const startTime = window.MotionHandoffAnimation(appearId, key, frame);\n if (startTime !== null) {\n valueTransition.startTime = startTime;\n isHandoff = true;\n }\n }\n }\n addValueToWillChange(visualElement, key);\n value.start(animateMotionValue(key, value, valueTarget, visualElement.shouldReduceMotion && positionalKeys.has(key)\n ? { type: false }\n : valueTransition, visualElement, isHandoff));\n const animation = value.animation;\n if (animation) {\n animations.push(animation);\n }\n }\n if (transitionEnd) {\n Promise.all(animations).then(() => {\n frame.update(() => {\n transitionEnd && setTarget(visualElement, transitionEnd);\n });\n });\n }\n return animations;\n}\n\nexport { animateTarget };\n","function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {\n const index = Array.from(children)\n .sort((a, b) => a.sortNodePosition(b))\n .indexOf(child);\n const numChildren = children.size;\n const maxStaggerDuration = (numChildren - 1) * staggerChildren;\n const delayIsFunction = typeof delayChildren === \"function\";\n return delayIsFunction\n ? delayChildren(index, numChildren)\n : staggerDirection === 1\n ? index * staggerChildren\n : maxStaggerDuration - index * staggerChildren;\n}\n\nexport { calcChildStagger };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { calcChildStagger } from '../utils/calc-child-stagger.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n const resolved = resolveVariant(visualElement, variant, options.type === \"exit\"\n ? visualElement.presenceContext?.custom\n : undefined);\n let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n if (options.transitionOverride) {\n transition = options.transitionOverride;\n }\n /**\n * If we have a variant, create a callback that runs it as an animation.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n const getAnimation = resolved\n ? () => Promise.all(animateTarget(visualElement, resolved, options))\n : () => Promise.resolve();\n /**\n * If we have children, create a callback that runs all their animations.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n ? (forwardDelay = 0) => {\n const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n return animateChildren(visualElement, variant, forwardDelay, delayChildren, staggerChildren, staggerDirection, options);\n }\n : () => Promise.resolve();\n /**\n * If the transition explicitly defines a \"when\" option, we need to resolve either\n * this animation or all children animations before playing the other.\n */\n const { when } = transition;\n if (when) {\n const [first, last] = when === \"beforeChildren\"\n ? [getAnimation, getChildAnimations]\n : [getChildAnimations, getAnimation];\n return first().then(() => last());\n }\n else {\n return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n }\n}\nfunction animateChildren(visualElement, variant, delay = 0, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n const animations = [];\n for (const child of visualElement.variantChildren) {\n child.notify(\"AnimationStart\", variant);\n animations.push(animateVariant(child, variant, {\n ...options,\n delay: delay +\n (typeof delayChildren === \"function\" ? 0 : delayChildren) +\n calcChildStagger(visualElement.variantChildren, child, delayChildren, staggerChildren, staggerDirection),\n }).then(() => child.notify(\"AnimationComplete\", variant)));\n }\n return Promise.all(animations);\n}\n\nexport { animateVariant };\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n visualElement.notify(\"AnimationStart\", definition);\n let animation;\n if (Array.isArray(definition)) {\n const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n animation = Promise.all(animations);\n }\n else if (typeof definition === \"string\") {\n animation = animateVariant(visualElement, definition, options);\n }\n else {\n const resolvedDefinition = typeof definition === \"function\"\n ? resolveVariant(visualElement, definition, options.custom)\n : definition;\n animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n }\n return animation.then(() => {\n visualElement.notify(\"AnimationComplete\", definition);\n });\n}\n\nexport { animateVisualElement };\n","function shallowCompare(next, prev) {\n if (!Array.isArray(prev))\n return false;\n const prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (let i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\nexport { shallowCompare };\n","import { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nconst numVariantProps = variantProps.length;\nfunction getVariantContext(visualElement) {\n if (!visualElement)\n return undefined;\n if (!visualElement.isControllingVariants) {\n const context = visualElement.parent\n ? getVariantContext(visualElement.parent) || {}\n : {};\n if (visualElement.props.initial !== undefined) {\n context.initial = visualElement.props.initial;\n }\n return context;\n }\n const context = {};\n for (let i = 0; i < numVariantProps; i++) {\n const name = variantProps[i];\n const prop = visualElement.props[name];\n if (isVariantLabel(prop) || prop === false) {\n context[name] = prop;\n }\n }\n return context;\n}\n\nexport { getVariantContext };\n","import { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\nimport { calcChildStagger } from '../../animation/utils/calc-child-stagger.mjs';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.mjs';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.mjs';\nimport { shallowCompare } from '../../utils/shallow-compare.mjs';\nimport { getVariantContext } from './get-variant-context.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n return (animations) => Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n}\nfunction createAnimationState(visualElement) {\n let animate = animateList(visualElement);\n let state = createState();\n let isInitialRender = true;\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n const buildResolvedTypeValues = (type) => (acc, definition) => {\n const resolved = resolveVariant(visualElement, definition, type === \"exit\"\n ? visualElement.presenceContext?.custom\n : undefined);\n if (resolved) {\n const { transition, transitionEnd, ...target } = resolved;\n acc = { ...acc, ...target, ...transitionEnd };\n }\n return acc;\n };\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator) {\n animate = makeAnimator(visualElement);\n }\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(changedActiveType) {\n const { props } = visualElement;\n const context = getVariantContext(visualElement.parent) || {};\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n const animations = [];\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n const removedKeys = new Set();\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n let encounteredKeys = {};\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n let removedVariantIndex = Infinity;\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (let i = 0; i < numAnimationTypes; i++) {\n const type = reversePriorityOrder[i];\n const typeState = state[type];\n const prop = props[type] !== undefined\n ? props[type]\n : context[type];\n const propIsVariant = isVariantLabel(prop);\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n const activeDelta = type === changedActiveType ? typeState.isActive : null;\n if (activeDelta === false)\n removedVariantIndex = i;\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n let isInherited = prop === context[type] &&\n prop !== props[type] &&\n propIsVariant;\n if (isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount) {\n isInherited = false;\n }\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = { ...encounteredKeys };\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\") {\n continue;\n }\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n let shouldAnimateType = variantDidChange ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant);\n let handledRemovedValues = false;\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n const definitionList = Array.isArray(prop) ? prop : [prop];\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n let resolvedValues = definitionList.reduce(buildResolvedTypeValues(type), {});\n if (activeDelta === false)\n resolvedValues = {};\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n const { prevResolvedValues = {} } = typeState;\n const allKeys = {\n ...prevResolvedValues,\n ...resolvedValues,\n };\n const markToAnimate = (key) => {\n shouldAnimateType = true;\n if (removedKeys.has(key)) {\n handledRemovedValues = true;\n removedKeys.delete(key);\n }\n typeState.needsAnimating[key] = true;\n const motionValue = visualElement.getValue(key);\n if (motionValue)\n motionValue.liveStyle = false;\n };\n for (const key in allKeys) {\n const next = resolvedValues[key];\n const prev = prevResolvedValues[key];\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key))\n continue;\n /**\n * If the value has changed, we probably want to animate it.\n */\n let valueHasChanged = false;\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n valueHasChanged = !shallowCompare(next, prev);\n }\n else {\n valueHasChanged = next !== prev;\n }\n if (valueHasChanged) {\n if (next !== undefined && next !== null) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key);\n }\n else {\n // If it's undefined, it's been removed.\n removedKeys.add(key);\n }\n }\n else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop;\n typeState.prevResolvedValues = resolvedValues;\n if (typeState.isActive) {\n encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n }\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false;\n }\n /**\n * If this is an inherited prop we want to skip this animation\n * unless the inherited variants haven't changed on this render.\n */\n const willAnimateViaParent = isInherited && variantDidChange;\n const needsAnimating = !willAnimateViaParent || handledRemovedValues;\n if (shouldAnimateType && needsAnimating) {\n animations.push(...definitionList.map((animation) => {\n const options = { type };\n /**\n * If we're performing the initial animation, but we're not\n * rendering at the same time as the variant-controlling parent,\n * we want to use the parent's transition to calculate the stagger.\n */\n if (typeof animation === \"string\" &&\n isInitialRender &&\n !willAnimateViaParent &&\n visualElement.manuallyAnimateOnMount &&\n visualElement.parent) {\n const { parent } = visualElement;\n const parentVariant = resolveVariant(parent, animation);\n if (parent.enteringChildren && parentVariant) {\n const { delayChildren } = parentVariant.transition || {};\n options.delay = calcChildStagger(parent.enteringChildren, visualElement, delayChildren);\n }\n }\n return {\n animation: animation,\n options,\n };\n }));\n }\n }\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n const fallbackAnimation = {};\n /**\n * If the initial prop contains a transition we can use that, otherwise\n * allow the animation function to use the visual element's default.\n */\n if (typeof props.initial !== \"boolean\") {\n const initialTransition = resolveVariant(visualElement, Array.isArray(props.initial)\n ? props.initial[0]\n : props.initial);\n if (initialTransition && initialTransition.transition) {\n fallbackAnimation.transition = initialTransition.transition;\n }\n }\n removedKeys.forEach((key) => {\n const fallbackTarget = visualElement.getBaseTarget(key);\n const motionValue = visualElement.getValue(key);\n if (motionValue)\n motionValue.liveStyle = true;\n // @ts-expect-error - @mattgperry to figure if we should do something here\n fallbackAnimation[key] = fallbackTarget ?? null;\n });\n animations.push({ animation: fallbackAnimation });\n }\n let shouldAnimate = Boolean(animations.length);\n if (isInitialRender &&\n (props.initial === false || props.initial === props.animate) &&\n !visualElement.manuallyAnimateOnMount) {\n shouldAnimate = false;\n }\n isInitialRender = false;\n return shouldAnimate ? animate(animations) : Promise.resolve();\n }\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type, isActive) {\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive)\n return Promise.resolve();\n // Propagate active change to children\n visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive));\n state[type].isActive = isActive;\n const animations = animateChanges(type);\n for (const key in state) {\n state[key].protectedKeys = {};\n }\n return animations;\n }\n return {\n animateChanges,\n setActive,\n setAnimateFunction,\n getState: () => state,\n reset: () => {\n state = createState();\n /**\n * Temporarily disabling resetting this flag as it prevents components\n * with initial={false} from animating after being remounted, for instance\n * as the child of an Activity component.\n */\n // isInitialRender = true\n },\n };\n}\nfunction checkVariantsDidChange(prev, next) {\n if (typeof next === \"string\") {\n return next !== prev;\n }\n else if (Array.isArray(next)) {\n return !shallowCompare(next, prev);\n }\n return false;\n}\nfunction createTypeState(isActive = false) {\n return {\n isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n };\n}\nfunction createState() {\n return {\n animate: createTypeState(true),\n whileInView: createTypeState(),\n whileHover: createTypeState(),\n whileTap: createTypeState(),\n whileDrag: createTypeState(),\n whileFocus: createTypeState(),\n exit: createTypeState(),\n };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n","class Feature {\n constructor(node) {\n this.isMounted = false;\n this.node = node;\n }\n update() { }\n}\n\nexport { Feature };\n","import { isAnimationControls } from '../../../animation/utils/is-animation-controls.mjs';\nimport { createAnimationState } from '../../../render/utils/animation-state.mjs';\nimport { Feature } from '../Feature.mjs';\n\nclass AnimationFeature extends Feature {\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n constructor(node) {\n super(node);\n node.animationState || (node.animationState = createAnimationState(node));\n }\n updateAnimationControlsSubscription() {\n const { animate } = this.node.getProps();\n if (isAnimationControls(animate)) {\n this.unmountControls = animate.subscribe(this.node);\n }\n }\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n mount() {\n this.updateAnimationControlsSubscription();\n }\n update() {\n const { animate } = this.node.getProps();\n const { animate: prevAnimate } = this.node.prevProps || {};\n if (animate !== prevAnimate) {\n this.updateAnimationControlsSubscription();\n }\n }\n unmount() {\n this.node.animationState.reset();\n this.unmountControls?.();\n }\n}\n\nexport { AnimationFeature };\n","import { Feature } from '../Feature.mjs';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n constructor() {\n super(...arguments);\n this.id = id++;\n }\n update() {\n if (!this.node.presenceContext)\n return;\n const { isPresent, onExitComplete } = this.node.presenceContext;\n const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n if (!this.node.animationState || isPresent === prevIsPresent) {\n return;\n }\n const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n if (onExitComplete && !isPresent) {\n exitAnimation.then(() => {\n onExitComplete(this.id);\n });\n }\n }\n mount() {\n const { register, onExitComplete } = this.node.presenceContext || {};\n if (onExitComplete) {\n onExitComplete(this.id);\n }\n if (register) {\n this.unmount = register(this.id);\n }\n }\n unmount() { }\n}\n\nexport { ExitAnimationFeature };\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n animation: {\n Feature: AnimationFeature,\n },\n exit: {\n Feature: ExitAnimationFeature,\n },\n};\n\nexport { animations };\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n target.addEventListener(eventName, handler, options);\n return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n","import { isPrimaryPointer } from 'motion-dom';\n\nfunction extractEventInfo(event) {\n return {\n point: {\n x: event.pageX,\n y: event.pageY,\n },\n };\n}\nconst addPointerInfo = (handler) => {\n return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n};\n\nexport { addPointerInfo, extractEventInfo };\n","import { addDomEvent } from './add-dom-event.mjs';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n","import { mixNumber } from 'motion-dom';\n\nconst SCALE_PRECISION = 0.0001;\nconst SCALE_MIN = 1 - SCALE_PRECISION;\nconst SCALE_MAX = 1 + SCALE_PRECISION;\nconst TRANSLATE_PRECISION = 0.01;\nconst TRANSLATE_MIN = 0 - TRANSLATE_PRECISION;\nconst TRANSLATE_MAX = 0 + TRANSLATE_PRECISION;\nfunction calcLength(axis) {\n return axis.max - axis.min;\n}\nfunction isNear(value, target, maxDistance) {\n return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n delta.origin = origin;\n delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n delta.scale = calcLength(target) / calcLength(source);\n delta.translate =\n mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) ||\n isNaN(delta.scale)) {\n delta.scale = 1.0;\n }\n if ((delta.translate >= TRANSLATE_MIN &&\n delta.translate <= TRANSLATE_MAX) ||\n isNaN(delta.translate)) {\n delta.translate = 0.0;\n }\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n target.min = parent.min + relative.min;\n target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n calcRelativeAxis(target.x, relative.x, parent.x);\n calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n target.min = layout.min - parent.min;\n target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n calcRelativeAxisPosition(target.x, layout.x, parent.x);\n calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n","function eachAxis(callback) {\n return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n","// Fixes https://github.com/motiondivision/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n // Multi-dimensional\n const xDelta = distance(a.x, b.x);\n const yDelta = distance(a.y, b.y);\n return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n","import { frame, isPrimaryPointer, cancelFrame, frameData } from 'motion-dom';\nimport { pipe, secondsToMilliseconds, millisecondsToSeconds } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\n\n/**\n * @internal\n */\nclass PanSession {\n constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, } = {}) {\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n /**\n * @internal\n */\n this.contextWindow = window;\n this.updatePoint = () => {\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const info = getPanInfo(this.lastMoveEventInfo, this.history);\n const isPanStarted = this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursor.\n const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= this.distanceThreshold;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n const { point } = info;\n const { timestamp } = frameData;\n this.history.push({ ...point, timestamp });\n const { onStart, onMove } = this.handlers;\n if (!isPanStarted) {\n onStart && onStart(this.lastMoveEvent, info);\n this.startEvent = this.lastMoveEvent;\n }\n onMove && onMove(this.lastMoveEvent, info);\n };\n this.handlePointerMove = (event, info) => {\n this.lastMoveEvent = event;\n this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n // Throttle mouse move event to once per frame\n frame.update(this.updatePoint, true);\n };\n this.handlePointerUp = (event, info) => {\n this.end();\n const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n if (this.dragSnapToOrigin)\n resumeAnimation && resumeAnimation();\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const panInfo = getPanInfo(event.type === \"pointercancel\"\n ? this.lastMoveEventInfo\n : transformPoint(info, this.transformPagePoint), this.history);\n if (this.startEvent && onEnd) {\n onEnd(event, panInfo);\n }\n onSessionEnd && onSessionEnd(event, panInfo);\n };\n // If we have more than one touch, don't start detecting this gesture\n if (!isPrimaryPointer(event))\n return;\n this.dragSnapToOrigin = dragSnapToOrigin;\n this.handlers = handlers;\n this.transformPagePoint = transformPagePoint;\n this.distanceThreshold = distanceThreshold;\n this.contextWindow = contextWindow || window;\n const info = extractEventInfo(event);\n const initialInfo = transformPoint(info, this.transformPagePoint);\n const { point } = initialInfo;\n const { timestamp } = frameData;\n this.history = [{ ...point, timestamp }];\n const { onSessionStart } = handlers;\n onSessionStart &&\n onSessionStart(event, getPanInfo(initialInfo, this.history));\n this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n }\n updateHandlers(handlers) {\n this.handlers = handlers;\n }\n end() {\n this.removeListeners && this.removeListeners();\n cancelFrame(this.updatePoint);\n }\n}\nfunction transformPoint(info, transformPagePoint) {\n return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n return {\n point,\n delta: subtractPoint(point, lastDevicePoint(history)),\n offset: subtractPoint(point, startDevicePoint(history)),\n velocity: getVelocity(history, 0.1),\n };\n}\nfunction startDevicePoint(history) {\n return history[0];\n}\nfunction lastDevicePoint(history) {\n return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n if (history.length < 2) {\n return { x: 0, y: 0 };\n }\n let i = history.length - 1;\n let timestampedPoint = null;\n const lastPoint = lastDevicePoint(history);\n while (i >= 0) {\n timestampedPoint = history[i];\n if (lastPoint.timestamp - timestampedPoint.timestamp >\n secondsToMilliseconds(timeDelta)) {\n break;\n }\n i--;\n }\n if (!timestampedPoint) {\n return { x: 0, y: 0 };\n }\n const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n if (time === 0) {\n return { x: 0, y: 0 };\n }\n const currentVelocity = {\n x: (lastPoint.x - timestampedPoint.x) / time,\n y: (lastPoint.y - timestampedPoint.y) / time,\n };\n if (currentVelocity.x === Infinity) {\n currentVelocity.x = 0;\n }\n if (currentVelocity.y === Infinity) {\n currentVelocity.y = 0;\n }\n return currentVelocity;\n}\n\nexport { PanSession };\n","import { mixNumber } from 'motion-dom';\nimport { progress, clamp } from 'motion-utils';\nimport { calcLength } from '../../../projection/geometry/delta-calc.mjs';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n if (min !== undefined && point < min) {\n // If we have a min point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(min, point, elastic.min)\n : Math.max(point, min);\n }\n else if (max !== undefined && point > max) {\n // If we have a max point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(max, point, elastic.max)\n : Math.min(point, max);\n }\n return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n return {\n min: min !== undefined ? axis.min + min : undefined,\n max: max !== undefined\n ? axis.max + max - (axis.max - axis.min)\n : undefined,\n };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n return {\n x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n let min = constraintsAxis.min - layoutAxis.min;\n let max = constraintsAxis.max - layoutAxis.max;\n // If the constraints axis is actually smaller than the layout axis then we can\n // flip the constraints\n if (constraintsAxis.max - constraintsAxis.min <\n layoutAxis.max - layoutAxis.min) {\n [min, max] = [max, min];\n }\n return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n return {\n x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n let origin = 0.5;\n const sourceLength = calcLength(source);\n const targetLength = calcLength(target);\n if (targetLength > sourceLength) {\n origin = progress(target.min, target.max - sourceLength, source.min);\n }\n else if (sourceLength > targetLength) {\n origin = progress(source.min, source.max - targetLength, target.min);\n }\n return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n const relativeConstraints = {};\n if (constraints.min !== undefined) {\n relativeConstraints.min = constraints.min - layout.min;\n }\n if (constraints.max !== undefined) {\n relativeConstraints.max = constraints.max - layout.min;\n }\n return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n if (dragElastic === false) {\n dragElastic = 0;\n }\n else if (dragElastic === true) {\n dragElastic = defaultElastic;\n }\n return {\n x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n return {\n min: resolvePointElastic(dragElastic, minLabel),\n max: resolvePointElastic(dragElastic, maxLabel),\n };\n}\nfunction resolvePointElastic(dragElastic, label) {\n return typeof dragElastic === \"number\"\n ? dragElastic\n : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n","import { frame, mixNumber, setDragLock, percent } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { animateMotionValue } from '../../animation/interfaces/motion-value.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { convertBoxToBoundingBox, convertBoundingBoxToBox } from '../../projection/geometry/conversion.mjs';\nimport { calcLength } from '../../projection/geometry/delta-calc.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { eachAxis } from '../../projection/utils/each-axis.mjs';\nimport { measurePageBox } from '../../projection/utils/measure.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { addValueToWillChange } from '../../value/use-will-change/add-will-change.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\n\nconst elementDragControls = new WeakMap();\nclass VisualElementDragControls {\n constructor(visualElement) {\n this.openDragLock = null;\n this.isDragging = false;\n this.currentDirection = null;\n this.originPoint = { x: 0, y: 0 };\n /**\n * The permitted boundaries of travel, in pixels.\n */\n this.constraints = false;\n this.hasMutatedConstraints = false;\n /**\n * The per-axis resolved elastic values.\n */\n this.elastic = createBox();\n /**\n * The latest pointer event. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n */\n this.latestPointerEvent = null;\n /**\n * The latest pan info. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n */\n this.latestPanInfo = null;\n this.visualElement = visualElement;\n }\n start(originEvent, { snapToCursor = false, distanceThreshold } = {}) {\n /**\n * Don't start dragging if this component is exiting\n */\n const { presenceContext } = this.visualElement;\n if (presenceContext && presenceContext.isPresent === false)\n return;\n const onSessionStart = (event) => {\n const { dragSnapToOrigin } = this.getProps();\n // Stop or pause any animations on both axis values immediately. This allows the user to throw and catch\n // the component.\n dragSnapToOrigin ? this.pauseAnimation() : this.stopAnimation();\n if (snapToCursor) {\n this.snapToCursor(extractEventInfo(event).point);\n }\n };\n const onStart = (event, info) => {\n // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n const { drag, dragPropagation, onDragStart } = this.getProps();\n if (drag && !dragPropagation) {\n if (this.openDragLock)\n this.openDragLock();\n this.openDragLock = setDragLock(drag);\n // If we don 't have the lock, don't start dragging\n if (!this.openDragLock)\n return;\n }\n this.latestPointerEvent = event;\n this.latestPanInfo = info;\n this.isDragging = true;\n this.currentDirection = null;\n this.resolveConstraints();\n if (this.visualElement.projection) {\n this.visualElement.projection.isAnimationBlocked = true;\n this.visualElement.projection.target = undefined;\n }\n /**\n * Record gesture origin\n */\n eachAxis((axis) => {\n let current = this.getAxisMotionValue(axis).get() || 0;\n /**\n * If the MotionValue is a percentage value convert to px\n */\n if (percent.test(current)) {\n const { projection } = this.visualElement;\n if (projection && projection.layout) {\n const measuredAxis = projection.layout.layoutBox[axis];\n if (measuredAxis) {\n const length = calcLength(measuredAxis);\n current = length * (parseFloat(current) / 100);\n }\n }\n }\n this.originPoint[axis] = current;\n });\n // Fire onDragStart event\n if (onDragStart) {\n frame.postRender(() => onDragStart(event, info));\n }\n addValueToWillChange(this.visualElement, \"transform\");\n const { animationState } = this.visualElement;\n animationState && animationState.setActive(\"whileDrag\", true);\n };\n const onMove = (event, info) => {\n this.latestPointerEvent = event;\n this.latestPanInfo = info;\n const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n // If we didn't successfully receive the gesture lock, early return.\n if (!dragPropagation && !this.openDragLock)\n return;\n const { offset } = info;\n // Attempt to detect drag direction if directionLock is true\n if (dragDirectionLock && this.currentDirection === null) {\n this.currentDirection = getCurrentDirection(offset);\n // If we've successfully set a direction, notify listener\n if (this.currentDirection !== null) {\n onDirectionLock && onDirectionLock(this.currentDirection);\n }\n return;\n }\n // Update each point with the latest position\n this.updateAxis(\"x\", info.point, offset);\n this.updateAxis(\"y\", info.point, offset);\n /**\n * Ideally we would leave the renderer to fire naturally at the end of\n * this frame but if the element is about to change layout as the result\n * of a re-render we want to ensure the browser can read the latest\n * bounding box to ensure the pointer and element don't fall out of sync.\n */\n this.visualElement.render();\n /**\n * This must fire after the render call as it might trigger a state\n * change which itself might trigger a layout update.\n */\n onDrag && onDrag(event, info);\n };\n const onSessionEnd = (event, info) => {\n this.latestPointerEvent = event;\n this.latestPanInfo = info;\n this.stop(event, info);\n this.latestPointerEvent = null;\n this.latestPanInfo = null;\n };\n const resumeAnimation = () => eachAxis((axis) => this.getAnimationState(axis) === \"paused\" &&\n this.getAxisMotionValue(axis).animation?.play());\n const { dragSnapToOrigin } = this.getProps();\n this.panSession = new PanSession(originEvent, {\n onSessionStart,\n onStart,\n onMove,\n onSessionEnd,\n resumeAnimation,\n }, {\n transformPagePoint: this.visualElement.getTransformPagePoint(),\n dragSnapToOrigin,\n distanceThreshold,\n contextWindow: getContextWindow(this.visualElement),\n });\n }\n /**\n * @internal\n */\n stop(event, panInfo) {\n const finalEvent = event || this.latestPointerEvent;\n const finalPanInfo = panInfo || this.latestPanInfo;\n const isDragging = this.isDragging;\n this.cancel();\n if (!isDragging || !finalPanInfo || !finalEvent)\n return;\n const { velocity } = finalPanInfo;\n this.startAnimation(velocity);\n const { onDragEnd } = this.getProps();\n if (onDragEnd) {\n frame.postRender(() => onDragEnd(finalEvent, finalPanInfo));\n }\n }\n /**\n * @internal\n */\n cancel() {\n this.isDragging = false;\n const { projection, animationState } = this.visualElement;\n if (projection) {\n projection.isAnimationBlocked = false;\n }\n this.panSession && this.panSession.end();\n this.panSession = undefined;\n const { dragPropagation } = this.getProps();\n if (!dragPropagation && this.openDragLock) {\n this.openDragLock();\n this.openDragLock = null;\n }\n animationState && animationState.setActive(\"whileDrag\", false);\n }\n updateAxis(axis, _point, offset) {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n return;\n const axisValue = this.getAxisMotionValue(axis);\n let next = this.originPoint[axis] + offset[axis];\n // Apply constraints\n if (this.constraints && this.constraints[axis]) {\n next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n }\n axisValue.set(next);\n }\n resolveConstraints() {\n const { dragConstraints, dragElastic } = this.getProps();\n const layout = this.visualElement.projection &&\n !this.visualElement.projection.layout\n ? this.visualElement.projection.measure(false)\n : this.visualElement.projection?.layout;\n const prevConstraints = this.constraints;\n if (dragConstraints && isRefObject(dragConstraints)) {\n if (!this.constraints) {\n this.constraints = this.resolveRefConstraints();\n }\n }\n else {\n if (dragConstraints && layout) {\n this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n }\n else {\n this.constraints = false;\n }\n }\n this.elastic = resolveDragElastic(dragElastic);\n /**\n * If we're outputting to external MotionValues, we want to rebase the measured constraints\n * from viewport-relative to component-relative.\n */\n if (prevConstraints !== this.constraints &&\n layout &&\n this.constraints &&\n !this.hasMutatedConstraints) {\n eachAxis((axis) => {\n if (this.constraints !== false &&\n this.getAxisMotionValue(axis)) {\n this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n }\n });\n }\n }\n resolveRefConstraints() {\n const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n if (!constraints || !isRefObject(constraints))\n return false;\n const constraintsElement = constraints.current;\n invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\", \"drag-constraints-ref\");\n const { projection } = this.visualElement;\n // TODO\n if (!projection || !projection.layout)\n return false;\n const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n /**\n * If there's an onMeasureDragConstraints listener we call it and\n * if different constraints are returned, set constraints to that\n */\n if (onMeasureDragConstraints) {\n const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n this.hasMutatedConstraints = !!userConstraints;\n if (userConstraints) {\n measuredConstraints = convertBoundingBoxToBox(userConstraints);\n }\n }\n return measuredConstraints;\n }\n startAnimation(velocity) {\n const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n const constraints = this.constraints || {};\n const momentumAnimations = eachAxis((axis) => {\n if (!shouldDrag(axis, drag, this.currentDirection)) {\n return;\n }\n let transition = (constraints && constraints[axis]) || {};\n if (dragSnapToOrigin)\n transition = { min: 0, max: 0 };\n /**\n * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n * of spring animations so we should look into adding a disable spring option to `inertia`.\n * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n * using the value of `dragElastic`.\n */\n const bounceStiffness = dragElastic ? 200 : 1000000;\n const bounceDamping = dragElastic ? 40 : 10000000;\n const inertia = {\n type: \"inertia\",\n velocity: dragMomentum ? velocity[axis] : 0,\n bounceStiffness,\n bounceDamping,\n timeConstant: 750,\n restDelta: 1,\n restSpeed: 10,\n ...dragTransition,\n ...transition,\n };\n // If we're not animating on an externally-provided `MotionValue` we can use the\n // component's animation controls which will handle interactions with whileHover (etc),\n // otherwise we just have to animate the `MotionValue` itself.\n return this.startAxisValueAnimation(axis, inertia);\n });\n // Run all animations and then resolve the new drag constraints.\n return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n }\n startAxisValueAnimation(axis, transition) {\n const axisValue = this.getAxisMotionValue(axis);\n addValueToWillChange(this.visualElement, axis);\n return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false));\n }\n stopAnimation() {\n eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n }\n pauseAnimation() {\n eachAxis((axis) => this.getAxisMotionValue(axis).animation?.pause());\n }\n getAnimationState(axis) {\n return this.getAxisMotionValue(axis).animation?.state;\n }\n /**\n * Drag works differently depending on which props are provided.\n *\n * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n * - Otherwise, we apply the delta to the x/y motion values.\n */\n getAxisMotionValue(axis) {\n const dragKey = `_drag${axis.toUpperCase()}`;\n const props = this.visualElement.getProps();\n const externalMotionValue = props[dragKey];\n return externalMotionValue\n ? externalMotionValue\n : this.visualElement.getValue(axis, (props.initial\n ? props.initial[axis]\n : undefined) || 0);\n }\n snapToCursor(point) {\n eachAxis((axis) => {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, this.currentDirection))\n return;\n const { projection } = this.visualElement;\n const axisValue = this.getAxisMotionValue(axis);\n if (projection && projection.layout) {\n const { min, max } = projection.layout.layoutBox[axis];\n axisValue.set(point[axis] - mixNumber(min, max, 0.5));\n }\n });\n }\n /**\n * When the viewport resizes we want to check if the measured constraints\n * have changed and, if so, reposition the element within those new constraints\n * relative to where it was before the resize.\n */\n scalePositionWithinConstraints() {\n if (!this.visualElement.current)\n return;\n const { drag, dragConstraints } = this.getProps();\n const { projection } = this.visualElement;\n if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n return;\n /**\n * Stop current animations as there can be visual glitching if we try to do\n * this mid-animation\n */\n this.stopAnimation();\n /**\n * Record the relative position of the dragged element relative to the\n * constraints box and save as a progress value.\n */\n const boxProgress = { x: 0, y: 0 };\n eachAxis((axis) => {\n const axisValue = this.getAxisMotionValue(axis);\n if (axisValue && this.constraints !== false) {\n const latest = axisValue.get();\n boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n }\n });\n /**\n * Update the layout of this element and resolve the latest drag constraints\n */\n const { transformTemplate } = this.visualElement.getProps();\n this.visualElement.current.style.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n this.resolveConstraints();\n /**\n * For each axis, calculate the current progress of the layout axis\n * within the new constraints.\n */\n eachAxis((axis) => {\n if (!shouldDrag(axis, drag, null))\n return;\n /**\n * Calculate a new transform based on the previous box progress\n */\n const axisValue = this.getAxisMotionValue(axis);\n const { min, max } = this.constraints[axis];\n axisValue.set(mixNumber(min, max, boxProgress[axis]));\n });\n }\n addListeners() {\n if (!this.visualElement.current)\n return;\n elementDragControls.set(this.visualElement, this);\n const element = this.visualElement.current;\n /**\n * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n */\n const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n const { drag, dragListener = true } = this.getProps();\n drag && dragListener && this.start(event);\n });\n const measureDragConstraints = () => {\n const { dragConstraints } = this.getProps();\n if (isRefObject(dragConstraints) && dragConstraints.current) {\n this.constraints = this.resolveRefConstraints();\n }\n };\n const { projection } = this.visualElement;\n const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n if (projection && !projection.layout) {\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n }\n frame.read(measureDragConstraints);\n /**\n * Attach a window resize listener to scale the draggable target within its defined\n * constraints as the window resizes.\n */\n const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n /**\n * If the element's layout changes, calculate the delta and apply that to\n * the drag gesture's origin point.\n */\n const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n if (this.isDragging && hasLayoutChanged) {\n eachAxis((axis) => {\n const motionValue = this.getAxisMotionValue(axis);\n if (!motionValue)\n return;\n this.originPoint[axis] += delta[axis].translate;\n motionValue.set(motionValue.get() + delta[axis].translate);\n });\n this.visualElement.render();\n }\n }));\n return () => {\n stopResizeListener();\n stopPointerListener();\n stopMeasureLayoutListener();\n stopLayoutUpdateListener && stopLayoutUpdateListener();\n };\n }\n getProps() {\n const props = this.visualElement.getProps();\n const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n return {\n ...props,\n drag,\n dragDirectionLock,\n dragPropagation,\n dragConstraints,\n dragElastic,\n dragMomentum,\n };\n }\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n return ((drag === true || drag === direction) &&\n (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n let direction = null;\n if (Math.abs(offset.y) > lockThreshold) {\n direction = \"y\";\n }\n else if (Math.abs(offset.x) > lockThreshold) {\n direction = \"x\";\n }\n return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n","import { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from 'motion-utils';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n constructor(node) {\n super(node);\n this.removeGroupControls = noop;\n this.removeListeners = noop;\n this.controls = new VisualElementDragControls(node);\n }\n mount() {\n // If we've been provided a DragControls for manual control over the drag gesture,\n // subscribe this component to it on mount.\n const { dragControls } = this.node.getProps();\n if (dragControls) {\n this.removeGroupControls = dragControls.subscribe(this.controls);\n }\n this.removeListeners = this.controls.addListeners() || noop;\n }\n unmount() {\n this.removeGroupControls();\n this.removeListeners();\n }\n}\n\nexport { DragGesture };\n","import { frame } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { Feature } from '../../motion/features/Feature.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { PanSession } from './PanSession.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n if (handler) {\n frame.postRender(() => handler(event, info));\n }\n};\nclass PanGesture extends Feature {\n constructor() {\n super(...arguments);\n this.removePointerDownListener = noop;\n }\n onPointerDown(pointerDownEvent) {\n this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n transformPagePoint: this.node.getTransformPagePoint(),\n contextWindow: getContextWindow(this.node),\n });\n }\n createPanHandlers() {\n const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n return {\n onSessionStart: asyncHandler(onPanSessionStart),\n onStart: asyncHandler(onPanStart),\n onMove: onPan,\n onEnd: (event, info) => {\n delete this.session;\n if (onPanEnd) {\n frame.postRender(() => onPanEnd(event, info));\n }\n },\n };\n }\n mount() {\n this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n }\n update() {\n this.session && this.session.updateHandlers(this.createPanHandlers());\n }\n unmount() {\n this.removePointerDownListener();\n this.session && this.session.end();\n }\n}\n\nexport { PanGesture };\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n /**\n * Global flag as to whether the tree has animated since the last time\n * we resized the window\n */\n hasAnimatedSinceResize: true,\n /**\n * We set this to true once, on the first update. Any nodes added to the tree beyond that\n * update will be given a `data-projection-id` attribute.\n */\n hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { frame, microtask } from 'motion-dom';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\nimport { globalProjectionState } from '../../../projection/node/state.mjs';\n\n/**\n * Track whether we've taken any snapshots yet. If not,\n * we can safely skip notification of didUpdate.\n *\n * Difficult to capture in a test but to prevent flickering\n * we must set this to true either on update or unmount.\n * Running `next-env/layout-id` in Safari will show this behaviour if broken.\n */\nlet hasTakenAnySnapshot = false;\nclass MeasureLayoutWithContext extends Component {\n /**\n * This only mounts projection nodes for components that\n * need measuring, we might want to do it for all components\n * in order to incorporate transforms\n */\n componentDidMount() {\n const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n const { projection } = visualElement;\n if (projection) {\n if (layoutGroup.group)\n layoutGroup.group.add(projection);\n if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n switchLayoutGroup.register(projection);\n }\n if (hasTakenAnySnapshot) {\n projection.root.didUpdate();\n }\n projection.addEventListener(\"animationComplete\", () => {\n this.safeToRemove();\n });\n projection.setOptions({\n ...projection.options,\n onExitComplete: () => this.safeToRemove(),\n });\n }\n globalProjectionState.hasEverUpdated = true;\n }\n getSnapshotBeforeUpdate(prevProps) {\n const { layoutDependency, visualElement, drag, isPresent } = this.props;\n const { projection } = visualElement;\n if (!projection)\n return null;\n /**\n * TODO: We use this data in relegate to determine whether to\n * promote a previous element. There's no guarantee its presence data\n * will have updated by this point - if a bug like this arises it will\n * have to be that we markForRelegation and then find a new lead some other way,\n * perhaps in didUpdate\n */\n projection.isPresent = isPresent;\n hasTakenAnySnapshot = true;\n if (drag ||\n prevProps.layoutDependency !== layoutDependency ||\n layoutDependency === undefined ||\n prevProps.isPresent !== isPresent) {\n projection.willUpdate();\n }\n else {\n this.safeToRemove();\n }\n if (prevProps.isPresent !== isPresent) {\n if (isPresent) {\n projection.promote();\n }\n else if (!projection.relegate()) {\n /**\n * If there's another stack member taking over from this one,\n * it's in charge of the exit animation and therefore should\n * be in charge of the safe to remove. Otherwise we call it here.\n */\n frame.postRender(() => {\n const stack = projection.getStack();\n if (!stack || !stack.members.length) {\n this.safeToRemove();\n }\n });\n }\n }\n return null;\n }\n componentDidUpdate() {\n const { projection } = this.props.visualElement;\n if (projection) {\n projection.root.didUpdate();\n microtask.postRender(() => {\n if (!projection.currentAnimation && projection.isLead()) {\n this.safeToRemove();\n }\n });\n }\n }\n componentWillUnmount() {\n const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n const { projection } = visualElement;\n hasTakenAnySnapshot = true;\n if (projection) {\n projection.scheduleCheckAfterUnmount();\n if (layoutGroup && layoutGroup.group)\n layoutGroup.group.remove(projection);\n if (promoteContext && promoteContext.deregister)\n promoteContext.deregister(projection);\n }\n }\n safeToRemove() {\n const { safeToRemove } = this.props;\n safeToRemove && safeToRemove();\n }\n render() {\n return null;\n }\n}\nfunction MeasureLayout(props) {\n const [isPresent, safeToRemove] = usePresence();\n const layoutGroup = useContext(LayoutGroupContext);\n return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\n\nexport { MeasureLayout };\n","import { isMotionValue, motionValue } from 'motion-dom';\nimport { animateMotionValue } from '../interfaces/motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n","import { addUniqueItem, removeItem } from 'motion-utils';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n constructor() {\n this.children = [];\n this.isDirty = false;\n }\n add(child) {\n addUniqueItem(this.children, child);\n this.isDirty = true;\n }\n remove(child) {\n removeItem(this.children, child);\n this.isDirty = true;\n }\n forEach(callback) {\n this.isDirty && this.children.sort(compareByDepth);\n this.isDirty = false;\n this.children.forEach(callback);\n }\n}\n\nexport { FlatTree };\n","import { time, frame, cancelFrame } from 'motion-dom';\nimport { secondsToMilliseconds } from 'motion-utils';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n const start = time.now();\n const checkElapsed = ({ timestamp }) => {\n const elapsed = timestamp - start;\n if (elapsed >= timeout) {\n cancelFrame(checkElapsed);\n callback(elapsed - timeout);\n }\n };\n frame.setup(checkElapsed, true);\n return () => cancelFrame(checkElapsed);\n}\nfunction delayInSeconds(callback, timeout) {\n return delay(callback, secondsToMilliseconds(timeout));\n}\n\nexport { delay, delayInSeconds };\n","import { mixNumber, percent, px } from 'motion-dom';\nimport { progress, circOut, noop } from 'motion-utils';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n if (shouldCrossfadeOpacity) {\n target.opacity = mixNumber(0, lead.opacity ?? 1, easeCrossfadeIn(progress));\n target.opacityExit = mixNumber(follow.opacity ?? 1, 0, easeCrossfadeOut(progress));\n }\n else if (isOnlyMember) {\n target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress);\n }\n /**\n * Mix border radius\n */\n for (let i = 0; i < numBorders; i++) {\n const borderLabel = `border${borders[i]}Radius`;\n let followRadius = getRadius(follow, borderLabel);\n let leadRadius = getRadius(lead, borderLabel);\n if (followRadius === undefined && leadRadius === undefined)\n continue;\n followRadius || (followRadius = 0);\n leadRadius || (leadRadius = 0);\n const canMix = followRadius === 0 ||\n leadRadius === 0 ||\n isPx(followRadius) === isPx(leadRadius);\n if (canMix) {\n target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n if (percent.test(leadRadius) || percent.test(followRadius)) {\n target[borderLabel] += \"%\";\n }\n }\n else {\n target[borderLabel] = leadRadius;\n }\n }\n /**\n * Mix rotation\n */\n if (follow.rotate || lead.rotate) {\n target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n }\n}\nfunction getRadius(values, radiusName) {\n return values[radiusName] !== undefined\n ? values[radiusName]\n : values.borderRadius;\n}\n// /**\n// * We only want to mix the background color if there's a follow element\n// * that we're not crossfading opacity between. For instance with switch\n// * AnimateSharedLayout animations, this helps the illusion of a continuous\n// * element being animated but also cuts down on the number of paints triggered\n// * for elements where opacity is doing that work for us.\n// */\n// if (\n// !hasFollowElement &&\n// latestLeadValues.backgroundColor &&\n// latestFollowValues.backgroundColor\n// ) {\n// /**\n// * This isn't ideal performance-wise as mixColor is creating a new function every frame.\n// * We could probably create a mixer that runs at the start of the animation but\n// * the idea behind the crossfader is that it runs dynamically between two potentially\n// * changing targets (ie opacity or borderRadius may be animating independently via variants)\n// */\n// leadState.backgroundColor = followState.backgroundColor = mixColor(\n// latestFollowValues.backgroundColor as string,\n// latestLeadValues.backgroundColor as string\n// )(p)\n// }\nconst easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut);\nconst easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n return (p) => {\n // Could replace ifs with clamp\n if (p < min)\n return 0;\n if (p > max)\n return 1;\n return easing(progress(min, max, p));\n };\n}\n\nexport { mixValues };\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n axis.min = originAxis.min;\n axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n copyAxisInto(box.x, originBox.x);\n copyAxisInto(box.y, originBox.y);\n}\n/**\n * Reset a delta to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisDeltaInto(delta, originDelta) {\n delta.translate = originDelta.translate;\n delta.scale = originDelta.scale;\n delta.originPoint = originDelta.originPoint;\n delta.origin = originDelta.origin;\n}\n\nexport { copyAxisDeltaInto, copyAxisInto, copyBoxInto };\n","import { percent, mixNumber } from 'motion-dom';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n point -= translate;\n point = scalePoint(point, 1 / scale, originPoint);\n if (boxScale !== undefined) {\n point = scalePoint(point, 1 / boxScale, originPoint);\n }\n return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n if (percent.test(translate)) {\n translate = parseFloat(translate);\n const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n translate = relativeProgress - sourceAxis.min;\n }\n if (typeof translate !== \"number\")\n return;\n let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n if (axis === originAxis)\n originPoint -= translate;\n axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction axisEquals(a, b) {\n return a.min === b.min && a.max === b.max;\n}\nfunction boxEquals(a, b) {\n return axisEquals(a.x, b.x) && axisEquals(a.y, b.y);\n}\nfunction axisEqualsRounded(a, b) {\n return (Math.round(a.min) === Math.round(b.min) &&\n Math.round(a.max) === Math.round(b.max));\n}\nfunction boxEqualsRounded(a, b) {\n return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y);\n}\nfunction aspectRatio(box) {\n return calcLength(box.x) / calcLength(box.y);\n}\nfunction axisDeltaEquals(a, b) {\n return (a.translate === b.translate &&\n a.scale === b.scale &&\n a.originPoint === b.originPoint);\n}\n\nexport { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero };\n","import { addUniqueItem, removeItem } from 'motion-utils';\n\nclass NodeStack {\n constructor() {\n this.members = [];\n }\n add(node) {\n addUniqueItem(this.members, node);\n node.scheduleRender();\n }\n remove(node) {\n removeItem(this.members, node);\n if (node === this.prevLead) {\n this.prevLead = undefined;\n }\n if (node === this.lead) {\n const prevLead = this.members[this.members.length - 1];\n if (prevLead) {\n this.promote(prevLead);\n }\n }\n }\n relegate(node) {\n const indexOfNode = this.members.findIndex((member) => node === member);\n if (indexOfNode === 0)\n return false;\n /**\n * Find the next projection node that is present\n */\n let prevLead;\n for (let i = indexOfNode; i >= 0; i--) {\n const member = this.members[i];\n if (member.isPresent !== false) {\n prevLead = member;\n break;\n }\n }\n if (prevLead) {\n this.promote(prevLead);\n return true;\n }\n else {\n return false;\n }\n }\n promote(node, preserveFollowOpacity) {\n const prevLead = this.lead;\n if (node === prevLead)\n return;\n this.prevLead = prevLead;\n this.lead = node;\n node.show();\n if (prevLead) {\n prevLead.instance && prevLead.scheduleRender();\n node.scheduleRender();\n node.resumeFrom = prevLead;\n if (preserveFollowOpacity) {\n node.resumeFrom.preserveOpacity = true;\n }\n if (prevLead.snapshot) {\n node.snapshot = prevLead.snapshot;\n node.snapshot.latestValues =\n prevLead.animationValues || prevLead.latestValues;\n }\n if (node.root && node.root.isUpdating) {\n node.isLayoutDirty = true;\n }\n const { crossfade } = node.options;\n if (crossfade === false) {\n prevLead.hide();\n }\n /**\n * TODO:\n * - Test border radius when previous node was deleted\n * - boxShadow mixing\n * - Shared between element A in scrolled container and element B (scroll stays the same or changes)\n * - Shared between element A in transformed container and element B (transform stays the same or changes)\n * - Shared between element A in scrolled page and element B (scroll stays the same or changes)\n * ---\n * - Crossfade opacity of root nodes\n * - layoutId changes after animation\n * - layoutId changes mid animation\n */\n }\n }\n exitAnimationComplete() {\n this.members.forEach((node) => {\n const { options, resumingFrom } = node;\n options.onExitComplete && options.onExitComplete();\n if (resumingFrom) {\n resumingFrom.options.onExitComplete &&\n resumingFrom.options.onExitComplete();\n }\n });\n }\n scheduleRender() {\n this.members.forEach((node) => {\n node.instance && node.scheduleRender(false);\n });\n }\n /**\n * Clear any leads that have been removed this render to prevent them from being\n * used in future animations and to prevent memory leaks\n */\n removeLeadSnapshot() {\n if (this.lead && this.lead.snapshot) {\n this.lead.snapshot = undefined;\n }\n }\n}\n\nexport { NodeStack };\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n let transform = \"\";\n /**\n * The translations we use to calculate are always relative to the viewport coordinate space.\n * But when we apply scales, we also scale the coordinate space of an element and its children.\n * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n */\n const xTranslate = delta.x.translate / treeScale.x;\n const yTranslate = delta.y.translate / treeScale.y;\n const zTranslate = latestTransform?.z || 0;\n if (xTranslate || yTranslate || zTranslate) {\n transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n }\n /**\n * Apply scale correction for the tree transform.\n * This will apply scale to the screen-orientated axes.\n */\n if (treeScale.x !== 1 || treeScale.y !== 1) {\n transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n }\n if (latestTransform) {\n const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n if (transformPerspective)\n transform = `perspective(${transformPerspective}px) ${transform}`;\n if (rotate)\n transform += `rotate(${rotate}deg) `;\n if (rotateX)\n transform += `rotateX(${rotateX}deg) `;\n if (rotateY)\n transform += `rotateY(${rotateY}deg) `;\n if (skewX)\n transform += `skewX(${skewX}deg) `;\n if (skewY)\n transform += `skewY(${skewY}deg) `;\n }\n /**\n * Apply scale to match the size of the element to the size we want it.\n * This will apply scale to the element-orientated axes.\n */\n const elementScaleX = delta.x.scale * treeScale.x;\n const elementScaleY = delta.y.scale * treeScale.y;\n if (elementScaleX !== 1 || elementScaleY !== 1) {\n transform += `scale(${elementScaleX}, ${elementScaleY})`;\n }\n return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n","import { statsBuffer, isSVGElement, isSVGSVGElement, frame, getValueTransition, cancelFrame, time, frameData, frameSteps, microtask, activeAnimations, motionValue, mixNumber } from 'motion-dom';\nimport { SubscriptionManager, clamp, noop } from 'motion-utils';\nimport { animateSingleValue } from '../../animation/animate/single-value.mjs';\nimport { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs';\nimport { FlatTree } from '../../render/utils/flat-tree.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto, copyAxisDeltaInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcLength, calcRelativeBox, calcRelativePosition, calcBoxDelta, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { boxEqualsRounded, isDeltaZero, axisDeltaEquals, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { globalProjectionState } from './state.mjs';\n\nconst metrics = {\n nodes: 0,\n calculatedTargetDeltas: 0,\n calculatedProjections: 0,\n};\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n const { latestValues } = visualElement;\n // Record the distorting transform and then temporarily set it to 0\n if (latestValues[key]) {\n values[key] = latestValues[key];\n visualElement.setStaticValue(key, 0);\n if (sharedAnimationValues) {\n sharedAnimationValues[key] = 0;\n }\n }\n}\nfunction cancelTreeOptimisedTransformAnimations(projectionNode) {\n projectionNode.hasCheckedOptimisedAppear = true;\n if (projectionNode.root === projectionNode)\n return;\n const { visualElement } = projectionNode.options;\n if (!visualElement)\n return;\n const appearId = getOptimisedAppearId(visualElement);\n if (window.MotionHasOptimisedAnimation(appearId, \"transform\")) {\n const { layout, layoutId } = projectionNode.options;\n window.MotionCancelOptimisedAnimation(appearId, \"transform\", frame, !(layout || layoutId));\n }\n const { parent } = projectionNode;\n if (parent && !parent.hasCheckedOptimisedAppear) {\n cancelTreeOptimisedTransformAnimations(parent);\n }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n return class ProjectionNode {\n constructor(latestValues = {}, parent = defaultParent?.()) {\n /**\n * A unique ID generated for every projection node.\n */\n this.id = id++;\n /**\n * An id that represents a unique session instigated by startUpdate.\n */\n this.animationId = 0;\n this.animationCommitId = 0;\n /**\n * A Set containing all this component's children. This is used to iterate\n * through the children.\n *\n * TODO: This could be faster to iterate as a flat array stored on the root node.\n */\n this.children = new Set();\n /**\n * Options for the node. We use this to configure what kind of layout animations\n * we should perform (if any).\n */\n this.options = {};\n /**\n * We use this to detect when its safe to shut down part of a projection tree.\n * We have to keep projecting children for scale correction and relative projection\n * until all their parents stop performing layout animations.\n */\n this.isTreeAnimating = false;\n this.isAnimationBlocked = false;\n /**\n * Flag to true if we think this layout has been changed. We can't always know this,\n * currently we set it to true every time a component renders, or if it has a layoutDependency\n * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n * and if one node is dirtied, they all are.\n */\n this.isLayoutDirty = false;\n /**\n * Flag to true if we think the projection calculations for this node needs\n * recalculating as a result of an updated transform or layout animation.\n */\n this.isProjectionDirty = false;\n /**\n * Flag to true if the layout *or* transform has changed. This then gets propagated\n * throughout the projection tree, forcing any element below to recalculate on the next frame.\n */\n this.isSharedProjectionDirty = false;\n /**\n * Flag transform dirty. This gets propagated throughout the whole tree but is only\n * respected by shared nodes.\n */\n this.isTransformDirty = false;\n /**\n * Block layout updates for instant layout transitions throughout the tree.\n */\n this.updateManuallyBlocked = false;\n this.updateBlockedByResize = false;\n /**\n * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n * call.\n */\n this.isUpdating = false;\n /**\n * If this is an SVG element we currently disable projection transforms\n */\n this.isSVG = false;\n /**\n * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n * its projection styles.\n */\n this.needsReset = false;\n /**\n * Flags whether this node should have its transform reset prior to measuring.\n */\n this.shouldResetTransform = false;\n /**\n * Store whether this node has been checked for optimised appear animations. As\n * effects fire bottom-up, and we want to look up the tree for appear animations,\n * this makes sure we only check each path once, stopping at nodes that\n * have already been checked.\n */\n this.hasCheckedOptimisedAppear = false;\n /**\n * An object representing the calculated contextual/accumulated/tree scale.\n * This will be used to scale calculcated projection transforms, as these are\n * calculated in screen-space but need to be scaled for elements to layoutly\n * make it to their calculated destinations.\n *\n * TODO: Lazy-init\n */\n this.treeScale = { x: 1, y: 1 };\n /**\n *\n */\n this.eventHandlers = new Map();\n this.hasTreeAnimated = false;\n this.layoutVersion = 0;\n // Note: Currently only running on root node\n this.updateScheduled = false;\n this.scheduleUpdate = () => this.update();\n this.projectionUpdateScheduled = false;\n this.checkUpdateFailed = () => {\n if (this.isUpdating) {\n this.isUpdating = false;\n this.clearAllSnapshots();\n }\n };\n /**\n * This is a multi-step process as shared nodes might be of different depths. Nodes\n * are sorted by depth order, so we need to resolve the entire tree before moving to\n * the next step.\n */\n this.updateProjection = () => {\n this.projectionUpdateScheduled = false;\n /**\n * Reset debug counts. Manually resetting rather than creating a new\n * object each frame.\n */\n if (statsBuffer.value) {\n metrics.nodes =\n metrics.calculatedTargetDeltas =\n metrics.calculatedProjections =\n 0;\n }\n this.nodes.forEach(propagateDirtyNodes);\n this.nodes.forEach(resolveTargetDelta);\n this.nodes.forEach(calcProjection);\n this.nodes.forEach(cleanDirtyNodes);\n if (statsBuffer.addProjectionMetrics) {\n statsBuffer.addProjectionMetrics(metrics);\n }\n };\n /**\n * Frame calculations\n */\n this.resolvedRelativeTargetAt = 0.0;\n this.linkedParentVersion = 0;\n this.hasProjected = false;\n this.isVisible = true;\n this.animationProgress = 0;\n /**\n * Shared layout\n */\n // TODO Only running on root node\n this.sharedNodes = new Map();\n this.latestValues = latestValues;\n this.root = parent ? parent.root || parent : this;\n this.path = parent ? [...parent.path, parent] : [];\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n for (let i = 0; i < this.path.length; i++) {\n this.path[i].shouldResetTransform = true;\n }\n if (this.root === this)\n this.nodes = new FlatTree();\n }\n addEventListener(name, handler) {\n if (!this.eventHandlers.has(name)) {\n this.eventHandlers.set(name, new SubscriptionManager());\n }\n return this.eventHandlers.get(name).add(handler);\n }\n notifyListeners(name, ...args) {\n const subscriptionManager = this.eventHandlers.get(name);\n subscriptionManager && subscriptionManager.notify(...args);\n }\n hasListeners(name) {\n return this.eventHandlers.has(name);\n }\n /**\n * Lifecycles\n */\n mount(instance) {\n if (this.instance)\n return;\n this.isSVG = isSVGElement(instance) && !isSVGSVGElement(instance);\n this.instance = instance;\n const { layoutId, layout, visualElement } = this.options;\n if (visualElement && !visualElement.current) {\n visualElement.mount(instance);\n }\n this.root.nodes.add(this);\n this.parent && this.parent.children.add(this);\n if (this.root.hasTreeAnimated && (layout || layoutId)) {\n this.isLayoutDirty = true;\n }\n if (attachResizeListener) {\n let cancelDelay;\n let innerWidth = 0;\n const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n // Set initial innerWidth in a frame.read callback to batch the read\n frame.read(() => {\n innerWidth = window.innerWidth;\n });\n attachResizeListener(instance, () => {\n const newInnerWidth = window.innerWidth;\n if (newInnerWidth === innerWidth)\n return;\n innerWidth = newInnerWidth;\n this.root.updateBlockedByResize = true;\n cancelDelay && cancelDelay();\n cancelDelay = delay(resizeUnblockUpdate, 250);\n if (globalProjectionState.hasAnimatedSinceResize) {\n globalProjectionState.hasAnimatedSinceResize = false;\n this.nodes.forEach(finishAnimation);\n }\n });\n }\n if (layoutId) {\n this.root.registerSharedNode(layoutId, this);\n }\n // Only register the handler if it requires layout animation\n if (this.options.animate !== false &&\n visualElement &&\n (layoutId || layout)) {\n this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeLayoutChanged, layout: newLayout, }) => {\n if (this.isTreeAnimationBlocked()) {\n this.target = undefined;\n this.relativeTarget = undefined;\n return;\n }\n // TODO: Check here if an animation exists\n const layoutTransition = this.options.transition ||\n visualElement.getDefaultTransition() ||\n defaultLayoutTransition;\n const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n /**\n * The target layout of the element might stay the same,\n * but its position relative to its parent has changed.\n */\n const hasTargetChanged = !this.targetLayout ||\n !boxEqualsRounded(this.targetLayout, newLayout);\n /*\n * Note: Disabled to fix relative animations always triggering new\n * layout animations. If this causes further issues, we can try\n * a different approach to detecting relative target changes.\n */\n // || hasRelativeLayoutChanged\n /**\n * If the layout hasn't seemed to have changed, it might be that the\n * element is visually in the same place in the document but its position\n * relative to its parent has indeed changed. So here we check for that.\n */\n const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeLayoutChanged;\n if (this.options.layoutRoot ||\n this.resumeFrom ||\n hasOnlyRelativeTargetChanged ||\n (hasLayoutChanged &&\n (hasTargetChanged || !this.currentAnimation))) {\n if (this.resumeFrom) {\n this.resumingFrom = this.resumeFrom;\n this.resumingFrom.resumingFrom = undefined;\n }\n const animationOptions = {\n ...getValueTransition(layoutTransition, \"layout\"),\n onPlay: onLayoutAnimationStart,\n onComplete: onLayoutAnimationComplete,\n };\n if (visualElement.shouldReduceMotion ||\n this.options.layoutRoot) {\n animationOptions.delay = 0;\n animationOptions.type = false;\n }\n this.startAnimation(animationOptions);\n /**\n * Set animation origin after starting animation to avoid layout jump\n * caused by stopping previous layout animation\n */\n this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n }\n else {\n /**\n * If the layout hasn't changed and we have an animation that hasn't started yet,\n * finish it immediately. Otherwise it will be animating from a location\n * that was probably never commited to screen and look like a jumpy box.\n */\n if (!hasLayoutChanged) {\n finishAnimation(this);\n }\n if (this.isLead() && this.options.onExitComplete) {\n this.options.onExitComplete();\n }\n }\n this.targetLayout = newLayout;\n });\n }\n }\n unmount() {\n this.options.layoutId && this.willUpdate();\n this.root.nodes.remove(this);\n const stack = this.getStack();\n stack && stack.remove(this);\n this.parent && this.parent.children.delete(this);\n this.instance = undefined;\n this.eventHandlers.clear();\n cancelFrame(this.updateProjection);\n }\n // only on the root\n blockUpdate() {\n this.updateManuallyBlocked = true;\n }\n unblockUpdate() {\n this.updateManuallyBlocked = false;\n }\n isUpdateBlocked() {\n return this.updateManuallyBlocked || this.updateBlockedByResize;\n }\n isTreeAnimationBlocked() {\n return (this.isAnimationBlocked ||\n (this.parent && this.parent.isTreeAnimationBlocked()) ||\n false);\n }\n // Note: currently only running on root node\n startUpdate() {\n if (this.isUpdateBlocked())\n return;\n this.isUpdating = true;\n this.nodes && this.nodes.forEach(resetSkewAndRotation);\n this.animationId++;\n }\n getTransformTemplate() {\n const { visualElement } = this.options;\n return visualElement && visualElement.getProps().transformTemplate;\n }\n willUpdate(shouldNotifyListeners = true) {\n this.root.hasTreeAnimated = true;\n if (this.root.isUpdateBlocked()) {\n this.options.onExitComplete && this.options.onExitComplete();\n return;\n }\n /**\n * If we're running optimised appear animations then these must be\n * cancelled before measuring the DOM. This is so we can measure\n * the true layout of the element rather than the WAAPI animation\n * which will be unaffected by the resetSkewAndRotate step.\n *\n * Note: This is a DOM write. Worst case scenario is this is sandwiched\n * between other snapshot reads which will cause unnecessary style recalculations.\n * This has to happen here though, as we don't yet know which nodes will need\n * snapshots in startUpdate(), but we only want to cancel optimised animations\n * if a layout animation measurement is actually going to be affected by them.\n */\n if (window.MotionCancelOptimisedAnimation &&\n !this.hasCheckedOptimisedAppear) {\n cancelTreeOptimisedTransformAnimations(this);\n }\n !this.root.isUpdating && this.root.startUpdate();\n if (this.isLayoutDirty)\n return;\n this.isLayoutDirty = true;\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.shouldResetTransform = true;\n node.updateScroll(\"snapshot\");\n if (node.options.layoutRoot) {\n node.willUpdate(false);\n }\n }\n const { layoutId, layout } = this.options;\n if (layoutId === undefined && !layout)\n return;\n const transformTemplate = this.getTransformTemplate();\n this.prevTransformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n this.updateSnapshot();\n shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n }\n update() {\n this.updateScheduled = false;\n const updateWasBlocked = this.isUpdateBlocked();\n // When doing an instant transition, we skip the layout update,\n // but should still clean up the measurements so that the next\n // snapshot could be taken correctly.\n if (updateWasBlocked) {\n this.unblockUpdate();\n this.clearAllSnapshots();\n this.nodes.forEach(clearMeasurements);\n return;\n }\n /**\n * If this is a repeat of didUpdate then ignore the animation.\n */\n if (this.animationId <= this.animationCommitId) {\n this.nodes.forEach(clearIsLayoutDirty);\n return;\n }\n this.animationCommitId = this.animationId;\n if (!this.isUpdating) {\n this.nodes.forEach(clearIsLayoutDirty);\n }\n else {\n this.isUpdating = false;\n /**\n * Write\n */\n this.nodes.forEach(resetTransformStyle);\n /**\n * Read ==================\n */\n // Update layout measurements of updated children\n this.nodes.forEach(updateLayout);\n /**\n * Write\n */\n // Notify listeners that the layout is updated\n this.nodes.forEach(notifyLayoutUpdate);\n }\n this.clearAllSnapshots();\n /**\n * Manually flush any pending updates. Ideally\n * we could leave this to the following requestAnimationFrame but this seems\n * to leave a flash of incorrectly styled content.\n */\n const now = time.now();\n frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n frameData.timestamp = now;\n frameData.isProcessing = true;\n frameSteps.update.process(frameData);\n frameSteps.preRender.process(frameData);\n frameSteps.render.process(frameData);\n frameData.isProcessing = false;\n }\n didUpdate() {\n if (!this.updateScheduled) {\n this.updateScheduled = true;\n microtask.read(this.scheduleUpdate);\n }\n }\n clearAllSnapshots() {\n this.nodes.forEach(clearSnapshot);\n this.sharedNodes.forEach(removeLeadSnapshots);\n }\n scheduleUpdateProjection() {\n if (!this.projectionUpdateScheduled) {\n this.projectionUpdateScheduled = true;\n frame.preRender(this.updateProjection, false, true);\n }\n }\n scheduleCheckAfterUnmount() {\n /**\n * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n * we manually call didUpdate to give a chance to the siblings to animate.\n * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n */\n frame.postRender(() => {\n if (this.isLayoutDirty) {\n this.root.didUpdate();\n }\n else {\n this.root.checkUpdateFailed();\n }\n });\n }\n /**\n * Update measurements\n */\n updateSnapshot() {\n if (this.snapshot || !this.instance)\n return;\n this.snapshot = this.measure();\n if (this.snapshot &&\n !calcLength(this.snapshot.measuredBox.x) &&\n !calcLength(this.snapshot.measuredBox.y)) {\n this.snapshot = undefined;\n }\n }\n updateLayout() {\n if (!this.instance)\n return;\n this.updateScroll();\n if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n !this.isLayoutDirty) {\n return;\n }\n /**\n * When a node is mounted, it simply resumes from the prevLead's\n * snapshot instead of taking a new one, but the ancestors scroll\n * might have updated while the prevLead is unmounted. We need to\n * update the scroll again to make sure the layout we measure is\n * up to date.\n */\n if (this.resumeFrom && !this.resumeFrom.instance) {\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.updateScroll();\n }\n }\n const prevLayout = this.layout;\n this.layout = this.measure(false);\n this.layoutVersion++;\n this.layoutCorrected = createBox();\n this.isLayoutDirty = false;\n this.projectionDelta = undefined;\n this.notifyListeners(\"measure\", this.layout.layoutBox);\n const { visualElement } = this.options;\n visualElement &&\n visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n }\n updateScroll(phase = \"measure\") {\n let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n if (this.scroll &&\n this.scroll.animationId === this.root.animationId &&\n this.scroll.phase === phase) {\n needsMeasurement = false;\n }\n if (needsMeasurement && this.instance) {\n const isRoot = checkIsScrollRoot(this.instance);\n this.scroll = {\n animationId: this.root.animationId,\n phase,\n isRoot,\n offset: measureScroll(this.instance),\n wasRoot: this.scroll ? this.scroll.isRoot : isRoot,\n };\n }\n }\n resetTransform() {\n if (!resetTransform)\n return;\n const isResetRequested = this.isLayoutDirty ||\n this.shouldResetTransform ||\n this.options.alwaysMeasureLayout;\n const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n const transformTemplate = this.getTransformTemplate();\n const transformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n if (isResetRequested &&\n this.instance &&\n (hasProjection ||\n hasTransform(this.latestValues) ||\n transformTemplateHasChanged)) {\n resetTransform(this.instance, transformTemplateValue);\n this.shouldResetTransform = false;\n this.scheduleRender();\n }\n }\n measure(removeTransform = true) {\n const pageBox = this.measurePageBox();\n let layoutBox = this.removeElementScroll(pageBox);\n /**\n * Measurements taken during the pre-render stage\n * still have transforms applied so we remove them\n * via calculation.\n */\n if (removeTransform) {\n layoutBox = this.removeTransform(layoutBox);\n }\n roundBox(layoutBox);\n return {\n animationId: this.root.animationId,\n measuredBox: pageBox,\n layoutBox,\n latestValues: {},\n source: this.id,\n };\n }\n measurePageBox() {\n const { visualElement } = this.options;\n if (!visualElement)\n return createBox();\n const box = visualElement.measureViewportBox();\n const wasInScrollRoot = this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot);\n if (!wasInScrollRoot) {\n // Remove viewport scroll to give page-relative coordinates\n const { scroll } = this.root;\n if (scroll) {\n translateAxis(box.x, scroll.offset.x);\n translateAxis(box.y, scroll.offset.y);\n }\n }\n return box;\n }\n removeElementScroll(box) {\n const boxWithoutScroll = createBox();\n copyBoxInto(boxWithoutScroll, box);\n if (this.scroll?.wasRoot) {\n return boxWithoutScroll;\n }\n /**\n * Performance TODO: Keep a cumulative scroll offset down the tree\n * rather than loop back up the path.\n */\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n const { scroll, options } = node;\n if (node !== this.root && scroll && options.layoutScroll) {\n /**\n * If this is a new scroll root, we want to remove all previous scrolls\n * from the viewport box.\n */\n if (scroll.wasRoot) {\n copyBoxInto(boxWithoutScroll, box);\n }\n translateAxis(boxWithoutScroll.x, scroll.offset.x);\n translateAxis(boxWithoutScroll.y, scroll.offset.y);\n }\n }\n return boxWithoutScroll;\n }\n applyTransform(box, transformOnly = false) {\n const withTransforms = createBox();\n copyBoxInto(withTransforms, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!transformOnly &&\n node.options.layoutScroll &&\n node.scroll &&\n node !== node.root) {\n transformBox(withTransforms, {\n x: -node.scroll.offset.x,\n y: -node.scroll.offset.y,\n });\n }\n if (!hasTransform(node.latestValues))\n continue;\n transformBox(withTransforms, node.latestValues);\n }\n if (hasTransform(this.latestValues)) {\n transformBox(withTransforms, this.latestValues);\n }\n return withTransforms;\n }\n removeTransform(box) {\n const boxWithoutTransform = createBox();\n copyBoxInto(boxWithoutTransform, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!node.instance)\n continue;\n if (!hasTransform(node.latestValues))\n continue;\n hasScale(node.latestValues) && node.updateSnapshot();\n const sourceBox = createBox();\n const nodeBox = node.measurePageBox();\n copyBoxInto(sourceBox, nodeBox);\n removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n }\n if (hasTransform(this.latestValues)) {\n removeBoxTransforms(boxWithoutTransform, this.latestValues);\n }\n return boxWithoutTransform;\n }\n setTargetDelta(delta) {\n this.targetDelta = delta;\n this.root.scheduleUpdateProjection();\n this.isProjectionDirty = true;\n }\n setOptions(options) {\n this.options = {\n ...this.options,\n ...options,\n crossfade: options.crossfade !== undefined ? options.crossfade : true,\n };\n }\n clearMeasurements() {\n this.scroll = undefined;\n this.layout = undefined;\n this.snapshot = undefined;\n this.prevTransformTemplateValue = undefined;\n this.targetDelta = undefined;\n this.target = undefined;\n this.isLayoutDirty = false;\n }\n forceRelativeParentToResolveTarget() {\n if (!this.relativeParent)\n return;\n /**\n * If the parent target isn't up-to-date, force it to update.\n * This is an unfortunate de-optimisation as it means any updating relative\n * projection will cause all the relative parents to recalculate back\n * up the tree.\n */\n if (this.relativeParent.resolvedRelativeTargetAt !==\n frameData.timestamp) {\n this.relativeParent.resolveTargetDelta(true);\n }\n }\n resolveTargetDelta(forceRecalculation = false) {\n /**\n * Once the dirty status of nodes has been spread through the tree, we also\n * need to check if we have a shared node of a different depth that has itself\n * been dirtied.\n */\n const lead = this.getLead();\n this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n /**\n * We don't use transform for this step of processing so we don't\n * need to check whether any nodes have changed transform.\n */\n const canSkip = !(forceRecalculation ||\n (isShared && this.isSharedProjectionDirty) ||\n this.isProjectionDirty ||\n this.parent?.isProjectionDirty ||\n this.attemptToResolveRelativeTarget ||\n this.root.updateBlockedByResize);\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If we have no layout, we can't perform projection, so early return\n */\n if (!this.layout || !(layout || layoutId))\n return;\n this.resolvedRelativeTargetAt = frameData.timestamp;\n const relativeParent = this.getClosestProjectingParent();\n if (relativeParent &&\n this.linkedParentVersion !== relativeParent.layoutVersion &&\n !relativeParent.options.layoutRoot) {\n this.removeRelativeTarget();\n }\n /**\n * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n * a relativeParent. This will allow a component to perform scale correction\n * even if no animation has started.\n */\n if (!this.targetDelta && !this.relativeTarget) {\n if (relativeParent && relativeParent.layout) {\n this.createRelativeTarget(relativeParent, this.layout.layoutBox, relativeParent.layout.layoutBox);\n }\n else {\n this.removeRelativeTarget();\n }\n }\n /**\n * If we have no relative target or no target delta our target isn't valid\n * for this frame.\n */\n if (!this.relativeTarget && !this.targetDelta)\n return;\n /**\n * Lazy-init target data structure\n */\n if (!this.target) {\n this.target = createBox();\n this.targetWithTransforms = createBox();\n }\n /**\n * If we've got a relative box for this component, resolve it into a target relative to the parent.\n */\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.relativeParent &&\n this.relativeParent.target) {\n this.forceRelativeParentToResolveTarget();\n calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n /**\n * If we've only got a targetDelta, resolve it into a target\n */\n }\n else if (this.targetDelta) {\n if (Boolean(this.resumingFrom)) {\n // TODO: This is creating a new object every frame\n this.target = this.applyTransform(this.layout.layoutBox);\n }\n else {\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n applyBoxDelta(this.target, this.targetDelta);\n }\n else {\n /**\n * If no target, use own layout as target\n */\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n /**\n * If we've been told to attempt to resolve a relative target, do so.\n */\n if (this.attemptToResolveRelativeTarget) {\n this.attemptToResolveRelativeTarget = false;\n if (relativeParent &&\n Boolean(relativeParent.resumingFrom) ===\n Boolean(this.resumingFrom) &&\n !relativeParent.options.layoutScroll &&\n relativeParent.target &&\n this.animationProgress !== 1) {\n this.createRelativeTarget(relativeParent, this.target, relativeParent.target);\n }\n else {\n this.relativeParent = this.relativeTarget = undefined;\n }\n }\n /**\n * Increase debug counter for resolved target deltas\n */\n if (statsBuffer.value) {\n metrics.calculatedTargetDeltas++;\n }\n }\n getClosestProjectingParent() {\n if (!this.parent ||\n hasScale(this.parent.latestValues) ||\n has2DTranslate(this.parent.latestValues)) {\n return undefined;\n }\n if (this.parent.isProjecting()) {\n return this.parent;\n }\n else {\n return this.parent.getClosestProjectingParent();\n }\n }\n isProjecting() {\n return Boolean((this.relativeTarget ||\n this.targetDelta ||\n this.options.layoutRoot) &&\n this.layout);\n }\n createRelativeTarget(relativeParent, layout, parentLayout) {\n this.relativeParent = relativeParent;\n this.linkedParentVersion = relativeParent.layoutVersion;\n this.forceRelativeParentToResolveTarget();\n this.relativeTarget = createBox();\n this.relativeTargetOrigin = createBox();\n calcRelativePosition(this.relativeTargetOrigin, layout, parentLayout);\n copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n }\n removeRelativeTarget() {\n this.relativeParent = this.relativeTarget = undefined;\n }\n calcProjection() {\n const lead = this.getLead();\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n let canSkip = true;\n /**\n * If this is a normal layout animation and neither this node nor its nearest projecting\n * is dirty then we can't skip.\n */\n if (this.isProjectionDirty || this.parent?.isProjectionDirty) {\n canSkip = false;\n }\n /**\n * If this is a shared layout animation and this node's shared projection is dirty then\n * we can't skip.\n */\n if (isShared &&\n (this.isSharedProjectionDirty || this.isTransformDirty)) {\n canSkip = false;\n }\n /**\n * If we have resolved the target this frame we must recalculate the\n * projection to ensure it visually represents the internal calculations.\n */\n if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n canSkip = false;\n }\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If this section of the tree isn't animating we can\n * delete our target sources for the following frame.\n */\n this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n this.currentAnimation ||\n this.pendingAnimation);\n if (!this.isTreeAnimating) {\n this.targetDelta = this.relativeTarget = undefined;\n }\n if (!this.layout || !(layout || layoutId))\n return;\n /**\n * Reset the corrected box with the latest values from box, as we're then going\n * to perform mutative operations on it.\n */\n copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n /**\n * Record previous tree scales before updating.\n */\n const prevTreeScaleX = this.treeScale.x;\n const prevTreeScaleY = this.treeScale.y;\n /**\n * Apply all the parent deltas to this box to produce the corrected box. This\n * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n */\n applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n /**\n * If this layer needs to perform scale correction but doesn't have a target,\n * use the layout as the target.\n */\n if (lead.layout &&\n !lead.target &&\n (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n lead.target = lead.layout.layoutBox;\n lead.targetWithTransforms = createBox();\n }\n const { target } = lead;\n if (!target) {\n /**\n * If we don't have a target to project into, but we were previously\n * projecting, we want to remove the stored transform and schedule\n * a render to ensure the elements reflect the removed transform.\n */\n if (this.prevProjectionDelta) {\n this.createProjectionDeltas();\n this.scheduleRender();\n }\n return;\n }\n if (!this.projectionDelta || !this.prevProjectionDelta) {\n this.createProjectionDeltas();\n }\n else {\n copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x);\n copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y);\n }\n /**\n * Update the delta between the corrected box and the target box before user-set transforms were applied.\n * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n * for our layout reprojection, but still allow them to be scaled correctly by the user.\n * It might be that to simplify this we may want to accept that user-set scale is also corrected\n * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n * to allow people to choose whether these styles are corrected based on just the\n * layout reprojection or the final bounding box.\n */\n calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n if (this.treeScale.x !== prevTreeScaleX ||\n this.treeScale.y !== prevTreeScaleY ||\n !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) ||\n !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) {\n this.hasProjected = true;\n this.scheduleRender();\n this.notifyListeners(\"projectionUpdate\", target);\n }\n /**\n * Increase debug counter for recalculated projections\n */\n if (statsBuffer.value) {\n metrics.calculatedProjections++;\n }\n }\n hide() {\n this.isVisible = false;\n // TODO: Schedule render\n }\n show() {\n this.isVisible = true;\n // TODO: Schedule render\n }\n scheduleRender(notifyAll = true) {\n this.options.visualElement?.scheduleRender();\n if (notifyAll) {\n const stack = this.getStack();\n stack && stack.scheduleRender();\n }\n if (this.resumingFrom && !this.resumingFrom.instance) {\n this.resumingFrom = undefined;\n }\n }\n createProjectionDeltas() {\n this.prevProjectionDelta = createDelta();\n this.projectionDelta = createDelta();\n this.projectionDeltaWithTransform = createDelta();\n }\n setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n const snapshot = this.snapshot;\n const snapshotLatestValues = snapshot ? snapshot.latestValues : {};\n const mixedValues = { ...this.latestValues };\n const targetDelta = createDelta();\n if (!this.relativeParent ||\n !this.relativeParent.options.layoutRoot) {\n this.relativeTarget = this.relativeTargetOrigin = undefined;\n }\n this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n const relativeLayout = createBox();\n const snapshotSource = snapshot ? snapshot.source : undefined;\n const layoutSource = this.layout ? this.layout.source : undefined;\n const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n const stack = this.getStack();\n const isOnlyMember = !stack || stack.members.length <= 1;\n const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n !isOnlyMember &&\n this.options.crossfade === true &&\n !this.path.some(hasOpacityCrossfade));\n this.animationProgress = 0;\n let prevRelativeTarget;\n this.mixTargetDelta = (latest) => {\n const progress = latest / 1000;\n mixAxisDelta(targetDelta.x, delta.x, progress);\n mixAxisDelta(targetDelta.y, delta.y, progress);\n this.setTargetDelta(targetDelta);\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.layout &&\n this.relativeParent &&\n this.relativeParent.layout) {\n calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n /**\n * If this is an unchanged relative target we can consider the\n * projection not dirty.\n */\n if (prevRelativeTarget &&\n boxEquals(this.relativeTarget, prevRelativeTarget)) {\n this.isProjectionDirty = false;\n }\n if (!prevRelativeTarget)\n prevRelativeTarget = createBox();\n copyBoxInto(prevRelativeTarget, this.relativeTarget);\n }\n if (isSharedLayoutAnimation) {\n this.animationValues = mixedValues;\n mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n }\n this.root.scheduleUpdateProjection();\n this.scheduleRender();\n this.animationProgress = progress;\n };\n this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n }\n startAnimation(options) {\n this.notifyListeners(\"animationStart\");\n this.currentAnimation?.stop();\n this.resumingFrom?.currentAnimation?.stop();\n if (this.pendingAnimation) {\n cancelFrame(this.pendingAnimation);\n this.pendingAnimation = undefined;\n }\n /**\n * Start the animation in the next frame to have a frame with progress 0,\n * where the target is the same as when the animation started, so we can\n * calculate the relative positions correctly for instant transitions.\n */\n this.pendingAnimation = frame.update(() => {\n globalProjectionState.hasAnimatedSinceResize = true;\n activeAnimations.layout++;\n this.motionValue || (this.motionValue = motionValue(0));\n this.currentAnimation = animateSingleValue(this.motionValue, [0, 1000], {\n ...options,\n velocity: 0,\n isSync: true,\n onUpdate: (latest) => {\n this.mixTargetDelta(latest);\n options.onUpdate && options.onUpdate(latest);\n },\n onStop: () => {\n activeAnimations.layout--;\n },\n onComplete: () => {\n activeAnimations.layout--;\n options.onComplete && options.onComplete();\n this.completeAnimation();\n },\n });\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = this.currentAnimation;\n }\n this.pendingAnimation = undefined;\n });\n }\n completeAnimation() {\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = undefined;\n this.resumingFrom.preserveOpacity = undefined;\n }\n const stack = this.getStack();\n stack && stack.exitAnimationComplete();\n this.resumingFrom =\n this.currentAnimation =\n this.animationValues =\n undefined;\n this.notifyListeners(\"animationComplete\");\n }\n finishAnimation() {\n if (this.currentAnimation) {\n this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n this.currentAnimation.stop();\n }\n this.completeAnimation();\n }\n applyTransformsToTarget() {\n const lead = this.getLead();\n let { targetWithTransforms, target, layout, latestValues } = lead;\n if (!targetWithTransforms || !target || !layout)\n return;\n /**\n * If we're only animating position, and this element isn't the lead element,\n * then instead of projecting into the lead box we instead want to calculate\n * a new target that aligns the two boxes but maintains the layout shape.\n */\n if (this !== lead &&\n this.layout &&\n layout &&\n shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n target = this.target || createBox();\n const xLength = calcLength(this.layout.layoutBox.x);\n target.x.min = lead.target.x.min;\n target.x.max = target.x.min + xLength;\n const yLength = calcLength(this.layout.layoutBox.y);\n target.y.min = lead.target.y.min;\n target.y.max = target.y.min + yLength;\n }\n copyBoxInto(targetWithTransforms, target);\n /**\n * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n * This is the final box that we will then project into by calculating a transform delta and\n * applying it to the corrected box.\n */\n transformBox(targetWithTransforms, latestValues);\n /**\n * Update the delta between the corrected box and the final target box, after\n * user-set transforms are applied to it. This will be used by the renderer to\n * create a transform style that will reproject the element from its layout layout\n * into the desired bounding box.\n */\n calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n }\n registerSharedNode(layoutId, node) {\n if (!this.sharedNodes.has(layoutId)) {\n this.sharedNodes.set(layoutId, new NodeStack());\n }\n const stack = this.sharedNodes.get(layoutId);\n stack.add(node);\n const config = node.options.initialPromotionConfig;\n node.promote({\n transition: config ? config.transition : undefined,\n preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n ? config.shouldPreserveFollowOpacity(node)\n : undefined,\n });\n }\n isLead() {\n const stack = this.getStack();\n return stack ? stack.lead === this : true;\n }\n getLead() {\n const { layoutId } = this.options;\n return layoutId ? this.getStack()?.lead || this : this;\n }\n getPrevLead() {\n const { layoutId } = this.options;\n return layoutId ? this.getStack()?.prevLead : undefined;\n }\n getStack() {\n const { layoutId } = this.options;\n if (layoutId)\n return this.root.sharedNodes.get(layoutId);\n }\n promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n const stack = this.getStack();\n if (stack)\n stack.promote(this, preserveFollowOpacity);\n if (needsReset) {\n this.projectionDelta = undefined;\n this.needsReset = true;\n }\n if (transition)\n this.setOptions({ transition });\n }\n relegate() {\n const stack = this.getStack();\n if (stack) {\n return stack.relegate(this);\n }\n else {\n return false;\n }\n }\n resetSkewAndRotation() {\n const { visualElement } = this.options;\n if (!visualElement)\n return;\n // If there's no detected skew or rotation values, we can early return without a forced render.\n let hasDistortingTransform = false;\n /**\n * An unrolled check for rotation values. Most elements don't have any rotation and\n * skipping the nested loop and new object creation is 50% faster.\n */\n const { latestValues } = visualElement;\n if (latestValues.z ||\n latestValues.rotate ||\n latestValues.rotateX ||\n latestValues.rotateY ||\n latestValues.rotateZ ||\n latestValues.skewX ||\n latestValues.skewY) {\n hasDistortingTransform = true;\n }\n // If there's no distorting values, we don't need to do any more.\n if (!hasDistortingTransform)\n return;\n const resetValues = {};\n if (latestValues.z) {\n resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n }\n // Check the skew and rotate value of all axes and reset to 0\n for (let i = 0; i < transformAxes.length; i++) {\n resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n }\n // Force a render of this element to apply the transform with all skews and rotations\n // set to 0.\n visualElement.render();\n // Put back all the values we reset\n for (const key in resetValues) {\n visualElement.setStaticValue(key, resetValues[key]);\n if (this.animationValues) {\n this.animationValues[key] = resetValues[key];\n }\n }\n // Schedule a render for the next frame. This ensures we won't visually\n // see the element with the reset rotate value applied.\n visualElement.scheduleRender();\n }\n applyProjectionStyles(targetStyle, // CSSStyleDeclaration - doesn't allow numbers to be assigned to properties\n styleProp) {\n if (!this.instance || this.isSVG)\n return;\n if (!this.isVisible) {\n targetStyle.visibility = \"hidden\";\n return;\n }\n const transformTemplate = this.getTransformTemplate();\n if (this.needsReset) {\n this.needsReset = false;\n targetStyle.visibility = \"\";\n targetStyle.opacity = \"\";\n targetStyle.pointerEvents =\n resolveMotionValue(styleProp?.pointerEvents) || \"\";\n targetStyle.transform = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : \"none\";\n return;\n }\n const lead = this.getLead();\n if (!this.projectionDelta || !this.layout || !lead.target) {\n if (this.options.layoutId) {\n targetStyle.opacity =\n this.latestValues.opacity !== undefined\n ? this.latestValues.opacity\n : 1;\n targetStyle.pointerEvents =\n resolveMotionValue(styleProp?.pointerEvents) || \"\";\n }\n if (this.hasProjected && !hasTransform(this.latestValues)) {\n targetStyle.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n this.hasProjected = false;\n }\n return;\n }\n targetStyle.visibility = \"\";\n const valuesToRender = lead.animationValues || lead.latestValues;\n this.applyTransformsToTarget();\n let transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n if (transformTemplate) {\n transform = transformTemplate(valuesToRender, transform);\n }\n targetStyle.transform = transform;\n const { x, y } = this.projectionDelta;\n targetStyle.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n if (lead.animationValues) {\n /**\n * If the lead component is animating, assign this either the entering/leaving\n * opacity\n */\n targetStyle.opacity =\n lead === this\n ? valuesToRender.opacity ??\n this.latestValues.opacity ??\n 1\n : this.preserveOpacity\n ? this.latestValues.opacity\n : valuesToRender.opacityExit;\n }\n else {\n /**\n * Or we're not animating at all, set the lead component to its layout\n * opacity and other components to hidden.\n */\n targetStyle.opacity =\n lead === this\n ? valuesToRender.opacity !== undefined\n ? valuesToRender.opacity\n : \"\"\n : valuesToRender.opacityExit !== undefined\n ? valuesToRender.opacityExit\n : 0;\n }\n /**\n * Apply scale correction\n */\n for (const key in scaleCorrectors) {\n if (valuesToRender[key] === undefined)\n continue;\n const { correct, applyTo, isCSSVariable } = scaleCorrectors[key];\n /**\n * Only apply scale correction to the value if we have an\n * active projection transform. Otherwise these values become\n * vulnerable to distortion if the element changes size without\n * a corresponding layout animation.\n */\n const corrected = transform === \"none\"\n ? valuesToRender[key]\n : correct(valuesToRender[key], lead);\n if (applyTo) {\n const num = applyTo.length;\n for (let i = 0; i < num; i++) {\n targetStyle[applyTo[i]] = corrected;\n }\n }\n else {\n // If this is a CSS variable, set it directly on the instance.\n // Replacing this function from creating styles to setting them\n // would be a good place to remove per frame object creation\n if (isCSSVariable) {\n this.options.visualElement.renderState.vars[key] = corrected;\n }\n else {\n targetStyle[key] = corrected;\n }\n }\n }\n /**\n * Disable pointer events on follow components. This is to ensure\n * that if a follow component covers a lead component it doesn't block\n * pointer events on the lead.\n */\n if (this.options.layoutId) {\n targetStyle.pointerEvents =\n lead === this\n ? resolveMotionValue(styleProp?.pointerEvents) || \"\"\n : \"none\";\n }\n }\n clearSnapshot() {\n this.resumeFrom = this.snapshot = undefined;\n }\n // Only run on root\n resetTree() {\n this.root.nodes.forEach((node) => node.currentAnimation?.stop());\n this.root.nodes.forEach(clearMeasurements);\n this.root.sharedNodes.clear();\n }\n };\n}\nfunction updateLayout(node) {\n node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n const snapshot = node.resumeFrom?.snapshot || node.snapshot;\n if (node.isLead() &&\n node.layout &&\n snapshot &&\n node.hasListeners(\"didUpdate\")) {\n const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n const { animationType } = node.options;\n const isShared = snapshot.source !== node.layout.source;\n // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n // animations for instance if layout=\"size\" and an element has only changed position\n if (animationType === \"size\") {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(axisSnapshot);\n axisSnapshot.min = layout[axis].min;\n axisSnapshot.max = axisSnapshot.min + length;\n });\n }\n else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(layout[axis]);\n axisSnapshot.max = axisSnapshot.min + length;\n /**\n * Ensure relative target gets resized and rerendererd\n */\n if (node.relativeTarget && !node.currentAnimation) {\n node.isProjectionDirty = true;\n node.relativeTarget[axis].max =\n node.relativeTarget[axis].min + length;\n }\n });\n }\n const layoutDelta = createDelta();\n calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n const visualDelta = createDelta();\n if (isShared) {\n calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n }\n else {\n calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n }\n const hasLayoutChanged = !isDeltaZero(layoutDelta);\n let hasRelativeLayoutChanged = false;\n if (!node.resumeFrom) {\n const relativeParent = node.getClosestProjectingParent();\n /**\n * If the relativeParent is itself resuming from a different element then\n * the relative snapshot is not relavent\n */\n if (relativeParent && !relativeParent.resumeFrom) {\n const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n if (parentSnapshot && parentLayout) {\n const relativeSnapshot = createBox();\n calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n const relativeLayout = createBox();\n calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n hasRelativeLayoutChanged = true;\n }\n if (relativeParent.options.layoutRoot) {\n node.relativeTarget = relativeLayout;\n node.relativeTargetOrigin = relativeSnapshot;\n node.relativeParent = relativeParent;\n }\n }\n }\n }\n node.notifyListeners(\"didUpdate\", {\n layout,\n snapshot,\n delta: visualDelta,\n layoutDelta,\n hasLayoutChanged,\n hasRelativeLayoutChanged,\n });\n }\n else if (node.isLead()) {\n const { onExitComplete } = node.options;\n onExitComplete && onExitComplete();\n }\n /**\n * Clearing transition\n * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n * and why we need it at all\n */\n node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n /**\n * Increase debug counter for nodes encountered this frame\n */\n if (statsBuffer.value) {\n metrics.nodes++;\n }\n if (!node.parent)\n return;\n /**\n * If this node isn't projecting, propagate isProjectionDirty. It will have\n * no performance impact but it will allow the next child that *is* projecting\n * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n * correcting.\n */\n if (!node.isProjecting()) {\n node.isProjectionDirty = node.parent.isProjectionDirty;\n }\n /**\n * Propagate isSharedProjectionDirty and isTransformDirty\n * throughout the whole tree. A future revision can take another look at\n * this but for safety we still recalcualte shared nodes.\n */\n node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n node.parent.isProjectionDirty ||\n node.parent.isSharedProjectionDirty));\n node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n node.isProjectionDirty =\n node.isSharedProjectionDirty =\n node.isTransformDirty =\n false;\n}\nfunction clearSnapshot(node) {\n node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n const { visualElement } = node.options;\n if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n visualElement.notify(\"BeforeLayoutMeasure\");\n }\n node.resetTransform();\n}\nfunction finishAnimation(node) {\n node.finishAnimation();\n node.targetDelta = node.relativeTarget = node.target = undefined;\n node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n output.translate = mixNumber(delta.translate, 0, p);\n output.scale = mixNumber(delta.scale, 1, p);\n output.origin = delta.origin;\n output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n output.min = mixNumber(from.min, to.min, p);\n output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n mixAxis(output.x, from.x, to.x, p);\n mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n duration: 0.45,\n ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n ? Math.round\n : noop;\nfunction roundAxis(axis) {\n // Round to the nearest .5 pixels to support subpixel layouts\n axis.min = roundPoint(axis.min);\n axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n roundAxis(box.x);\n roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n return (animationType === \"position\" ||\n (animationType === \"preserve-aspect\" &&\n !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\nfunction checkNodeWasScrollRoot(node) {\n return node !== node.root && node.scroll?.wasRoot;\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n","import { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { createProjectionNode } from './create-projection-node.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n measureScroll: () => ({\n x: document.documentElement.scrollLeft || document.body.scrollLeft,\n y: document.documentElement.scrollTop || document.body.scrollTop,\n }),\n checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n measureScroll: (instance) => ({\n x: instance.scrollLeft,\n y: instance.scrollTop,\n }),\n defaultParent: () => {\n if (!rootProjectionNode.current) {\n const documentNode = new DocumentProjectionNode({});\n documentNode.mount(window);\n documentNode.setOptions({ layoutScroll: true });\n rootProjectionNode.current = documentNode;\n }\n return rootProjectionNode.current;\n },\n resetTransform: (instance, value) => {\n instance.style.transform = value !== undefined ? value : \"none\";\n },\n checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\n\nconst drag = {\n pan: {\n Feature: PanGesture,\n },\n drag: {\n Feature: DragGesture,\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { drag };\n","import { hover, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\n\nfunction handleHoverEvent(node, event, lifecycle) {\n const { props } = node;\n if (node.animationState && props.whileHover) {\n node.animationState.setActive(\"whileHover\", lifecycle === \"Start\");\n }\n const eventName = (\"onHover\" + lifecycle);\n const callback = props[eventName];\n if (callback) {\n frame.postRender(() => callback(event, extractEventInfo(event)));\n }\n}\nclass HoverGesture extends Feature {\n mount() {\n const { current } = this.node;\n if (!current)\n return;\n this.unmount = hover(current, (_element, startEvent) => {\n handleHoverEvent(this.node, startEvent, \"Start\");\n return (endEvent) => handleHoverEvent(this.node, endEvent, \"End\");\n });\n }\n unmount() { }\n}\n\nexport { HoverGesture };\n","import { pipe } from 'motion-utils';\nimport { addDomEvent } from '../events/add-dom-event.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\n\nclass FocusGesture extends Feature {\n constructor() {\n super(...arguments);\n this.isActive = false;\n }\n onFocus() {\n let isFocusVisible = false;\n /**\n * If this element doesn't match focus-visible then don't\n * apply whileHover. But, if matches throws that focus-visible\n * is not a valid selector then in that browser outline styles will be applied\n * to the element by default and we want to match that behaviour with whileFocus.\n */\n try {\n isFocusVisible = this.node.current.matches(\":focus-visible\");\n }\n catch (e) {\n isFocusVisible = true;\n }\n if (!isFocusVisible || !this.node.animationState)\n return;\n this.node.animationState.setActive(\"whileFocus\", true);\n this.isActive = true;\n }\n onBlur() {\n if (!this.isActive || !this.node.animationState)\n return;\n this.node.animationState.setActive(\"whileFocus\", false);\n this.isActive = false;\n }\n mount() {\n this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n }\n unmount() { }\n}\n\nexport { FocusGesture };\n","import { press, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\nimport { Feature } from '../motion/features/Feature.mjs';\n\nfunction handlePressEvent(node, event, lifecycle) {\n const { props } = node;\n if (node.current instanceof HTMLButtonElement && node.current.disabled) {\n return;\n }\n if (node.animationState && props.whileTap) {\n node.animationState.setActive(\"whileTap\", lifecycle === \"Start\");\n }\n const eventName = (\"onTap\" + (lifecycle === \"End\" ? \"\" : lifecycle));\n const callback = props[eventName];\n if (callback) {\n frame.postRender(() => callback(event, extractEventInfo(event)));\n }\n}\nclass PressGesture extends Feature {\n mount() {\n const { current } = this.node;\n if (!current)\n return;\n this.unmount = press(current, (_element, startEvent) => {\n handlePressEvent(this.node, startEvent, \"Start\");\n return (endEvent, { success }) => handlePressEvent(this.node, endEvent, success ? \"End\" : \"Cancel\");\n }, { useGlobalTarget: this.node.props.globalTapTarget });\n }\n unmount() { }\n}\n\nexport { PressGesture };\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n const callback = observerCallbacks.get(entry.target);\n callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n const lookupRoot = root || document;\n /**\n * If we don't have an observer lookup map for this root, create one.\n */\n if (!observers.has(lookupRoot)) {\n observers.set(lookupRoot, {});\n }\n const rootObservers = observers.get(lookupRoot);\n const key = JSON.stringify(options);\n /**\n * If we don't have an observer for this combination of root and settings,\n * create one.\n */\n if (!rootObservers[key]) {\n rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n }\n return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n const rootInteresectionObserver = initIntersectionObserver(options);\n observerCallbacks.set(element, callback);\n rootInteresectionObserver.observe(element);\n return () => {\n observerCallbacks.delete(element);\n rootInteresectionObserver.unobserve(element);\n };\n}\n\nexport { observeIntersection };\n","import { Feature } from '../Feature.mjs';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n some: 0,\n all: 1,\n};\nclass InViewFeature extends Feature {\n constructor() {\n super(...arguments);\n this.hasEnteredView = false;\n this.isInView = false;\n }\n startObserver() {\n this.unmount();\n const { viewport = {} } = this.node.getProps();\n const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n const options = {\n root: root ? root.current : undefined,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n };\n const onIntersectionUpdate = (entry) => {\n const { isIntersecting } = entry;\n /**\n * If there's been no change in the viewport state, early return.\n */\n if (this.isInView === isIntersecting)\n return;\n this.isInView = isIntersecting;\n /**\n * Handle hasEnteredView. If this is only meant to run once, and\n * element isn't visible, early return. Otherwise set hasEnteredView to true.\n */\n if (once && !isIntersecting && this.hasEnteredView) {\n return;\n }\n else if (isIntersecting) {\n this.hasEnteredView = true;\n }\n if (this.node.animationState) {\n this.node.animationState.setActive(\"whileInView\", isIntersecting);\n }\n /**\n * Use the latest committed props rather than the ones in scope\n * when this observer is created\n */\n const { onViewportEnter, onViewportLeave } = this.node.getProps();\n const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n callback && callback(entry);\n };\n return observeIntersection(this.node.current, options, onIntersectionUpdate);\n }\n mount() {\n this.startObserver();\n }\n update() {\n if (typeof IntersectionObserver === \"undefined\")\n return;\n const { props, prevProps } = this.node;\n const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n if (hasOptionsChanged) {\n this.startObserver();\n }\n }\n unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n inView: {\n Feature: InViewFeature,\n },\n tap: {\n Feature: PressGesture,\n },\n focus: {\n Feature: FocusGesture,\n },\n hover: {\n Feature: HoverGesture,\n },\n};\n\nexport { gestureAnimations };\n","import { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n layout: {\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { layout };\n","import { animations } from '../../../motion/features/animations.mjs';\nimport { drag } from '../../../motion/features/drag.mjs';\nimport { gestureAnimations } from '../../../motion/features/gestures.mjs';\nimport { layout } from '../../../motion/features/layout.mjs';\n\nconst featureBundle = {\n ...animations,\n ...gestureAnimations,\n ...drag,\n ...layout,\n};\n\nexport { featureBundle };\n","import { createDomVisualElement } from '../../dom/create-visual-element.mjs';\nimport { createMotionProxy } from '../create-proxy.mjs';\nimport { featureBundle } from './feature-bundle.mjs';\n\nconst motion = /*@__PURE__*/ createMotionProxy(featureBundle, createDomVisualElement);\n\nexport { motion };\n","import { motion } from 'motion/react';\nimport clsx from 'clsx';\nimport { spinner, spinnerSize, track, fill } from './Loading.css';\n\nexport type LoadingSize = 'small' | 'medium' | 'large' | 'xlarge';\nexport type LoadingColor = 'blue' | 'green' | 'yellow' | 'red' | 'gray';\n\nexport interface LoadingProps {\n size: LoadingSize;\n color: LoadingColor;\n 'aria-label'?: string;\n className?: string;\n}\n\nexport default function Loading({\n size,\n color,\n 'aria-label': ariaLabel = '로딩 중',\n className,\n}: LoadingProps) {\n return (\n <div\n role=\"status\"\n aria-label={ariaLabel}\n className={clsx(spinner, spinnerSize({ size }), className)}\n >\n <div className={clsx(track, spinnerSize({ size }))} />\n\n <motion.div\n className={clsx(fill({ color }), spinnerSize({ size }))}\n animate={{ rotate: [0, 90, 90, 360] }}\n transition={{\n duration: 0.8,\n repeat: Infinity,\n ease: 'linear',\n times: [0, 0.45, 0.55, 1],\n }}\n />\n </div>\n );\n}\n","import React from 'react';\nimport { Button as AriaButton, type ButtonProps as AriaButtonProps } from 'react-aria-components';\nimport clsx from 'clsx';\nimport { buttonRecipe, loadingWrapper } from './Button.css';\nimport Loading from '@components/basic/loading/Loading';\n\nexport type ButtonVariant = 'filled' | 'outline' | 'light' | 'no_bg';\nexport type ButtonColor = 'blue' | 'green' | 'red' | 'gray';\nexport type ButtonSize = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';\nexport type ButtonIconPosition = 'none' | 'left' | 'right' | 'duo' | 'only';\n\nexport interface ButtonProps extends Omit<AriaButtonProps, 'children'> {\n variant: ButtonVariant;\n color: ButtonColor;\n size: ButtonSize;\n icon?: React.ReactElement;\n iconPosition?: ButtonIconPosition;\n loading?: boolean;\n children?: React.ReactNode;\n type?: 'button' | 'submit' | 'reset';\n}\n\nconst LOADING_SIZE_MAP: Record<ButtonSize, 'small' | 'medium'> = {\n xxsmall: 'small',\n xsmall: 'small',\n small: 'small',\n medium: 'small',\n large: 'medium',\n xlarge: 'medium',\n} as const;\n\nexport default function Button({\n children,\n variant = 'filled',\n color = 'blue',\n size = 'medium',\n icon,\n iconPosition,\n loading = false,\n isDisabled = false,\n type = 'button',\n 'aria-label': ariaLabel,\n className,\n ...props\n}: ButtonProps) {\n const finalIconPosition: ButtonIconPosition =\n !children && icon ? 'only' : (iconPosition ?? (icon ? 'left' : 'none'));\n const isIconOnly = finalIconPosition === 'only';\n const showLeftIcon =\n icon && (finalIconPosition === 'left' || finalIconPosition === 'duo' || isIconOnly);\n const showRightIcon = icon && (finalIconPosition === 'right' || finalIconPosition === 'duo');\n\n let finalAriaLabel = ariaLabel;\n\n if (loading) {\n finalAriaLabel =\n ariaLabel ?? (typeof children === 'string' ? children : undefined) ?? '로딩 중';\n }\n\n if (isIconOnly && !finalAriaLabel) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Icon-only Button에는 aria-label이 필요합니다.');\n }\n }\n\n const finalIsDisabled = isDisabled || loading;\n\n return (\n <AriaButton\n type={type}\n isDisabled={finalIsDisabled}\n className={clsx(\n buttonRecipe({\n variant,\n color,\n size,\n iconPosition: finalIconPosition,\n }),\n className\n )}\n aria-label={finalAriaLabel}\n aria-busy={loading ? true : undefined}\n {...props}\n >\n {loading ? (\n <span className={loadingWrapper}>\n <Loading size={LOADING_SIZE_MAP[size]} color={color} />\n </span>\n ) : (\n <>\n {showLeftIcon && icon}\n {children}\n {showRightIcon && icon}\n </>\n )}\n </AriaButton>\n );\n}\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconActivity = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 12h-4l-3 9L9 3l-3 9H2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconActivity.displayName = 'IconActivity';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAlertOctagon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86zM12 16h.01M12 8v4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAlertOctagon.displayName = 'IconAlertOctagon';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAlignCenter = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 10H7M20 6H4M20 14H4M17 18H7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAlignCenter.displayName = 'IconAlignCenter';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAlignJustify = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 18H4M20 14H4M20 10H4M20 6H4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAlignJustify.displayName = 'IconAlignJustify';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAlignLeft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 18H4M20 14H4M16 10H4M20 6H4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAlignLeft.displayName = 'IconAlignLeft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAlignRight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 18H8M20 14H4M20 10H8M20 6H4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAlignRight.displayName = 'IconAlignRight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAnchor = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22V8M5 12H2a10 10 0 0 0 20 0h-3M12 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconAnchor.displayName = 'IconAnchor';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArchive = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 8v13H3V8M10 12h4M23 3H1v5h22z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArchive.displayName = 'IconArchive';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowCircleDown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m8 12 4 4 4-4M12 8v8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowCircleDown.displayName = 'IconArrowCircleDown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowCircleLeft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 8-4 4 4 4M16 12H8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowCircleLeft.displayName = 'IconArrowCircleLeft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowCircleRight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 16 4-4-4-4M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowCircleRight.displayName = 'IconArrowCircleRight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowCircleUp = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m16 12-4-4-4 4M12 16V8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowCircleUp.displayName = 'IconArrowCircleUp';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalDownleft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 7 7 17M15 17H7V9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalDownleft.displayName = 'IconArrowDiagonalDownleft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalDownleftSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 7 7 17M15 17H7V9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalDownleftSmall.displayName = 'IconArrowDiagonalDownleftSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalDownright = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m7 7 10 10M17 9v8H9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalDownright.displayName = 'IconArrowDiagonalDownright';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalDownrightSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m7 7 10 10M17 9v8H9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalDownrightSmall.displayName = 'IconArrowDiagonalDownrightSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalUpleft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 17 7 7M7 15V7h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalUpleft.displayName = 'IconArrowDiagonalUpleft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalUpleftSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 17 7 7M7 15V7h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalUpleftSmall.displayName = 'IconArrowDiagonalUpleftSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalUpright = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7 17 17 7M9 7h8v8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalUpright.displayName = 'IconArrowDiagonalUpright';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDiagonalUprightSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7 17 17 7M9 7h8v8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDiagonalUprightSmall.displayName = 'IconArrowDiagonalUprightSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 5v14M18 13.5l-6 6-6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDown.displayName = 'IconArrowDown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDownSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 5v14M18 13.5l-6 6-6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDownSmall.displayName = 'IconArrowDownSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDownleft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m9 10-5 5 5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 4v7a4 4 0 0 1-4 4H4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDownleft.displayName = 'IconArrowDownleft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowDownright = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m15 10 5 5-5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 4v7a4 4 0 0 0 4 4h12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowDownright.displayName = 'IconArrowDownright';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowLeft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 12H5M11 18l-6-6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowLeft.displayName = 'IconArrowLeft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowLeftSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 12H5M11 18l-6-6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowLeftSmall.displayName = 'IconArrowLeftSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowLeftdown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m14 15-5 5-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 4h-7a4 4 0 0 0-4 4v12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowLeftdown.displayName = 'IconArrowLeftdown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowLeftup = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 9 9 4 4 9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 20h-7a4 4 0 0 1-4-4V4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowLeftup.displayName = 'IconArrowLeftup';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowRight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5 12h14M13 6l6 6-6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowRight.displayName = 'IconArrowRight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowRightSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5 12h14M13 6l6 6-6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowRightSmall.displayName = 'IconArrowRightSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowRightdown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m10 15 5 5 5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 4h7a4 4 0 0 1 4 4v12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowRightdown.displayName = 'IconArrowRightdown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowRightup = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m10 9 5-5 5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 20h7a4 4 0 0 0 4-4V4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowRightup.displayName = 'IconArrowRightup';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowUp = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 19V5M6 11l6-6 6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowUp.displayName = 'IconArrowUp';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowUpSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 19V5M6 11l6-6 6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowUpSmall.displayName = 'IconArrowUpSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowUpleft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9 14 4 9l5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 20v-7a4 4 0 0 0-4-4H4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowUpleft.displayName = 'IconArrowUpleft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconArrowUpright = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m15 14 5-5-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 20v-7a4 4 0 0 1 4-4h12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconArrowUpright.displayName = 'IconArrowUpright';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconAward = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#award__a)\">\n <path d=\"M12 15a7 7 0 1 0 0-14 7 7 0 0 0 0 14\" stroke=\"currentColor\" fill=\"none\" />\n <path d=\"M8.21 13.89 7 23l5-3 5 3-1.21-9.12\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"award__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconAward.displayName = 'IconAward';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBarChart1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 20v-4M12 20V10M18 20V4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBarChart1.displayName = 'IconBarChart1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBarChart2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 20v-6M18 20V10M12 20V4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBarChart2.displayName = 'IconBarChart2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBattery = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 13v-2M17 6H3a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBattery.displayName = 'IconBattery';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBatteryCharging = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 13v-2M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19M11 6l-4 6h6l-4 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBatteryCharging.displayName = 'IconBatteryCharging';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBell = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 8A6 6 0 1 0 6 8c0 2.895-.513 4.934-1.115 6.33-.391.91.428 2.67 1.418 2.67h11.394c.99 0 1.81-1.76 1.418-2.67C18.513 12.935 18 10.896 18 8M15 19.5a3.8 3.8 0 0 1-1.269 1.464A3.1 3.1 0 0 1 12 21.5a3.1 3.1 0 0 1-1.731-.536A3.8 3.8 0 0 1 9 19.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBell.displayName = 'IconBell';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBellOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15 19.5a3.8 3.8 0 0 1-1.269 1.464A3.1 3.1 0 0 1 12 21.5a3.1 3.1 0 0 1-1.731-.536A3.8 3.8 0 0 1 9 19.5M18.63 13A17.9 17.9 0 0 1 18 8M6.26 6.26A5.9 5.9 0 0 0 6 8c0 2.895-.513 4.934-1.115 6.331C4.494 15.24 5.313 17 6.303 17H17M18 8a6 6 0 0 0-9.33-5M3 3l18 18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBellOff.displayName = 'IconBellOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBluetooth = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g clipPath=\"url(#bluetooth__a)\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m6.5 6.5 11 11L12 23V1l5.5 5.5-11 11\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"bluetooth__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconBluetooth.displayName = 'IconBluetooth';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBold = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 12h9a4 4 0 1 1 0 8H6zM6 4h8a4 4 0 1 1 0 8H6z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBold.displayName = 'IconBold';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBook = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBook.displayName = 'IconBook';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBookOpen = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7zM2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBookOpen.displayName = 'IconBookOpen';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBookmark = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 19.057a1 1 0 0 1-1.581.814L12 16l-5.419 3.87A1 1 0 0 1 5 19.058V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBookmark.displayName = 'IconBookmark';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBox = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBox.displayName = 'IconBox';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconBriefcase = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 7H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconBriefcase.displayName = 'IconBriefcase';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCalendar = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 4H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M3 10h18M16 2v4M8 2v4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCalendar.displayName = 'IconCalendar';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 16.977v2.71a1.8 1.8 0 0 1-1.23 1.718c-.24.08-.492.11-.744.088a17.9 17.9 0 0 1-7.81-2.773 17.6 17.6 0 0 1-5.43-5.42 17.85 17.85 0 0 1-2.779-7.83A1.8 1.8 0 0 1 4.08 3.653c.23-.101.478-.154.73-.154h2.714a1.81 1.81 0 0 1 1.81 1.554c.115.867.328 1.718.634 2.538a1.8 1.8 0 0 1-.407 1.906l-1.15 1.147a14.47 14.47 0 0 0 5.43 5.42l1.15-1.148a1.81 1.81 0 0 1 1.91-.406c.82.305 1.674.518 2.543.632a1.81 1.81 0 0 1 1.556 1.834\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCall.displayName = 'IconCall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallCalling = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14.15 6.94a4.31 4.31 0 0 1 3.403 3.398M14.15 3.5a7.76 7.76 0 0 1 4.624 2.216A7.74 7.74 0 0 1 21 10.33m-.862 6.864v2.58a1.72 1.72 0 0 1-1.171 1.636 1.7 1.7 0 0 1-.707.084 17.1 17.1 0 0 1-7.437-2.64 16.8 16.8 0 0 1-5.17-5.161 17 17 0 0 1-2.646-7.457 1.72 1.72 0 0 1 1.02-1.728c.219-.097.456-.147.695-.147h2.585a1.725 1.725 0 0 1 1.724 1.48c.109.825.311 1.636.603 2.416a1.72 1.72 0 0 1-.388 1.815l-1.094 1.092a13.8 13.8 0 0 0 5.17 5.16l1.094-1.091a1.72 1.72 0 0 1 1.819-.387 11 11 0 0 0 2.421.602 1.724 1.724 0 0 1 1.482 1.746\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallCalling.displayName = 'IconCallCalling';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallForwarded = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m17 3.5 4 4-4 4M13 7.5h8M20 17.228v2.559a1.7 1.7 0 0 1-1.162 1.623 1.7 1.7 0 0 1-.702.083 16.94 16.94 0 0 1-7.376-2.619 16.65 16.65 0 0 1-5.129-5.118A16.86 16.86 0 0 1 3.007 6.36a1.7 1.7 0 0 1 1.012-1.714c.217-.096.452-.146.689-.146h2.564a1.71 1.71 0 0 1 1.71 1.467c.108.82.309 1.623.598 2.397a1.7 1.7 0 0 1-.385 1.8L8.11 11.248a13.66 13.66 0 0 0 5.128 5.118l1.086-1.083a1.71 1.71 0 0 1 1.803-.384c.776.289 1.582.489 2.402.597A1.71 1.71 0 0 1 20 17.228\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallForwarded.displayName = 'IconCallForwarded';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallIn = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15 4.5v5h5M21 3.5l-6 6M20 17.228v2.559a1.7 1.7 0 0 1-1.162 1.623 1.7 1.7 0 0 1-.702.083 16.94 16.94 0 0 1-7.376-2.619 16.65 16.65 0 0 1-5.129-5.118A16.86 16.86 0 0 1 3.007 6.36a1.7 1.7 0 0 1 1.012-1.714c.217-.096.452-.146.689-.146h2.564a1.71 1.71 0 0 1 1.71 1.467c.108.82.309 1.623.598 2.397a1.7 1.7 0 0 1-.385 1.8L8.11 11.248a13.66 13.66 0 0 0 5.128 5.118l1.086-1.083a1.71 1.71 0 0 1 1.803-.384c.776.289 1.582.489 2.402.597A1.71 1.71 0 0 1 20 17.228\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallIn.displayName = 'IconCallIn';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallMissed = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m21 3.5-6 6M15 3.5l6 6M20 17.228v2.559a1.7 1.7 0 0 1-1.162 1.623 1.7 1.7 0 0 1-.702.083 16.94 16.94 0 0 1-7.376-2.619 16.65 16.65 0 0 1-5.129-5.118A16.86 16.86 0 0 1 3.007 6.36a1.7 1.7 0 0 1 1.012-1.714c.217-.096.452-.146.689-.146h2.564a1.71 1.71 0 0 1 1.71 1.467c.108.82.309 1.623.598 2.397a1.7 1.7 0 0 1-.385 1.8L8.11 11.248a13.66 13.66 0 0 0 5.128 5.118l1.086-1.083a1.71 1.71 0 0 1 1.803-.384c.776.289 1.582.489 2.402.597A1.71 1.71 0 0 1 20 17.228\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallMissed.displayName = 'IconCallMissed';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5.786 12.779a17.9 17.9 0 0 1-2.779-7.807A1.81 1.81 0 0 1 4.808 3h2.716a1.81 1.81 0 0 1 1.81 1.556c.114.868.327 1.721.633 2.542a1.81 1.81 0 0 1-.407 1.909l-1.15 1.148m2.345 3.076c.918.919 1.956 1.71 3.086 2.352l1.15-1.149a1.81 1.81 0 0 1 1.909-.407c.821.306 1.674.519 2.543.633A1.81 1.81 0 0 1 21 16.47v2.713a1.81 1.81 0 0 1-1.973 1.81 17.9 17.9 0 0 1-7.81-2.777A17.6 17.6 0 0 1 8.201 15.8zM20.75 3.25l-18 18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallOff.displayName = 'IconCallOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCallOut = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 9.5v-6h-5M15 9.5l6-6M20 17.228v2.559a1.7 1.7 0 0 1-1.162 1.623 1.7 1.7 0 0 1-.702.083 16.94 16.94 0 0 1-7.376-2.619 16.65 16.65 0 0 1-5.129-5.118A16.86 16.86 0 0 1 3.007 6.36a1.7 1.7 0 0 1 1.012-1.714c.217-.096.452-.146.689-.146h2.564a1.71 1.71 0 0 1 1.71 1.467c.108.82.309 1.623.598 2.397a1.7 1.7 0 0 1-.385 1.8L8.11 11.248a13.66 13.66 0 0 0 5.128 5.118l1.086-1.083a1.71 1.71 0 0 1 1.803-.384c.776.289 1.582.489 2.402.597A1.71 1.71 0 0 1 20 17.228\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCallOut.displayName = 'IconCallOut';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCamera = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 17a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCamera.displayName = 'IconCamera';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCameraOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#camera_off__a)\">\n <path\n d=\"m1 1 22 22M9 3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"camera_off__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCameraOff.displayName = 'IconCameraOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCard = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.182 5H3.818C2.814 5 2 5.84 2 6.875v11.25C2 19.16 2.814 20 3.818 20h16.364C21.186 20 22 19.16 22 18.125V6.875C22 5.839 21.186 5 20.182 5M2 10h20M14 15h4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCard.displayName = 'IconCard';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCast = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M2 20h.01M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCast.displayName = 'IconCast';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCenter = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.01 12h5.95M1.05 12H7M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCenter.displayName = 'IconCenter';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChatCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9l-5.2.9 1.4-4.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChatCircle.displayName = 'IconChatCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChatRectangle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 15a2 2 0 0 1-2 2H7l-4 3V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChatRectangle.displayName = 'IconChatRectangle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCheck = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 6 9 17l-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCheck.displayName = 'IconCheck';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2Down = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m7 13 5 5 5-5M7 6l5 5 5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2Down.displayName = 'IconChevron2Down';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2DownLight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m7 13 5 5 5-5M7 6l5 5 5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2DownLight.displayName = 'IconChevron2DownLight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2Left = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11 17-5-5 5-5M18 17l-5-5 5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2Left.displayName = 'IconChevron2Left';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2LeftLight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11 17-5-5 5-5M18 17l-5-5 5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2LeftLight.displayName = 'IconChevron2LeftLight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2Right = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m13 17 5-5-5-5M6 17l5-5-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2Right.displayName = 'IconChevron2Right';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2RightLight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m13 17 5-5-5-5M6 17l5-5-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2RightLight.displayName = 'IconChevron2RightLight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2Up = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m17 18-5-5-5 5M17 11l-5-5-5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2Up.displayName = 'IconChevron2Up';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevron2UpLight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m17 18-5-5-5 5M17 11l-5-5-5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevron2UpLight.displayName = 'IconChevron2UpLight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronDown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m6 9 6 6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronDown.displayName = 'IconChevronDown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronDownSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m6 9 6 6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronDownSmall.displayName = 'IconChevronDownSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronLeft = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m15 18-6-6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronLeft.displayName = 'IconChevronLeft';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronLeftSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m15 18-6-6 6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronLeftSmall.displayName = 'IconChevronLeftSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronRight = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m9 18 6-6-6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronRight.displayName = 'IconChevronRight';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronRightSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m9 18 6-6-6-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronRightSmall.displayName = 'IconChevronRightSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronUp = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m18 15-6-6-6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronUp.displayName = 'IconChevronUp';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconChevronUpSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m18 15-6-6-6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconChevronUpSmall.displayName = 'IconChevronUpSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCircle.displayName = 'IconCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconClip = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m21.44 11.05-9.19 9.19a6.003 6.003 0 0 1-8.49-8.49l9.19-9.19a4.002 4.002 0 0 1 5.66 5.66l-9.2 9.19a2.001 2.001 0 1 1-2.83-2.83l8.49-8.48\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconClip.displayName = 'IconClip';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconClipboard = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15 2H9a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconClipboard.displayName = 'IconClipboard';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconClock = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 6v6l4 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconClock.displayName = 'IconClock';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloud = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 1 0 0-10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCloud.displayName = 'IconCloud';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudDownload = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m8 17 4 4 4-4M12 12v9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCloudDownload.displayName = 'IconCloudDownload';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudLighting = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#cloud_lighting__a)\">\n <path\n d=\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path d=\"m13 11-4 6h6l-4 6\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"cloud_lighting__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCloudLighting.displayName = 'IconCloudLighting';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudRain1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#cloud_rain1__a)\">\n <path\n d=\"M12 21v2M16 19v2M8 19v2M12 15v2M16 13v2M8 13v2M20 16.58A5 5 0 0 0 18 7h-1.26A7.998 7.998 0 0 0 2.063 5.005 8 8 0 0 0 4 15.25\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"cloud_rain1__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCloudRain1.displayName = 'IconCloudRain1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudRain2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#cloud_rain2__a)\">\n <path\n d=\"M16 13v8M8 13v8M12 15v8M20 16.58A5 5 0 0 0 18 7h-1.26A7.998 7.998 0 0 0 2.063 5.005 8 8 0 0 0 4 15.25\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"cloud_rain2__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCloudRain2.displayName = 'IconCloudRain2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudSnow = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22h.01M16 20h.01M8 20h.01M12 18h.01M20 17.58A5 5 0 0 0 18 8h-1.26A7.998 7.998 0 0 0 2.063 6.005 8 8 0 0 0 4 16.25M16 16h.01M8 16h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCloudSnow.displayName = 'IconCloudSnow';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCloudUpload = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m16 16-4-4-4 4M12 12v9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCloudUpload.displayName = 'IconCloudUpload';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCode = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m16 18 6-6-6-6M8 6l-6 6 6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCode.displayName = 'IconCode';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCoffee = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#coffee__a)\">\n <path\n d=\"M18 8h1a4 4 0 1 1 0 8h-1M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4zM14 1v3M10 1v3M6 1v3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"coffee__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCoffee.displayName = 'IconCoffee';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCoin = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3M12 8c4.97 0 9-1.343 9-3s-4.03-3-9-3-9 1.343-9 3 4.03 3 9 3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCoin.displayName = 'IconCoin';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconColumn = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 3v18m0-18h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7zm0 0H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconColumn.displayName = 'IconColumn';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCompass = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCompass.displayName = 'IconCompass';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCopy = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19.154 9.5h-8.308C9.826 9.5 9 10.327 9 11.346v8.308c0 1.02.827 1.846 1.846 1.846h8.308c1.02 0 1.846-.827 1.846-1.846v-8.308c0-1.02-.827-1.846-1.846-1.846\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 16.5H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCopy.displayName = 'IconCopy';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCpu = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#cpu__a)\">\n <path\n d=\"M18 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n d=\"M15 9H9v6h6zM9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"cpu__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCpu.displayName = 'IconCpu';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCrop = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#crop__a)\">\n <path d=\"M6.13 1 6 16a2 2 0 0 0 2 2h15\" stroke=\"currentColor\" fill=\"none\" />\n <path d=\"M1 6.13 16 6a2 2 0 0 1 2 2v15\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"crop__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconCrop.displayName = 'IconCrop';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconCrosshair = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 22v-4M22 12h-4M6 12H2M12 6V2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconCrosshair.displayName = 'IconCrosshair';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconDelete = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M18 9l-6 6M12 9l6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconDelete.displayName = 'IconDelete';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconDisc = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconDisc.displayName = 'IconDisc';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconDollar = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#dollar__a)\">\n <path\n d=\"M12 1v22M17 5H9.5a3.5 3.5 0 1 0 0 7h5a3.5 3.5 0 1 1 0 7H6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"dollar__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconDollar.displayName = 'IconDollar';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconDownload = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconDownload.displayName = 'IconDownload';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconDroplet = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 2.69 5.66 5.66a8 8 0 1 1-11.31 0z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconDroplet.displayName = 'IconDroplet';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEdit1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16.617 4.252a2.567 2.567 0 1 1 3.631 3.631L7.993 20.138 3 21.5l1.362-4.993z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEdit1.displayName = 'IconEdit1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEdit2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 20h9M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEdit2.displayName = 'IconEdit2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEdit3 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18.5 2.5a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEdit3.displayName = 'IconEdit3';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEnergy = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M13 2 3 14h9l-1 8 10-12h-9z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEnergy.displayName = 'IconEnergy';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEnergyOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18.57 12.91 21 10h-5.34M8 8l-5 6h9l-1 8 5-6M12.41 6.75 13 2l-2.43 2.92M2 2l20 20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEnergyOff.displayName = 'IconEnergyOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconExternalLink = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M14 4.5h6v6M12 12.5l8-8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconExternalLink.displayName = 'IconExternalLink';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEye = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEye.displayName = 'IconEye';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconEyeOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9.9 4.24A9 9 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a2.998 2.998 0 0 1-5.194-2.098A3 3 0 0 1 9.88 9.88m8.06 8.06A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94zM2 1.5l20 20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconEyeOff.displayName = 'IconEyeOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFastForward = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m13 19 9-7-9-7zM2 19l9-7-9-7z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFastForward.displayName = 'IconFastForward';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFeather = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.24 12.24a6.003 6.003 0 0 0-8.49-8.49L5 10.5V19h8.5zM16 8 2 22M17.5 15H9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFeather.displayName = 'IconFeather';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFileMinus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2v6h6M9 15h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFileMinus.displayName = 'IconFileMinus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFilePlus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM12 18v-6M9 15h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2v6h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFilePlus.displayName = 'IconFilePlus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFilm = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19.82 2H4.18A2.18 2.18 0 0 0 2 4.18v15.64A2.18 2.18 0 0 0 4.18 22h15.64A2.18 2.18 0 0 0 22 19.82V4.18A2.18 2.18 0 0 0 19.82 2M7 2v20M17 2v20M2 12h20M2 7h5M2 17h5M17 17h5M17 7h5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFilm.displayName = 'IconFilm';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFlag = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 22v-7M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFlag.displayName = 'IconFlag';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFlter = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 3H2l8 9.46V19l4 2v-8.54z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFlter.displayName = 'IconFlter';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFocus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M14.31 8l5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16 3.95 6.06M14.31 16H2.83M16.62 12l-5.74 9.94\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFocus.displayName = 'IconFocus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFolder = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFolder.displayName = 'IconFolder';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFolderMinus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2zM9 14h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFolderMinus.displayName = 'IconFolderMinus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFolderPlus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2zM12 11v6M9 14h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFolderPlus.displayName = 'IconFolderPlus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFrame = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFrame.displayName = 'IconFrame';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconFrown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 16s-1.5-2-4-2-4 2-4 2M15 9h.01M9 9h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconFrown.displayName = 'IconFrown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconGift = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 12v10H4V12M22 7H2v5h20zM12 22V7M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7M12 7H7.5a2.5 2.5 0 1 1 0-5C11 2 12 7 12 7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconGift.displayName = 'IconGift';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconGlobe = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M2 12h20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconGlobe.displayName = 'IconGlobe';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconGrid = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 14h-7v7h7zM10 14H3v7h7zM21 3h-7v7h7zM10 3H3v7h7z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconGrid.displayName = 'IconGrid';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHardDrive = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 12H2M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11M10 16h.01M6 16h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHardDrive.displayName = 'IconHardDrive';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHash = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 15h16M4 9h16M16 3l-2 18M10 3 8 21\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHash.displayName = 'IconHash';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHeadphones = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3 18v-6a9 9 0 1 1 18 0v6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHeadphones.displayName = 'IconHeadphones';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHeart = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.501 5.501 0 1 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHeart.displayName = 'IconHeart';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHelpCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 17h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHelpCircle.displayName = 'IconHelpCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHelpCircleSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 17h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHelpCircleSmall.displayName = 'IconHelpCircleSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHexagon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconHexagon.displayName = 'IconHexagon';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconHome = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3 9.978A2 2 0 0 1 3.772 8.4l7-5.444a2 2 0 0 1 2.456 0l7 5.444A2 2 0 0 1 21 9.98V20a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path stroke-linecap=\"round\" d=\"M12 16v6\" stroke=\"currentColor\" fill=\"none\" />\n </svg>\n );\n }\n);\n\nIconHome.displayName = 'IconHome';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconImage = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m21 14.5-5-5-11 11M8.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconImage.displayName = 'IconImage';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconInbox = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 12h-6l-2 3h-4l-2-3H2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconInbox.displayName = 'IconInbox';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconInfo = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 16v-4M12 8h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconInfo.displayName = 'IconInfo';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconInfoSmall = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 16v-4M12 8h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconInfoSmall.displayName = 'IconInfoSmall';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconItalic = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 20H5M19 4h-9M15 4 9 20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconItalic.displayName = 'IconItalic';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconKey = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.5 7.5 19 4m2-2-2 2zm-9.61 9.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5zM15.5 7.5l3 3L22 7l-3-3z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconKey.displayName = 'IconKey';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLayer = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m2 17 10 5 10-5M2 12l10 5 10-5M12 2 2 7l10 5 10-5z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLayer.displayName = 'IconLayer';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLayout = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2M9 21V9M3 9h18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLayout.displayName = 'IconLayout';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLifeBuoy = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8M14.83 14.83l4.24 4.24M4.93 19.07l4.24-4.24M14.83 9.17l4.24-4.24M14.83 9.17l3.53-3.53M4.93 4.93l4.24 4.24\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLifeBuoy.displayName = 'IconLifeBuoy';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLinkDiagonal = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLinkDiagonal.displayName = 'IconLinkDiagonal';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLinkHorizontal = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15 7h3a5 5 0 1 1 0 10h-3m-6 0H6A5 5 0 1 1 6 7h3M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLinkHorizontal.displayName = 'IconLinkHorizontal';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconList = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M8 18h12M3 18h.01M8 12h12M3 12h.01M8 6h12M3 6h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconList.displayName = 'IconList';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLoader = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 18v4M16.24 16.24l2.83 2.83M4.93 19.07l2.83-2.83M18 12h4M2 12h4M16.24 7.76l2.83-2.83M4.93 4.93l2.83 2.83M12 2v4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLoader.displayName = 'IconLoader';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLock = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2M7 11V7a5 5 0 1 1 10 0v4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLock.displayName = 'IconLock';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLogin = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11 16 4-4-4-4M15 12H3M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLogin.displayName = 'IconLogin';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconLogout = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m17 16 4-4-4-4M21 12H9M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconLogout.displayName = 'IconLogout';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMail = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m22 6-10 7L2 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMail.displayName = 'IconMail';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMap = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M1 6v16l7-4 8 4 7-4V2l-7 4-8-4zM16 6v16M8 2v16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMap.displayName = 'IconMap';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMaximize = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9 21H3v-6M3 21l7-7M15 3h6v6M21 3l-7 7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMaximize.displayName = 'IconMaximize';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMenu = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 18h16M4 12h16M4 6h16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMenu.displayName = 'IconMenu';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMic = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#mic__a)\">\n <path\n d=\"M8 23h8M12 19v4M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path d=\"M19 10v2a7 7 0 1 1-14 0v-2\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"mic__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconMic.displayName = 'IconMic';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMicOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#mic_off__a)\">\n <path\n d=\"M8 23h8M3 2.5l18 18M15 9.34V4a3 3 0 0 0-5.94-.6M9 9v3a3 3 0 0 0 5.12 2.12z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2q0 .62-.11 1.23M12 20v3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"mic_off__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconMicOff.displayName = 'IconMicOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMinimize = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 14h6v6M3 21l7-7M20 10h-6V4M14 10l7-7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMinimize.displayName = 'IconMinimize';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMinus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5 12h14\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMinus.displayName = 'IconMinus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMinusCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMinusCircle.displayName = 'IconMinusCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMinusSquare = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMinusSquare.displayName = 'IconMinusSquare';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMonitor = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M8 21h8M12 17v4M20 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMonitor.displayName = 'IconMonitor';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMoon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMoon.displayName = 'IconMoon';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMoreHorizontal = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n d=\"M18 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M6 13.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMoreHorizontal.displayName = 'IconMoreHorizontal';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMoreVertical = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n d=\"M12 18.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 12.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 6.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMoreVertical.displayName = 'IconMoreVertical';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMove = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m15 19-3 3-3-3M19 9l3 3-3 3M5 9l-3 3 3 3M2 12h20M9 5l3-3 3 3M12 2v20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMove.displayName = 'IconMove';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconMusic = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9 18V5l12-2v13\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 19a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconMusic.displayName = 'IconMusic';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconNavigation1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m3 11 19-9-9 19-2-8z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconNavigation1.displayName = 'IconNavigation1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconNavigation2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 2 7 19-7-4-7 4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconNavigation2.displayName = 'IconNavigation2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconNeutral = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M8 15h8M15 9h.01M9 9h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconNeutral.displayName = 'IconNeutral';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconOctagon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconOctagon.displayName = 'IconOctagon';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPackage = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m16.5 9.4-9-5.19M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPackage.displayName = 'IconPackage';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPause = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 4h-4v16h4zM10 4H6v16h4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPause.displayName = 'IconPause';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPauseCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M14 15V9M10 15V9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPauseCircle.displayName = 'IconPauseCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPercent = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 5 5 19M17.5 20a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M6.5 9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPercent.displayName = 'IconPercent';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPhone = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M12 18h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPhone.displayName = 'IconPhone';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPiechart = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 12A10 10 0 0 0 12 2v10z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPiechart.displayName = 'IconPiechart';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPin = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#pin__a)\">\n <path\n d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 1 1 18 0\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path d=\"M12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"pin__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconPin.displayName = 'IconPin';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPlay = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m5 3 14 9-14 9z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPlay.displayName = 'IconPlay';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPlayCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m10 8 6 4-6 4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPlayCircle.displayName = 'IconPlayCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPlus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 5v14M5 12h14\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPlus.displayName = 'IconPlus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPlusCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M12 8v8M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPlusCircle.displayName = 'IconPlusCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPlusSquare = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2M12 8v8M8 12h8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPlusSquare.displayName = 'IconPlusSquare';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPocket = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-20 0V5a2 2 0 0 1 2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m8 10 4 4 4-4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPocket.displayName = 'IconPocket';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPower = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18.36 6.64a9 9 0 1 1-12.73 0M12 2v10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPower.displayName = 'IconPower';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconPrinter = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 14H6v8h12zM6 9V2h12v7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconPrinter.displayName = 'IconPrinter';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconProhibition = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M4.93 4.93l14.14 14.14\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconProhibition.displayName = 'IconProhibition';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRadio = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRadio.displayName = 'IconRadio';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRefresh1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 20v-6h-6M1 4v6h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4-4.64 4.36A9 9 0 0 1 3.51 15\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRefresh1.displayName = 'IconRefresh1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRefresh2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M1 20v-6h6M23 4v6h-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRefresh2.displayName = 'IconRefresh2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRepeat = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#repeat__a)\">\n <path d=\"m7 23-4-4 4-4\" stroke=\"currentColor\" fill=\"none\" />\n <path d=\"M21 13v2a4 4 0 0 1-4 4H3M17 1l4 4-4 4\" stroke=\"currentColor\" fill=\"none\" />\n <path d=\"M3 11V9a4 4 0 0 1 4-4h14\" stroke=\"currentColor\" fill=\"none\" />\n </g>\n <defs>\n <clipPath id=\"repeat__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconRepeat.displayName = 'IconRepeat';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRewind = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m22 19-9-7 9-7zM11 19l-9-7 9-7z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRewind.displayName = 'IconRewind';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRollBack = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M1 4v6h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRollBack.displayName = 'IconRollBack';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRollForward = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 4v6h-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRollForward.displayName = 'IconRollForward';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconRss = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16M5 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconRss.displayName = 'IconRss';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSandbox = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m21 12-4.5 2.6v5.19M7.5 19.79V14.6L3 12M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12M7.5 4.21l4.5 2.6 4.5-2.6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSandbox.displayName = 'IconSandbox';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSave = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 21v-8H7v8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSave.displayName = 'IconSave';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconScissors = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6M6 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconScissors.displayName = 'IconScissors';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSearch = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16M21 21l-4.35-4.35\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSearch.displayName = 'IconSearch';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSend = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M22 2 11 12M22 2l-7 20-4-9-9-4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSend.displayName = 'IconSend';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconServer = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 18h.01M20 2H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M6 6h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconServer.displayName = 'IconServer';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSettings = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#settings__a)\">\n <path d=\"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" stroke=\"currentColor\" fill=\"none\" />\n <path\n d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 3.417 1.415 2 2 0 0 1-.587 1.415l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"settings__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconSettings.displayName = 'IconSettings';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShare1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 22a3 3 0 1 0 0-6 3 3 0 0 0 0 6M6 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6M8.59 13.51l6.83 3.98M18 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6M15.41 6.51l-6.82 3.98\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShare1.displayName = 'IconShare1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShare2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8M16 6l-4-4-4 4M12 2v13\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShare2.displayName = 'IconShare2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShield = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShield.displayName = 'IconShield';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShieldOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18M4.73 4.73 4 5v7c0 6 8 10 8 10a20.3 20.3 0 0 0 5.62-4.38M2 1.5l20 20\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShieldOff.displayName = 'IconShieldOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShoppingBag = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 10a4 4 0 1 1-8 0M3 6h18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShoppingBag.displayName = 'IconShoppingBag';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShoppingCart = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 21.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M9 21.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2M2 3.5h3.636l2.437 12.497c.083.43.31.816.643 1.09.332.275.748.421 1.175.413h8.836c.427.008.843-.138 1.175-.413s.56-.66.643-1.09L22 8.167H6.545\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShoppingCart.displayName = 'IconShoppingCart';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconShuffle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 3h5v5M4 20 21 3M21 16v5h-5M15 15l6 6M4 4l5 5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconShuffle.displayName = 'IconShuffle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSidebar = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2M8 3v18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSidebar.displayName = 'IconSidebar';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSkipBack = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5 19V5M19 20 9 12l10-8z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSkipBack.displayName = 'IconSkipBack';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSkipForward = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 5v14M5 4l10 8-10 8z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSkipForward.displayName = 'IconSkipForward';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSliders = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 21v-5M17 16h6M4 21v-7M1 14h6M12 21v-9M9 8h6M20 12V3M12 8V3M4 10V3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSliders.displayName = 'IconSliders';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSmile = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M8 14s1.5 2 4 2 4-2 4-2M15 9h.01M9 9h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSmile.displayName = 'IconSmile';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSpeaker = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 18a4 4 0 1 0 0-8 4 4 0 0 0 0 8M12 6h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSpeaker.displayName = 'IconSpeaker';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSquare = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSquare.displayName = 'IconSquare';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconStar = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconStar.displayName = 'IconStar';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconStopCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15 9H9v6h6z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconStopCircle.displayName = 'IconStopCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSun = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#sun__a)\">\n <path\n d=\"M12 21v2M18.36 18.36l1.42 1.42M4.22 19.78l1.42-1.42M21 12h2M1 12h2M12 18.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13M18.36 5.64l1.42-1.42M4.22 4.22l1.42 1.42M12 1v2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"sun__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconSun.displayName = 'IconSun';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSunrise = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 21.5H1M21 18.5h2M1 18.5h2M17 18.5a5 5 0 1 0-10 0M18.36 12.14l1.42-1.42M4.22 10.72l1.42 1.42M12 2.5v7M8 6.5l4-4 4 4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSunrise.displayName = 'IconSunrise';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconSunset = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 21H1M21 18h2M1 18h2M17 18a5 5 0 1 0-10 0M18.36 11.64l1.42-1.42M4.22 10.22l1.42 1.42M12 9V2M16 5l-4 4-4-4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconSunset.displayName = 'IconSunset';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTablet = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M12 18h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTablet.displayName = 'IconTablet';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTag = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m20.59 13.41-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82M7 7h.01\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTag.displayName = 'IconTag';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTarget = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTarget.displayName = 'IconTarget';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTemperature = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g clipPath=\"url(#temperature__a)\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"temperature__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconTemperature.displayName = 'IconTemperature';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTextfile = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM16 17H8M16 13H8M10 9H8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14 2v6h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTextfile.displayName = 'IconTextfile';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconThumbsDown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 2h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17m-7 2v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconThumbsDown.displayName = 'IconThumbsDown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconThumbsUp = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3m7-2V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconThumbsUp.displayName = 'IconThumbsUp';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTool = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.121 2.121 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTool.displayName = 'IconTool';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTrash1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6zM14 11v6M10 11v6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTrash1.displayName = 'IconTrash1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTrash2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTrash2.displayName = 'IconTrash2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTrendingDown = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m23 18-9.5-9.5-5 5L1 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 18h6v-6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTrendingDown.displayName = 'IconTrendingDown';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTrendingUp = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m23 6-9.5 9.5-5-5L1 18\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17 6h6v6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTrendingUp.displayName = 'IconTrendingUp';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTriangle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTriangle.displayName = 'IconTriangle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTruck = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18.5 21a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M5.5 21a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M16 8h4l3 3v5h-7zM16 3H1v13h15z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTruck.displayName = 'IconTruck';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconTv = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 7H4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2M17 2l-5 5-5-5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconTv.displayName = 'IconTv';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconType = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9 20h6M4 7V4h16v3M12 4v16\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconType.displayName = 'IconType';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUmbrella = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 19a3 3 0 0 1-6 0v-7m11 0a11.05 11.05 0 0 0-22 0z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUmbrella.displayName = 'IconUmbrella';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUnderline = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M4 21h16M6 3v7a6 6 0 1 0 12 0V3\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUnderline.displayName = 'IconUnderline';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUnlock = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2M7 11V7a5 5 0 0 1 9.9-1\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUnlock.displayName = 'IconUnlock';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUpload = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUpload.displayName = 'IconUpload';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUser = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUser.displayName = 'IconUser';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUserCheck = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M17 11l2 2 4-4M8.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUserCheck.displayName = 'IconUserCheck';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUserMinus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M23 11h-6M8.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUserMinus.displayName = 'IconUserMinus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUserPlus = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M20 8v6M23 11h-6M8.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUserPlus.displayName = 'IconUserPlus';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUserX = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M18 8l5 5M23 8l-5 5M8.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUserX.displayName = 'IconUserX';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconUsers = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M23 21v-2a4 4 0 0 0-3-3.87M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M16 3.13a4 4 0 0 1 0 7.75M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconUsers.displayName = 'IconUsers';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVideo = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m23 7-7 5 7 5zM14 5H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVideo.displayName = 'IconVideo';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVideoOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#video_off__a)\">\n <path\n d=\"M10.66 5H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10m-7-1v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2zM1 1l22 22\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"video_off__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconVideoOff.displayName = 'IconVideoOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVoicemail = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M5.5 16h13M18.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M5.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVoicemail.displayName = 'IconVoicemail';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVolume = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 5 6 9H2v6h4l5 4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVolume.displayName = 'IconVolume';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVolume1 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.54 8.46a5 5 0 0 1 0 7.07M11 5 6 9H2v6h4l5 4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVolume1.displayName = 'IconVolume1';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVolume2 = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 5 6 9H2v6h4l5 4zM19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVolume2.displayName = 'IconVolume2';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconVolumeX = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m23 9-6 6M17 9l6 6M11 5 6 9H2v6h4l5 4z\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconVolumeX.displayName = 'IconVolumeX';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconWatch = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\" clipPath=\"url(#watch__a)\">\n <path d=\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14\" stroke=\"currentColor\" fill=\"none\" />\n <path\n d=\"M12 9v3l1.5 1.5M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </g>\n <defs>\n <clipPath id=\"watch__a\">\n <rect height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n);\n\nIconWatch.displayName = 'IconWatch';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconWifi = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 20h.01M8.53 16.11a6 6 0 0 1 6.95 0M5 12.55a11 11 0 0 1 14.08 0M1.42 9a16 16 0 0 1 21.16 0\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconWifi.displayName = 'IconWifi';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconWifiOff = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m2 2 20 20M12 20h.01M8.53 16.11a6 6 0 0 1 6.95 0M16.72 11.06c.82.4 1.585.9 2.28 1.49M5 12.55a10.94 10.94 0 0 1 5.17-2.39M1.42 9a15.9 15.9 0 0 1 4.7-2.88M10.71 5.05A16 16 0 0 1 22.58 9\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconWifiOff.displayName = 'IconWifiOff';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconWind = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconWind.displayName = 'IconWind';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconWireframe = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m12 2 10 6.5v7L12 22 2 15.5v-7zM12 22v-6.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m22 8.5-10 7-10-7\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m2 15.5 10-7 10 7M12 2v6.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconWireframe.displayName = 'IconWireframe';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconX = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 6 6 18M6 6l12 12\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconX.displayName = 'IconX';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconXCircle = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10M15 9l-6 6M9 9l6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconXCircle.displayName = 'IconXCircle';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconXOctagon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86zM15 9l-6 6M9 9l6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconXOctagon.displayName = 'IconXOctagon';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconXSquare = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2M9 9l6 6M15 9l-6 6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconXSquare.displayName = 'IconXSquare';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconZoomIn = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16M21 21l-4.35-4.35M11 8v6M8 11h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconZoomIn.displayName = 'IconZoomIn';\n","import * as React from 'react';\nimport type { IconProps } from '@icons/types';\n\nexport const IconZoomOut = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 24, title, ...props }, ref) => {\n const ariaProps = title\n ? { role: 'img' as const, 'aria-label': title }\n : { 'aria-hidden': true };\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...ariaProps}\n {...props}\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16M21 21l-4.35-4.35M8 11h6\"\n stroke=\"currentColor\"\n fill=\"none\"\n />\n </svg>\n );\n }\n);\n\nIconZoomOut.displayName = 'IconZoomOut';\n","import clsx from 'clsx';\nimport { guideText, guideTextIcon } from './GuideText.css';\n\nexport type GuideTextColor = 'gray' | 'red' | 'blue' | 'green';\n\nexport interface GuideTextProps {\n color: GuideTextColor;\n icon?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function GuideText({ color, icon, children, className }: GuideTextProps) {\n return (\n <span className={clsx(guideText({ color }), className)}>\n {icon && <span className={guideTextIcon}>{icon}</span>}\n {children}\n </span>\n );\n}\n","import clsx from 'clsx';\nimport { link } from './Link.css';\n\nexport type LinkColor = 'blue' | 'gray700' | 'gray500';\nexport type LinkSize = 'medium' | 'small';\n\nexport interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n size: LinkSize;\n color: LinkColor;\n href: string;\n children: React.ReactNode;\n className?: string;\n external?: boolean;\n}\n\nexport default function Link({\n size,\n color,\n href,\n children,\n className,\n external = false,\n ...props\n}: LinkProps) {\n return (\n <a\n href={href}\n className={clsx(link({ size, color }), className)}\n target={external ? '_blank' : undefined}\n rel={external ? 'noopener noreferrer' : undefined}\n {...props}\n >\n {children}\n </a>\n );\n}\n","import clsx from 'clsx';\nimport { container, stepItem, stepList } from './Stepper.css';\n\nexport type StepperColor = 'blue' | 'gray';\nexport type StepperSize = 'medium' | 'small';\n\nexport interface StepperProps {\n totalSteps: number;\n currentStep: number;\n size: StepperSize;\n color: StepperColor;\n className?: string;\n}\n\nexport default function Stepper({\n totalSteps,\n currentStep,\n size = 'medium',\n color,\n className,\n}: StepperProps) {\n const steps = Array.from({ length: totalSteps }, (_, i) => i + 1);\n\n const getStepStatus = (step: number): 'completed' | 'active' | 'inactive' => {\n if (step < currentStep) return 'completed';\n if (step === currentStep) return 'active';\n return 'inactive';\n };\n\n return (\n <nav aria-label=\"Progress\" className={clsx(container({ color }), className)}>\n <ol className={stepList}>\n {steps.map(step => {\n const status = getStepStatus(step);\n const isActive = status === 'active';\n\n return (\n <li\n key={step}\n className={stepItem({\n size,\n color,\n status,\n })}\n aria-current={isActive ? 'step' : undefined}\n >\n {step}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n}\n","import {\n Checkbox as AriaCheckbox,\n type CheckboxProps as AriaCheckboxProps,\n} from 'react-aria-components';\nimport { IconCheck, IconMinus } from '@icons/index';\nimport { checkboxRoot, checkboxBox, checkboxIcon, checkboxLabel } from './Checkbox.css';\n\nexport type CheckboxColor = 'blue_1000' | 'gray_700';\nexport type CheckboxSize = '20' | '24';\n\nexport interface CheckboxProps extends Omit<AriaCheckboxProps, 'children'> {\n size: CheckboxSize;\n color: CheckboxColor;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport default function Checkbox({\n size,\n color,\n isDisabled = false,\n children,\n className,\n ...props\n}: CheckboxProps) {\n return (\n <AriaCheckbox isDisabled={isDisabled} className={className} {...props}>\n {({ isSelected, isIndeterminate: isIndeterminateState, isHovered, isFocusVisible }) => (\n <label\n className={checkboxRoot}\n data-size={size}\n data-color={color}\n data-selected={isSelected || isIndeterminateState}\n data-indeterminate={isIndeterminateState}\n data-hovered={isHovered}\n data-disabled={isDisabled}\n data-focus={isFocusVisible}\n >\n <span className={checkboxBox({ size, color })}>\n {(isSelected || isIndeterminateState) && (\n <span className={checkboxIcon}>\n {isIndeterminateState ? (\n <IconMinus size={12} strokeWidth={2.5} />\n ) : (\n <IconCheck size={12} strokeWidth={2.5} />\n )}\n </span>\n )}\n </span>\n {children && <span className={checkboxLabel({ size })}>{children}</span>}\n </label>\n )}\n </AriaCheckbox>\n );\n}\n","import React from 'react';\nimport clsx from 'clsx';\nimport { chipRecipe, type ChipVariants } from './Chip.css';\n\nexport type ChipVariant = NonNullable<ChipVariants>['variant'];\nexport type ChipColor = NonNullable<ChipVariants>['color'];\nexport type ChipSize = NonNullable<ChipVariants>['size'];\nexport type ChipShape = NonNullable<ChipVariants>['shape'];\nexport type ChipIconPosition = 'none' | 'left' | 'right' | 'only';\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {\n variant: ChipVariant;\n color: ChipColor;\n size: ChipSize;\n shape: ChipShape;\n\n icon?: React.ReactElement;\n iconPosition?: ChipIconPosition;\n}\n\nexport default function Chip({\n children,\n variant = 'filled',\n color = 'gray500',\n size = 'medium',\n shape = 'round',\n icon,\n iconPosition,\n className,\n 'aria-label': ariaLabel,\n ...props\n}: ChipProps) {\n const finalIconPosition: ChipIconPosition =\n !children && icon ? 'only' : icon ? (iconPosition ?? 'left') : 'none';\n\n const isIconOnly = finalIconPosition === 'only';\n const showLeftIcon = icon && (finalIconPosition === 'left' || isIconOnly);\n const showRightIcon = icon && finalIconPosition === 'right';\n\n return (\n <div\n className={clsx(\n chipRecipe({\n variant,\n color,\n size,\n shape,\n iconType: finalIconPosition,\n }),\n className\n )}\n aria-label={ariaLabel}\n {...props}\n >\n {showLeftIcon && icon}\n {children}\n {showRightIcon && icon}\n </div>\n );\n}\n","import { forwardRef, InputHTMLAttributes, ReactNode, useId } from 'react';\nimport * as styles from './TextField.css';\nimport clsx from 'clsx';\nimport GuideText from '@components/basic/guide-text/GuideText';\n\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n label: string;\n state?: 'default' | 'error';\n required?: boolean;\n leftIcon?: ReactNode;\n rightIcon?: ReactNode;\n guideText?: ReactNode;\n maxLength?: number;\n}\n\nconst TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n label,\n state = 'default',\n required = false,\n leftIcon,\n rightIcon,\n guideText,\n maxLength,\n className,\n value,\n defaultValue,\n disabled,\n id,\n onChange,\n ...props\n },\n ref\n ) => {\n const generatedId = useId();\n const inputId = id || generatedId;\n\n const stringValue = value != null ? String(value) : '';\n const currentLength = stringValue.length;\n const isFilled = currentLength > 0;\n\n const visualState = disabled ? (isFilled ? 'filledDisabled' : 'disabled') : state;\n\n return (\n <div className={clsx(className)}>\n <div className={styles.container({ state: visualState })}>\n {leftIcon && <div className={styles.iconWrapper}>{leftIcon}</div>}\n\n <div\n className={styles.contentWrapper({\n paddingVariant: leftIcon ? 'leftIcon' : rightIcon ? 'rightIcon' : 'default',\n })}\n >\n <label htmlFor={inputId} className={styles.label}>\n <span className={styles.labelText({ state: visualState })}>{label}</span>\n {required && <span className={styles.required}>*</span>}\n </label>\n\n <input\n ref={ref}\n id={inputId}\n className={styles.input}\n disabled={disabled}\n {...(value !== undefined && { value })}\n {...(defaultValue !== undefined && { defaultValue })}\n maxLength={maxLength}\n onChange={onChange}\n {...(visualState === 'error' && { 'aria-invalid': true })}\n {...props}\n />\n </div>\n\n {(maxLength || rightIcon) && (\n <div className={styles.rightContentWrapper}>\n {maxLength && (\n <div className={styles.limitWrapper}>\n <span className={styles.limitCurrent({ state: visualState })}>\n {currentLength}\n </span>\n <span className={styles.limitSeparator}>/</span>\n <span className={styles.limitMax}>{maxLength}</span>\n </div>\n )}\n {rightIcon && <div className={styles.iconWrapper}>{rightIcon}</div>}\n </div>\n )}\n </div>\n\n {guideText && (\n <div className={styles.guideTextContainer}>\n <GuideText color={visualState === 'error' ? 'red' : 'gray'}>{guideText}</GuideText>\n </div>\n )}\n </div>\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport default TextField;\n","import React from 'react';\nimport clsx from 'clsx';\nimport { bottomTabRecipe, tabItemRecipe, labelStyle, iconStyle } from './BottomTab.css';\n\nexport interface BottomTabItem {\n value: string;\n icon: React.ReactNode;\n label: string;\n ariaLabel?: string;\n}\n\nexport interface BottomTabProps {\n items: BottomTabItem[];\n selectedValue: string;\n onChange: (value: string) => void;\n className?: string;\n}\n\nexport default function BottomTab({ items, selectedValue, onChange, className }: BottomTabProps) {\n const handleTabClick = (itemValue: string) => {\n if (itemValue !== selectedValue) {\n onChange(itemValue);\n }\n };\n\n return (\n <nav className={clsx(bottomTabRecipe(), className)} aria-label=\"하단 네비게이션\">\n {items.map(item => {\n const isSelected = item.value === selectedValue;\n return (\n <button\n key={item.value}\n type=\"button\"\n aria-current={isSelected ? 'page' : undefined}\n aria-label={item.ariaLabel || item.label}\n className={tabItemRecipe({ selected: isSelected })}\n onClick={() => handleTabClick(item.value)}\n >\n <span className={iconStyle({ selected: isSelected })}>{item.icon}</span>\n <span className={labelStyle({ selected: isSelected })}>{item.label}</span>\n </button>\n );\n })}\n </nav>\n );\n}\n","import React from 'react';\nimport clsx from 'clsx';\nimport { pageHeaderRecipe, iconWrapper, leftContent } from './PageHeader.css';\n\nexport interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> {\n title: string;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n leftIconAriaLabel?: string;\n rightIconAriaLabel?: string;\n onLeftIconClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n onRightIconClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n className?: string;\n}\n\nexport default function PageHeader({\n title,\n leftIcon,\n rightIcon,\n leftIconAriaLabel,\n rightIconAriaLabel,\n onLeftIconClick,\n onRightIconClick,\n className,\n ...props\n}: PageHeaderProps) {\n const hasIcons = Boolean(leftIcon || rightIcon);\n const hasLeftIcon = Boolean(leftIcon);\n const hasRightIcon = Boolean(rightIcon);\n\n return (\n <div\n className={clsx(\n pageHeaderRecipe({\n hasIcons,\n hasLeftIcon,\n hasRightIcon,\n }),\n className\n )}\n {...props}\n >\n {hasLeftIcon && hasRightIcon ? (\n <>\n <div className={leftContent}>\n <button\n type=\"button\"\n onClick={onLeftIconClick}\n className={iconWrapper}\n aria-label={leftIconAriaLabel}\n >\n {leftIcon}\n </button>\n <span>{title}</span>\n </div>\n <button\n type=\"button\"\n onClick={onRightIconClick}\n className={iconWrapper}\n aria-label={rightIconAriaLabel}\n >\n {rightIcon}\n </button>\n </>\n ) : (\n <>\n {hasLeftIcon && (\n <button\n type=\"button\"\n onClick={onLeftIconClick}\n className={iconWrapper}\n aria-label={leftIconAriaLabel}\n >\n {leftIcon}\n </button>\n )}\n <span>{title}</span>\n {hasRightIcon && (\n <button\n type=\"button\"\n onClick={onRightIconClick}\n className={iconWrapper}\n aria-label={rightIconAriaLabel}\n >\n {rightIcon}\n </button>\n )}\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport clsx from 'clsx';\nimport {\n Tabs as AriaTabs,\n TabList as AriaTabList,\n Tab as AriaTab,\n TabPanel as AriaTabPanel,\n type TabsProps as AriaTabsProps,\n} from 'react-aria-components';\nimport * as styles from './Tab.css';\n\nexport interface TabItemBase {\n id: string | number;\n label: React.ReactNode;\n isDisabled?: boolean;\n}\n\nexport interface TabItemWithContent extends TabItemBase {\n content: React.ReactNode;\n}\n\nexport interface TabPropsWithPanel extends Omit<AriaTabsProps, 'children'> {\n items: TabItemWithContent[];\n withPanel?: true;\n className?: string;\n}\n\nexport interface TabPropsWithoutPanel extends Omit<AriaTabsProps, 'children'> {\n items: TabItemBase[];\n withPanel: false;\n className?: string;\n}\n\nexport type TabProps = TabPropsWithPanel | TabPropsWithoutPanel;\n\nexport default function Tab({ items, withPanel, className, ...props }: TabProps) {\n const shouldRenderPanel = withPanel !== false;\n\n return (\n <AriaTabs className={clsx(styles.root, className)} {...props}>\n <AriaTabList className={styles.tabList}>\n {items.map(item => (\n <AriaTab\n key={String(item.id)}\n id={item.id}\n isDisabled={item.isDisabled}\n className={styles.tab}\n >\n {item.label}\n </AriaTab>\n ))}\n </AriaTabList>\n\n {shouldRenderPanel &&\n (items as TabItemWithContent[]).map(item => (\n <AriaTabPanel key={String(item.id)} id={item.id}>\n {item.content}\n </AriaTabPanel>\n ))}\n </AriaTabs>\n );\n}\n"],"names":["toPrimitive","r","e","i","toPropertyKey","_defineProperty","obj","key","value","ownKeys","t","o","_objectSpread2","mapValues","input","fn","result","_key","shouldApplyCompound","compoundCheck","selections","defaultVariants","_selections$key","createRuntimeFn","config","runtimeFn","options","className","variantName","_selections$variantNa","variantSelection","selection","selectionClassName","compoundClassName","classNames","f","clsx","IconOnline","React","size","title","props","ref","jsx","IconUserProfile","jsxs","$4e85f108e88277b8$export$b085522c77523c51","$95phC$createContext","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$HgANd$react","$b5e257d569688ac6$var$defaultContext","$b5e257d569688ac6$var$SSRContext","$670gB$react","$b5e257d569688ac6$var$IsSSRContext","$b5e257d569688ac6$var$canUseDOM","$b5e257d569688ac6$var$componentIds","$b5e257d569688ac6$var$useCounter","isDisabled","ctx","$670gB$useContext","$670gB$useRef","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","currentOwner","prevComponentValue","$b5e257d569688ac6$var$useLegacySSRSafeId","defaultId","counter","prefix","$b5e257d569688ac6$var$useModernSSRSafeId","id","didSSR","$670gB$useState","$b5e257d569688ac6$export$535bd6ca7f90a273","$b5e257d569688ac6$export$619500959fc48b26","$b5e257d569688ac6$var$getSnapshot","$b5e257d569688ac6$var$getServerSnapshot","$b5e257d569688ac6$var$subscribe","onStoreChange","$bdb11010cef70236$var$canUseDOM","$bdb11010cef70236$export$d41a04c74483c6ef","$bdb11010cef70236$var$registry","heldValue","$bdb11010cef70236$export$f680877a34711e37","setValue","$eKkEp$useState","nextId","$eKkEp$useRef","res","$eKkEp$useSSRSafeId","cleanupRef","cacheIdRef","$eKkEp$useEffect","newId","$bdb11010cef70236$export$cd8c9cb68f842629","idA","idB","setIdsA","setIdsB","$ff5963eb1fccf552$export$e08e3b67e392101e","callbacks","args","callback","$431fbd86ca7dc216$export$b204af158042fbac","el","_el_ownerDocument","$431fbd86ca7dc216$export$f21a1ffae260145a","$431fbd86ca7dc216$var$isNode","$431fbd86ca7dc216$export$af51f0f06c0f328a","node","$f4e2df6bd15f8569$var$_shadowDOM","$f4e2df6bd15f8569$export$98658e8c59125e6a","$d4ee10de306f2510$export$4282f70798064fe0","otherNode","$lcSu5$shadowDOM","currentNode","$d4ee10de306f2510$export$cd4e5573fbe2b576","doc","_activeElement_shadowRoot","activeElement","$d4ee10de306f2510$export$e58f029f0fbfdb29","event","$dfc540311bf7f109$export$63eb3ababa9c55c4","walkers","curNode","currentWalkerCurrentNode","shadowRoot","walker","newNode","nextNode","_this_filter","nodeResult","currentWalker","previousNode","root","whatToShow","filter","$dfc540311bf7f109$export$4d0f8be8b12a7ef6","$bJKXg$shadowDOM","$3ef42575df84b30b$export$9d1611c77c2fe928","b","$7jXr9$clsx","$5dc95899b306f630$export$c9058316764c140e","refs","hasCleanup","cleanups","cleanup","$5dc95899b306f630$var$setRef","$65484d02dcb7eb3e$var$DOMPropNames","$65484d02dcb7eb3e$var$labelablePropNames","$65484d02dcb7eb3e$var$linkPropNames","$65484d02dcb7eb3e$var$globalAttrs","$65484d02dcb7eb3e$var$globalEvents","$65484d02dcb7eb3e$var$propRe","$65484d02dcb7eb3e$export$457c3d6518dd4c6f","opts","labelable","isLink","global","events","propNames","filteredProps","prop","$7215afc6de606d6b$export$de79e2c695e052f3","element","$7215afc6de606d6b$var$supportsPreventScroll","scrollableElements","$7215afc6de606d6b$var$getScrollableElements","$7215afc6de606d6b$var$restoreScrollPosition","$7215afc6de606d6b$var$supportsPreventScrollCached","parent","rootScrollingElement","scrollTop","scrollLeft","$c87311424ea30a05$var$testUserAgent","re","_window_navigator_userAgentData","brands","brand","$c87311424ea30a05$var$testPlatform","$c87311424ea30a05$var$cached","$c87311424ea30a05$export$9ac100e40613ea10","$c87311424ea30a05$export$186c6964ca17d99","$c87311424ea30a05$export$7bef049ce92e4224","$c87311424ea30a05$export$fedb369cb70207f1","$c87311424ea30a05$export$e1865c3bedcd822b","$c87311424ea30a05$export$78551043582a6a98","$c87311424ea30a05$export$6446a186d09e379e","$c87311424ea30a05$export$a11b0059900ceec8","$c87311424ea30a05$export$b7d78993b74f766d","$ea8dcbcb9ea1b556$var$RouterContext","$g3jFn$createContext","$ea8dcbcb9ea1b556$var$openSyntheticLink","href","$ea8dcbcb9ea1b556$export$9a302a45f65d0572","$g3jFn$useContext","$ea8dcbcb9ea1b556$export$95185d699e05d4d7","target","modifiers","setOpening","_window_event_type","_window_event","metaKey","ctrlKey","altKey","shiftKey","$ea8dcbcb9ea1b556$var$getSyntheticLink","open","link","$ea8dcbcb9ea1b556$export$7e924b3091a3bd18","router","_props_href","$bbed8b41f857bcc0$var$transitionsByElement","$bbed8b41f857bcc0$var$transitionCallbacks","$bbed8b41f857bcc0$var$setupGlobalEvents","isTransitionEvent","onTransitionStart","transitions","onTransitionEnd","properties","cb","$bbed8b41f857bcc0$var$cleanupDetachedElements","eventTarget","$bbed8b41f857bcc0$export$24490316f764c430","$03deb23ff14920c4$export$4eaf04e54aa8eed6","globalListeners","$lPAwt$useRef","addGlobalListener","$lPAwt$useCallback","type","listener","removeGlobalListener","_globalListeners_current_get","removeAllGlobalListeners","$lPAwt$useEffect","$313b98861ee5dd6c$export$d6875122194c7b44","defaultLabel","label","labelledBy","$df56164dff5785e2$export$4338b53315abf666","objRef","$gbmns$useRef","refEffect","$gbmns$useCallback","instance","refCallback","refCleanup","$gbmns$useMemo","$8ae05eaa5c114e9c$var$_React_useInsertionEffect","$8ae05eaa5c114e9c$var$useEarlyEffect","$lmaYr$react","$8ae05eaa5c114e9c$export$7f54fc3180508a52","$lmaYr$useRef","$lmaYr$useCallback","$ca9b37712f007381$export$72ef708ab07251f1","effect","dependencies","isInitialMount","$azsE2$useRef","lastDeps","dep","$e7801be82b4b2a53$export$4debdb1a3f0fa79e","context","$cc38e7bd3fc7b213$export$2bb74740c4e19def","checkForOverflow","style","isScrollable","$a40c673dc9f6d9c7$export$94ed1c92c7beeb22","scrollParents","$21f1aa98acb08317$export$16792effe837dba3","$ef06256079686ba0$var$descriptionId","$ef06256079686ba0$var$descriptionNodes","$ef06256079686ba0$export$f8aeda7b10753fa1","description","setId","$hQ5Hp$useState","desc","$e9faafb641e167db$export$90fc3a17d93f704c","handler","handleEvent","$ceQd6$useEffect","$2f04cbc44ee30ce0$export$53a0910f038337bd","scrollView","offsetX","$2f04cbc44ee30ce0$var$relativeOffset","offsetY","width","height","x","y","borderTopWidth","borderLeftWidth","scrollPaddingTop","scrollPaddingRight","scrollPaddingBottom","scrollPaddingLeft","borderAdjustedX","borderAdjustedY","maxX","maxY","scrollPaddingTopNumber","scrollPaddingBottomNumber","scrollPaddingRightNumber","scrollPaddingLeftNumber","ancestor","child","axis","sum","$2f04cbc44ee30ce0$export$c826860796309d1b","targetElement","isScrollPrevented","scrollParent","_targetElement_scrollIntoView","originalLeft","originalTop","newLeft","newTop","_opts_containingElement_scrollIntoView","_opts_containingElement","_targetElement_scrollIntoView1","$6a7db85432448f7f$export$60278871457622de","$6a7db85432448f7f$export$29bf1b5f2c56cf63","$99facab73266f662$export$5add1d006293d136","initialValue","onReset","handleReset","$8rM3G$useEffect","_ref_current","form","$cdc5a6778b766db2$export$a9d04c5684123369","pieces","$iulvE$version","$5671b20cf9b562b2$export$447a38995de2c711","$5671b20cf9b562b2$export$831c820ad60f9d12","$d3f049242431219c$export$6d3443f2c48bfc20","isReady","isEntering","setEntering","$jJMAe$useState","isAnimationReady","animation","$d3f049242431219c$var$useAnimation","$jJMAe$useCallback","$d3f049242431219c$export$45fda7c47f93fd48","isOpen","exitState","setExitState","isExiting","state","isActive","onEnd","animations","canceled","$jJMAe$flushSync","$7d2416ea0959daaa$var$supportsCheckVisibility","$7d2416ea0959daaa$var$isStyleVisible","windowObject","display","visibility","isVisible","getComputedStyle","computedDisplay","computedVisibility","$7d2416ea0959daaa$var$isAttributeVisible","childElement","$7d2416ea0959daaa$export$e989c0fffaa6b27a","$b4b717babfbb907b$var$focusableElements","$b4b717babfbb907b$var$FOCUSABLE_ELEMENT_SELECTOR","$b4b717babfbb907b$var$TABBABLE_ELEMENT_SELECTOR","$b4b717babfbb907b$export$4c063cf1350e6fed","$b4b717babfbb907b$var$isInert","$b4b717babfbb907b$export$bebd5a1431fec25d","$458b0a5536c1a7cf$var$_React_useInsertionEffect","$458b0a5536c1a7cf$var$useEarlyEffect","$3whtM$react","$458b0a5536c1a7cf$export$40bfa8c7b0832715","defaultValue","onChange","stateValue","setStateValue","$3whtM$useState","valueRef","$3whtM$useRef","isControlledRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","forceUpdate","$3whtM$useReducer","$3whtM$useCallback","newValue","$64fa3d84918910a7$export$c62b8e45d58ddad9","$64fa3d84918910a7$export$2881499e37b75b9a","values","children","Context","$iETbY$react","$64fa3d84918910a7$export$4d86445c2cf5e3","defaultClassName","defaultChildren","defaultStyle","$iETbY$useMemo","computedClassName","computedStyle","computedChildren","$64fa3d84918910a7$export$fabf2dc03a41866e","slot","$iETbY$useContext","slotKey","availableSlots","p","errorMessage","$64fa3d84918910a7$export$29f1550f4b0d4415","contextRef","contextProps","mergedRef","$iETbY$useObjectRef","$iETbY$mergeRefs","mergedProps","$iETbY$mergeProps","renderProps","contextStyle","$64fa3d84918910a7$export$ef03459518577ad4","$319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY","$319e236875307eab$var$liveAnnouncer","$319e236875307eab$export$a9b970dcc4ae71a9","message","assertiveness","timeout","$319e236875307eab$var$LiveAnnouncer","_this_node","ariaLive","_this_assertiveLog","_this_politeLog","$148a7a147e38ea7f$var$RTL_SCRIPTS","$148a7a147e38ea7f$var$RTL_LANGS","$148a7a147e38ea7f$export$702d680b21cbd764","localeString","locale","textInfo","lang","$1e5a04cdaf7d1af8$var$localeSymbol","$1e5a04cdaf7d1af8$export$f09106e7c6677ec5","$1e5a04cdaf7d1af8$var$currentLocale","$1e5a04cdaf7d1af8$var$listeners","$1e5a04cdaf7d1af8$var$updateLocale","$1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a","isSSR","$ffhGL$useIsSSR","defaultLocale","setDefaultLocale","$ffhGL$useState","$ffhGL$useEffect","$18f2051aff69b9bf$var$I18nContext","$h9FiU$react","$18f2051aff69b9bf$export$43bb16f9c6d9e3f7","$h9FiU$useContext","_check_private_redeclaration","privateCollection","_class_private_field_init","privateMap","$8a9cb279dc87e130$export$525bc4921d56d4a","nativeEvent","$8a9cb279dc87e130$export$c2b7abe5d61ec696","$8a9cb279dc87e130$export$715c682d09d639cc","onBlur","stateRef","$6dfIe$useRef","$6dfIe$useLayoutEffect","$6dfIe$useCallback","onBlurHandler","_stateRef_current_observer","relatedTargetEl","$8a9cb279dc87e130$export$fda7da73ab5d4c48","$8a9cb279dc87e130$export$cabe61c495ee3649","$6dfIe$isFocusable","window","$6dfIe$getOwnerWindow","isRefocusing","onFocusOut","$6dfIe$focusWithoutScrolling","onFocus","onFocusIn","raf","$14c0b72509d70225$var$state","$14c0b72509d70225$var$savedUserSelect","$14c0b72509d70225$var$modifiedElementMap","$14c0b72509d70225$export$16a4697467175487","$7R18e$isIOS","documentObject","$7R18e$getOwnerDocument","property","$14c0b72509d70225$export$b0d6fa1ab32e3295","$7R18e$runAfterTransition","targetOldUserSelect","$ae1eeba8b9eafd08$export$5165eccb35aaadb5","$3aeG1$react","_class_apply_descriptor_get","receiver","descriptor","_class_extract_field_descriptor","action","_class_private_field_get","_class_apply_descriptor_set","_class_private_field_set","$f6c31cce2adf654f$var$usePressResponderContext","$7mdmh$useContext","register","$7mdmh$mergeProps","$7mdmh$useSyncRef","$f6c31cce2adf654f$var$_shouldStopPropagation","$f6c31cce2adf654f$var$PressEvent","$7mdmh$_2","$7mdmh$_","pointerType","originalEvent","$7mdmh$_1","_state_target","currentTarget","rect","clientX","clientY","$f6c31cce2adf654f$var$LINK_CLICKED","$f6c31cce2adf654f$var$STYLE_ID","$f6c31cce2adf654f$var$PRESSABLE_ATTRIBUTE","$f6c31cce2adf654f$export$45712eceda6fad21","onPress","onPressChange","onPressStart","onPressEnd","onPressUp","onClick","isPressedProp","preventFocusOnPress","shouldCancelOnPointerExit","allowTextSelectionOnPress","domRef","domProps","isPressed","setPressed","$7mdmh$useState","$7mdmh$useRef","$7mdmh$useGlobalListeners","triggerPressStart","$7mdmh$useCallback","shouldStopPropagation","triggerPressEnd","wasPressed","triggerPressEndEvent","$7mdmh$useEffectEvent","triggerPressUp","triggerPressUpEvent","cancel","$f6c31cce2adf654f$var$createEvent","setIsPointerPressed","dispose","cancelEvent","cancelOnPointerExit","triggerClick","triggerSyntheticClick","triggerSyntheticClickEvent","isElemKeyPressed","setIsElemKeyPressed","$7mdmh$useLayoutEffect","onKeyUp","_state_metaKeyEvents","$f6c31cce2adf654f$var$isValidKeyboardEvent","_state_metaKeyEvents1","$f6c31cce2adf654f$var$shouldPreventDefaultKeyboard","$7mdmh$getEventTarget","$7mdmh$nodeContains","$f6c31cce2adf654f$var$isHTMLAnchorLink","$7mdmh$openLink","originalTarget","$7mdmh$chain","$7mdmh$getOwnerDocument","isPointerPressed","onPointerUp","clicked","$7mdmh$focusWithoutScrolling","onPointerCancel","onMouseUp","onScroll","$7mdmh$getOwnerWindow","pressProps","$7mdmh$useMemo","$7mdmh$isMac","$7mdmh$isVirtualClick","stopPressStart","stopPressUp","stopPressEnd","$7mdmh$isVirtualPointerEvent","$7mdmh$flushSync","touch","$f6c31cce2adf654f$var$getTouchFromEvent","$f6c31cce2adf654f$var$createTouchEvent","$f6c31cce2adf654f$var$getTouchById","$f6c31cce2adf654f$var$isOverTarget","$7mdmh$useEffect","ownerDocument","code","role","$f6c31cce2adf654f$var$isValidInputKey","targetTouches","pointerId","changedTouches","$f6c31cce2adf654f$var$getPointClientRect","point","$f6c31cce2adf654f$var$areRectanglesOverlapping","a","pointRect","$f6c31cce2adf654f$var$shouldPreventDefaultUp","$f6c31cce2adf654f$var$nonTextInputTypes","$507fabe10e71c6fb$var$currentModality","$507fabe10e71c6fb$var$changeHandlers","$507fabe10e71c6fb$export$d90243b58daecda7","$507fabe10e71c6fb$var$hasEventBeforeFocus","$507fabe10e71c6fb$var$hasBlurredWindowRecently","$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS","$507fabe10e71c6fb$var$triggerChangeHandlers","modality","$507fabe10e71c6fb$var$isValidKey","$28AnR$isMac","$507fabe10e71c6fb$var$handleKeyboardEvent","$28AnR$openLink","$507fabe10e71c6fb$var$handlePointerEvent","$507fabe10e71c6fb$var$handleClickEvent","$28AnR$isVirtualClick","$507fabe10e71c6fb$var$handleFocusEvent","$507fabe10e71c6fb$var$handleWindowBlur","$507fabe10e71c6fb$var$setupGlobalFocusEvents","$28AnR$getOwnerWindow","$28AnR$getOwnerDocument","focus","$507fabe10e71c6fb$var$tearDownWindowFocusTracking","loadListener","$507fabe10e71c6fb$export$2f1888112f558a7d","$507fabe10e71c6fb$export$b9b3dfddab17db27","$507fabe10e71c6fb$export$630ff653c5ada6a9","$507fabe10e71c6fb$export$8397ddfc504fdb9a","$507fabe10e71c6fb$var$nonTextInputTypes","$507fabe10e71c6fb$var$isKeyboardFocusEvent","isTextInput","document1","IHTMLInputElement","IHTMLTextAreaElement","IHTMLElement","IKeyboardEvent","$507fabe10e71c6fb$export$ec71b4b83ac08ec3","deps","$28AnR$useEffect","$3ad3f6e1647bc98d$export$80f3e147d781571c","$k50bp$getOwnerDocument","lastFocusedElement","$k50bp$getActiveElement","$k50bp$runAfterTransition","$k50bp$focusWithoutScrolling","$a1ea59d68270f0dd$export$f8168d8dd8fd66e6","onFocusProp","onBlurProp","onFocusChange","$hf0lj$useCallback","onSyntheticFocus","$hf0lj$getOwnerDocument","$hf0lj$getActiveElement","$hf0lj$getEventTarget","$93925083ecbb358c$export$48d1ea6320830260","$46d819fcbaf35654$export$8f71654801c2f7cd","$f645667febf57a63$export$f9762fab77588ecb","$fcPuG$react","$f645667febf57a63$var$useFocusableContext","$fcPuG$useContext","$fcPuG$useSyncRef","_","otherProps","$f645667febf57a63$export$4c014de7c8940b4c","focusProps","keyboardProps","interactions","$fcPuG$mergeProps","interactionProps","autoFocusRef","$fcPuG$useRef","$fcPuG$useEffect","tabIndex","$9ab94262bd0047c7$export$420e68273165f4ec","onBlurWithin","onFocusWithin","onFocusWithinChange","$3b9Q0$useRef","$3b9Q0$useGlobalListeners","$3b9Q0$useCallback","$3b9Q0$getOwnerDocument","$3b9Q0$getActiveElement","$3b9Q0$getEventTarget","$3b9Q0$nodeContains","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$handleGlobalPointerEvent","$6179b936705e76d3$var$setupGlobalTouchEvents","$6179b936705e76d3$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","$AWxnT$useState","$AWxnT$useRef","$AWxnT$useEffect","$AWxnT$useGlobalListeners","hoverProps","triggerHoverEnd","$AWxnT$useMemo","triggerHoverStart","$AWxnT$getOwnerDocument","$AWxnT$nodeContains","$8a26561d2877236e$var$DEFAULT_THRESHOLD","$8a26561d2877236e$export$c24ed0104d07eab9","onLongPressStart","onLongPressEnd","onLongPress","threshold","accessibilityDescription","timeRef","$4k2kv$useRef","$4k2kv$useGlobalListeners","$4k2kv$getOwnerDocument","$4k2kv$focusWithoutScrolling","onContextMenu","descriptionProps","$4k2kv$useDescription","$4k2kv$mergeProps","$9bf71ea28793e738$var$isTabbableRadio","radios","$cgawC$getOwnerDocument","radio","_element_form_elements","_element_form","radioList","$9bf71ea28793e738$var$isElementInScope","scope","$9bf71ea28793e738$export$2d6ec8fc375ceafa","$cgawC$isTabbable","$cgawC$isFocusable","rootElement","$cgawC$createShadowTreeWalker","_opts_from","$9bf71ea28793e738$var$Tree","data","scopeRef","nodeToRestore","parentNode","$9bf71ea28793e738$var$TreeNode","current","_node_parent","newTree","_node_parent_scopeRef","$f7dceffc5ad7768b$export$4e328f61c538687f","autoFocus","within","$isWE5$useRef","$isWE5$isFocusVisible","isFocused","setFocused","$isWE5$useState","isFocusVisibleState","setFocusVisible","updateState","$isWE5$useCallback","$isWE5$useFocusVisibleListener","isFocusVisible","$isWE5$useFocus","focusWithinProps","$isWE5$useFocusWithin","$83013635b024ae3d$export$eac1895992b9f3d6","hasTabbableChild","setHasTabbableChild","$hGAaG$useState","$hGAaG$useLayoutEffect","update","observer","$55f9b1ae81f22853$export$76e4e37e5339496d","to","from","$55f9b1ae81f22853$export$759df0d867455a91","$hpDQO$getOwnerDocument","$55f9b1ae81f22853$export$6c5dc7e81d2cc29a","$55f9b1ae81f22853$export$2b35b76d2e30e129","document","$hpDQO$getActiveElement","activeDescendant","$5c3e21d68f1c4674$var$styles","$5c3e21d68f1c4674$export$a966af930f325cab","isFocusable","$7JYt2$useState","$7JYt2$useFocusWithin","val","combinedStyles","$7JYt2$useMemo","$5c3e21d68f1c4674$export$439d29a4e110a164","Element","visuallyHiddenProps","$7JYt2$react","$7JYt2$mergeProps","$feb5ffebff200149$export$d3e3bd3e26688c04","$jUnAJ$isAppleDevice","$feb5ffebff200149$export$c3d8340acf92597f","collectionRef","_collectionRef_current","_collectionRef_current1","selector","collection","$feb5ffebff200149$var$collectionMap","$feb5ffebff200149$export$881eb0d9f3605d9d","$jUnAJ$useId","$feb5ffebff200149$export$6aeb1680a0ae8741","$fb3050f43d946246$var$TYPEAHEAD_DEBOUNCE_WAIT_MS","$fb3050f43d946246$export$e32c88dfddc6e1d8","keyboardDelegate","selectionManager","onTypeSelect","$dAE4Y$useRef","onKeyDown","character","$fb3050f43d946246$var$getStringForKey","$ae20dd8cbca75726$export$d6daf82dcd84e87c","manager","delegate","shouldFocusWrap","disallowEmptySelection","disallowSelectAll","escapeKeyBehavior","selectOnFocus","disallowTypeAhead","shouldUseVirtualFocus","allowsTabNavigation","isVirtualized","scrollRef","linkBehavior","direction","$3H3GQ$useLocale","$3H3GQ$useRouter","navigateToKey","childFocus","$3H3GQ$flushSync","item","itemProps","_delegate_getKeyBelow","_delegate_getFirstKey","_delegate_getFirstKey1","nextKey","_delegate_getKeyAbove","_delegate_getLastKey","_delegate_getLastKey1","_delegate_getKeyLeftOf","_delegate_getFirstKey2","_delegate_getLastKey2","_delegate_getKeyRightOf","_delegate_getLastKey3","_delegate_getFirstKey3","firstKey","$3H3GQ$isCtrlKeyPressed","lastKey","$3H3GQ$getFocusableTreeWalker","next","last","$3H3GQ$isTabbable","$3H3GQ$focusWithoutScrolling","scrollPos","$3H3GQ$useRef","$3H3GQ$useEvent","_scrollRef_current","_scrollRef_current1","_scrollRef_current_scrollTop","_scrollRef_current_scrollLeft","relatedTarget","_manager_lastSelectedKey","_manager_firstSelectedKey","$3H3GQ$getInteractionModality","$3H3GQ$scrollIntoViewport","shouldVirtualFocusFirst","$3H3GQ$FOCUS_EVENT","detail","$3H3GQ$useUpdateLayoutEffect","keyToFocus","previousActiveElement","$3H3GQ$getActiveElement","$3H3GQ$moveVirtualFocus","$3H3GQ$dispatchVirtualFocus","$3H3GQ$CLEAR_FOCUS_EVENT","_e_detail","didAutoFocusRef","$3H3GQ$useEffect","focusedKey","selectedKeys","$3H3GQ$focusSafely","lastFocusedKey","$3H3GQ$scrollIntoView","handlers","typeSelectProps","$3H3GQ$mergeProps","collectionId","$880e95eb8b93ba9a$export$ecf600387e221c37","shouldSelectOnPressUp","onAction","allowsDifferentPressOrigin","$581M0$useRouter","$581M0$useId","onSelect","$581M0$isCtrlKeyPressed","$581M0$useEffect","$581M0$moveVirtualFocus","$581M0$focusSafely","isLinkOverride","isActionOverride","hasLinkAction","allowsSelection","allowsActions","hasPrimaryAction","hasSecondaryAction","hasAction","$581M0$useRef","longPressEnabled","longPressEnabledOnPressStart","hadPrimaryActionOnPressStart","collectionItemProps","performAction","itemPressProps","$880e95eb8b93ba9a$var$isSelectionKey","$880e95eb8b93ba9a$var$isActionKey","$581M0$mergeProps","$581M0$chain","$581M0$usePress","onDoubleClick","longPressProps","$581M0$useLongPress","onDragStartCapture","$581M0$openLink","$eb2240fc39a57fa5$export$bf788dd355e3a401","$eb2240fc39a57fa5$var$iterable","items","$fzaAv$react","index","nodes","partialNode","parentKey","v","_v_key","_partialNode_index","cached","name","childNodes","_partialNode_index1","childNode","_childNode_key","nodeKey","$eb2240fc39a57fa5$var$compose","_childNode_value","_ref","_parentNode_type","$eb2240fc39a57fa5$var$capitalize","builder","_partialNode_value","_partialNode_textValue","iterator","cache","iterable","outer","inner","str","$7613b1592d41b092$export$6cd28814d92fa9c9","factory","$lbNth$useMemo","$c5a24bc478652b5f$export$1005530eda016c13","$c5a24bc478652b5f$export$fbdeaa6a76694f71","$c5a24bc478652b5f$export$5f3398f8733f90e2","$c5a24bc478652b5f$export$8c434b3a7a4dad6","aAncestors","$c5a24bc478652b5f$var$getAncestors","bAncestors","firstNonMatchingAncestor","parents","currNode","$e5be200c675c3b3a$export$aca958c65c314e6c","$e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE","$e5be200c675c3b3a$export$dad6ae84456c676a","$e5be200c675c3b3a$export$571b5131b7e65c11","$69F46$createContext","$e5be200c675c3b3a$export$a763b9476acd3eb","$e5be200c675c3b3a$export$fc1a364ae1f3ff10","realtimeValidation","displayValidation","updateValidation","resetValidation","commitValidation","$e5be200c675c3b3a$var$useFormValidationStateImpl","isInvalid","validationState","builtinValidation","validate","validationBehavior","controlledError","clientError","$69F46$useMemo","validateErrors","$e5be200c675c3b3a$var$runValidate","$e5be200c675c3b3a$var$getValidationResult","serverErrors","$69F46$useContext","serverErrorMessages","$e5be200c675c3b3a$var$asArray","lastServerErrors","setLastServerErrors","$69F46$useState","isServerErrorCleared","setServerErrorCleared","serverError","nextValidation","$69F46$useRef","currentValidity","setCurrentValidity","lastError","commitQueued","setCommitQueued","error","$e5be200c675c3b3a$var$isEqualValidation","$69F46$useEffect","errors","k","$e93e671b31057976$export$b8473d3665f3a75a","$9Gacy$useLayoutEffect","$e93e671b31057976$var$getNativeValidity","isIgnoredReset","$9Gacy$useRef","$9Gacy$useEffectEvent","onInvalid","$e93e671b31057976$var$getFirstInvalidInput","_ref_current1","$9Gacy$setInteractionModality","$9Gacy$useEffect","reset","$e93e671b31057976$var$getValidity","validity","$23b9f4fcf0fe224b$export$d68d59712b04d9d1","newCollection","filterFn","clone","$23b9f4fcf0fe224b$export$b1918e978f1ee46f","$23b9f4fcf0fe224b$var$filterChildren","$23b9f4fcf0fe224b$export$5ae2504e948afce5","$23b9f4fcf0fe224b$export$8258a0665a675899","$23b9f4fcf0fe224b$export$fd11f34e1d07f134","$23b9f4fcf0fe224b$export$437f11dc9b403b78","filteredSection","lastChild","$23b9f4fcf0fe224b$export$408d25a4e12db025","keyMap","_node_key","_this_keyMap_get","Constructor","oldCollection","firstChildKey","firstNode","lastNode","prevKey","_firstNode_key","_lastNode_key","$681cc3c98f569e39$export$410b0c854570d131","firstChild","previousSibling","nextSibling","_this_parentNode","referenceNode","$681cc3c98f569e39$export$dc064fe9e59310fd","_this_parentNode_node","_this_previousVisibleSibling_node","_this_previousVisibleSibling","_nextSibling_node","_this_firstVisibleChild_node","_this_firstVisibleChild","_this_lastVisibleChild_node","_this_lastVisibleChild","_this_parentNode_node_key","_this_previousVisibleSibling_node_key","_nextSibling_node_key","_this_firstVisibleChild_node_key","_this_lastVisibleChild_node_key","_node_colIndex","_node_colSpan","nextColIndex","siblingNode","CollectionNodeClass","rendered","render","value1","textValue","isHidden","_element_parentNode","_element_parentNode1","prev","$681cc3c98f569e39$export$b34a105447964f9f","$e948873055cbafe4$export$727c8fc270210f13","idScope","addIdAndValue","$luMFQ$useMemo","_rendered_props_id","$luMFQ$cloneElement","getFirstChild","$f39a9eba43920ace$export$94b6d0abf7d33e8c","$8SdCi$createContext","$f39a9eba43920ace$export$8dc98ba7eadeaa56","$8SdCi$useContext","$8SdCi$react","$f39a9eba43920ace$export$86427a43e3e48ebb","Wrapper","$8SdCi$forwardRef","require$$0","is","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","inst","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","didWarnOld18Alpha","didWarnUncachedGetSnapshot","cachedValue","useSyncExternalStoreShim_development","shimModule","require$$1","$e1995378a142960e$var$ShallowRenderContext","$95feo$createContext","$e1995378a142960e$var$CollectionDocumentContext","$e1995378a142960e$export$bf788dd355e3a401","$95feo$useContext","$e1995378a142960e$var$useCollectionDocument","$95feo$react","$e1995378a142960e$var$CollectionInner","$e1995378a142960e$var$useSyncExternalStoreFallback","getServerSnapshot","$95feo$useIsSSR","isSSRRef","$95feo$useRef","getSnapshotWrapper","$95feo$useCallback","$95feo$useSyncExternalStore","$e1995378a142960e$var$useSyncExternalStore","createCollection","$95feo$useState","$e1995378a142960e$var$SSRContext","$e1995378a142960e$var$createCollectionNodeClass","_class","$e1995378a142960e$var$useSSRCollectionNode","itemRef","$e1995378a142960e$export$18af5c7a9e9b3664","Component","Result","$95feo$forwardRef","focusableProps","$95feo$FocusableContext","$e1995378a142960e$var$useCollectionChildren","$e1995378a142960e$var$CollectionContext","$e1995378a142960e$export$fb8073518f34e6ec","_props_idScope","$e1995378a142960e$var$CollectionRoot","$95feo$useMemo","wrappedChildren","$95feo$createPortal","$7135fc7d473fd974$export$a164736487e3f0ae","renderDropIndicator","$7135fc7d473fd974$var$useCollectionRender","$18I52$useCachedChildren","$18I52$react","$7135fc7d473fd974$export$2dbbd341daed716d","keyAfter","nextItemInFlattenedCollection","nextItemInSameLevel","afterIndicators","indicator","$18I52$isValidElement","$18I52$cloneElement","$7135fc7d473fd974$export$4feb769f8ddf26c5","$18I52$createContext","$7135fc7d473fd974$export$90e00781bc59d8f9","$18I52$useMemo","$701a24aa0da5b062$export$ea18c227d4417cc3","elementType","allowFocusWhenDisabled","rel","additionalProps","$bwqiF$usePress","$bwqiF$useFocusable","buttonProps","$bwqiF$mergeProps","$bwqiF$filterDOMProps","$d2c8e2b0480f3f34$export$cbe85ee05b554577","isReadOnly","ariaLabel","ariaLabelledby","hasChildren","hasAriaLabel","$bvdLj$usePress","labelProps","isLabelPressed","$bvdLj$useFocusable","$bvdLj$mergeProps","$bvdLj$filterDOMProps","$bvdLj$useFormReset","$406796ff087fe49b$export$e375f10ce42261c5","inputRef","$jNP0e$useFormValidationState","validationErrors","validationDetails","inputProps","isSelected","$jNP0e$useToggle","$jNP0e$useFormValidation","isIndeterminate","isRequired","$jNP0e$useEffect","$jNP0e$usePress","$jNP0e$privateValidationStateProp","groupValidationState","$jNP0e$mergeProps","$jNP0e$useMemo","$1ae600c947479353$export$ec98120685d4f57d","$3017fa7ffdddec74$export$8042c6c013fd5226","setSelected","$d8rik$useControlledState","$d8rik$useState","updateSelected","toggleState","_props_defaultSelected","$fba3e38d5ca8983f$export$353b32fc6898d37d","$6clEo$useToggleState","descriptionId","errorMessageId","_props_validationBehavior","$6clEo$useFormValidationState","nativeValidation","$6clEo$useRef","$6clEo$DEFAULT_VALIDATION_RESULT","$6clEo$useEffect","combinedRealtimeValidation","_props_isRequired","$6clEo$privateValidationStateProp","$99b62ae3ff97ec45$export$c5f62239608282b6","$99b62ae3ff97ec45$export$567fc7097e064344","baseId","$0175d55c2a017ebc$export$fdf4756d5b8ef90a","propsDisabled","selectedKey","$dObGJ$useSelectableItem","tabId","tabPanelId","$dObGJ$filterDOMProps","linkProps","$dObGJ$useLinkProps","$dObGJ$useFocusable","$dObGJ$mergeProps","$34bce698202e07cb$export$fae0121b5afe572d","$jik2T$useHasTabbableChild","_props_id","tabPanelProps","$jik2T$useLabels","$jik2T$mergeProps","$bfc6f2d60b8a4c40$export$15010ca3c1abe90b","_this_collection_getItem_props","_this_collection_getItem","startKey","orientation","disabledKeys","$58d314389b21fa3f$export$773e389e644c5874","keyboardActivation","$bQNZs$useLocale","$bQNZs$useMemo","collectionProps","$bQNZs$useSelectableCollection","tabsId","$bQNZs$useId","tabListLabelProps","$bQNZs$useLabels","$bQNZs$mergeProps","$0393f8ab869a0f1a$export$e9f3bf65a26ce129","$hU2kz$createContext","$d2b4bc8c273e7be6$export$24d547caef80ccd1","$fM325$createContext","$d2b4bc8c273e7be6$export$353f5b6fc5456de1","$fM325$createHideableComponent","isPending","$fM325$useButton","$d2b4bc8c273e7be6$var$useDisableInteractions","$fM325$useFocusRing","$fM325$useHover","renderValues","buttonId","$fM325$useId","progressId","wasPending","$fM325$useRef","$fM325$useEffect","$fM325$announce","DOMProps","$fM325$filterDOMProps","$fM325$react","$fM325$mergeProps","$a02d57049d202695$export$d085fb9e920b5ca7","_node_prevKey","_node_nextKey","idx","keys","visit","_last_key","$e40ea825a81a3709$export$52baac22726c72bf","anchorKey","currentKey","$7af3f5b51489e0b5$var$equalSets","setA","setB","$7af3f5b51489e0b5$export$253fe78d46329472","selectionMode","allowDuplicateSelectionEvents","selectionBehaviorProp","disabledBehavior","isFocusedRef","$6tM1y$useRef","$6tM1y$useState","focusedKeyRef","childFocusStrategyRef","setFocusedKey","selectedKeysProp","$6tM1y$useMemo","$7af3f5b51489e0b5$var$convertSelection","defaultSelectedKeys","setSelectedKeys","$6tM1y$useControlledState","disabledKeysProp","selectionBehavior","setSelectionBehavior","lastSelectionBehavior","$6tM1y$useEffect","childFocusStrategy","$d496c0a20b6e58ec$export$6c8a5aaad13c9852","mappedKey","allKeys","first","$jkhUT$compareNodeOrder","_first_key","toKey","mappedToKey","_selectedKeys_anchorKey","_selectedKeys_currentKey","fromItem","toItem","_this_layoutDelegate","addKeys","_getFirstItem","_getFirstItem_key","$jkhUT$getFirstItem","$jkhUT$getChildNodes","_item_props","_options_allowsCellSelection","$e72dd72e1c76a225$export$2f645645f7bca764","layoutDelegate","selectionState","$d5vlZ$useMultipleSelectionState","$d5vlZ$useMemo","$d5vlZ$useCallback","$d5vlZ$useCollection","$d5vlZ$SelectionManager","$e72dd72e1c76a225$var$useFocusedKeyReset","cachedCollection","$d5vlZ$useRef","$d5vlZ$useEffect","startItem","cachedItemNodes","itemNode","itemNodes","_cachedItemNodes_length","_itemNodes_length","diff","_startItem_index","_startItem_index1","_itemNodes_length1","isReverseSearching","_startItem_index2","_startItem_index3","$a0d645289fe9b86b$export$e7f05e985daf4b5f","_props_defaultSelectedKey","setSelectedKey","$eBozH$useControlledState","$eBozH$useMemo","_keys_values_next_value","selectedItem","$76f919a04c5a7d14$export$4ba071daf4e486","$fgY1A$useSingleSelectListState","_props_onSelectionChange","$76f919a04c5a7d14$var$findDefaultSelectedKey","currentSelectedKey","lastSelectedKey","$fgY1A$useRef","$fgY1A$useEffect","_collection_getItem_props","_collection_getItem","_collection_getItem_props1","_collection_getItem1","$d3e0e05bdfcf66bd$export$c24727297075ec6a","$j6ya4$createContext","$bc237834342dbd75$export$139c5b8563afc1fc","$kPH7g$createContext","$bc237834342dbd75$export$48513f6b9f8ce62d","$kPH7g$forwardRef","userProvidedInputRef","formValidationBehavior","groupState","$kPH7g$useContext","$kPH7g$useObjectRef","$kPH7g$useMemo","$kPH7g$mergeRefs","$kPH7g$useCheckboxGroupItem","$kPH7g$useCheckbox","$kPH7g$useToggleState","$kPH7g$useFocusRing","isInteractionDisabled","$kPH7g$useHover","$kPH7g$filterDOMProps","$kPH7g$react","$kPH7g$mergeProps","$kPH7g$VisuallyHidden","$c8a5a149f625efcf$var$SharedElementContext","$I3GNx$createContext","$c8a5a149f625efcf$export$758399f318e6385a","$I3GNx$useRef","$I3GNx$react","$1d5b8b8664671ef2$export$c9549807523555e0","$4GgyL$createContext","$5e8ad37a45e1c704$export$cfa7aa87c26e7d1f","$7aSLZ$createContext","$5e8ad37a45e1c704$export$364712098d2aa57c","$5e8ad37a45e1c704$export$b2539bed5023c21c","$7aSLZ$forwardRef","$7aSLZ$useMemo","$7aSLZ$react","$7aSLZ$CollectionBuilder","$5e8ad37a45e1c704$var$TabsInner","$7aSLZ$useTabListState","$7aSLZ$useFocusRing","$7aSLZ$filterDOMProps","$7aSLZ$mergeProps","$5e8ad37a45e1c704$export$e51a686c67fdaa2d","$7aSLZ$useContext","$5e8ad37a45e1c704$var$TabListInner","$7aSLZ$Collection","CollectionRoot","objectRef","$7aSLZ$useObjectRef","tabListProps","$7aSLZ$useTabList","$5e8ad37a45e1c704$var$TabItemNode","$7aSLZ$CollectionNode","$5e8ad37a45e1c704$export$3e41faf802a29e71","$7aSLZ$createLeafComponent","forwardedRef","tabProps","$7aSLZ$useTab","$7aSLZ$useHover","ElementType","$5e8ad37a45e1c704$export$3d96ec278d3efce4","$7aSLZ$createHideableComponent","isInitiallySelected","setInitiallySelected","$7aSLZ$useState","$7aSLZ$useExitAnimation","$5e8ad37a45e1c704$var$TabPanelInner","$7aSLZ$useTabPanel","$7aSLZ$useEnterAnimation","$7aSLZ$inertValue","LayoutGroupContext","createContext","useConstant","init","useRef","isBrowser","useIsomorphicLayoutEffect","PresenceContext","addUniqueItem","arr","removeItem","clamp","min","max","formatErrorMessage","errorCode","warning","invariant","check","MotionGlobalConfig","isNumericalString","isObject","isZeroValueString","memo","noop","any","combineFunctions","pipe","transformers","progress","toFromDifference","SubscriptionManager","c","numSubscriptions","secondsToMilliseconds","seconds","millisecondsToSeconds","milliseconds","velocityPerSecond","velocity","frameDuration","warned","warnOnce","condition","calcBezier","a1","a2","subdivisionPrecision","subdivisionMaxIterations","binarySubdivide","lowerBound","upperBound","mX1","mX2","currentX","currentT","cubicBezier","mY1","mY2","getTForX","aX","mirrorEasing","easing","reverseEasing","backOut","backIn","backInOut","anticipate","circIn","circOut","circInOut","easeIn","easeOut","easeInOut","isEasingArray","ease","isBezierDefinition","easingLookup","isValidEasing","easingDefinitionToFunction","definition","x1","y1","x2","y2","stepsOrder","createRenderStep","runNextFrame","stepName","thisFrame","nextFrame","isProcessing","flushNextFrame","toKeepAlive","latestFrameData","triggerCallback","step","keepAlive","immediate","queue","frameData","maxElapsed","createRenderBatcher","scheduleNextBatch","allowKeepAlive","useDefaultElapsed","flagRunNextFrame","steps","acc","setup","read","resolveKeyframes","preUpdate","preRender","postRender","processBatch","timestamp","wake","process","frame","cancelFrame","frameSteps","now","clearTime","time","newTime","checkStringStartsWith","token","isCSSVariableName","startsAsVariableToken","isCSSVariableToken","singleCssVariableRegex","number","alpha","scale","sanitize","floatRegex","isNullish","singleColorRegex","isColorString","testProp","splitColor","aName","bName","cName","clampRgbUnit","rgbUnit","rgba","red","green","blue","alpha$1","parseHex","g","hex","createUnitType","unit","degrees","percent","px","vh","vw","progressPercentage","hsla","hue","saturation","lightness","color","parsed","colorRegex","test","_a","_b","NUMBER_TOKEN","COLOR_TOKEN","VAR_TOKEN","VAR_FUNCTION_TOKEN","SPLIT_TOKEN","complexRegex","analyseComplexValue","originalValue","indexes","types","split","parsedValue","parseComplexValue","createTransformer","source","numSections","output","convertNumbersToZero","getAnimatableNone","complex","hueToRgb","q","hslaToRgba","mixImmediate","mixNumber","mixLinearColor","fromExpo","expo","colorTypes","getColorType","asRGBA","model","mixColor","fromRGBA","toRGBA","blended","invisibleValues","mixVisibility","origin","mixNumber$1","getMixer","mixComplex","mixArray","mixObject","numValues","blendValue","matchOrder","orderedOrigin","pointers","originIndex","originValue","template","originStats","targetStats","mix","frameloopDriver","passTimestamp","generateLinearEasing","duration","resolution","points","numPoints","maxGeneratorDuration","calcGeneratorDuration","generator","timeStep","createGeneratorEasing","createGenerator","velocitySampleDuration","calcGeneratorVelocity","resolveValue","prevT","springDefaults","safeMin","findSpring","bounce","mass","envelope","derivative","dampingRatio","undampedFreq","exponentialDecay","delta","calcAngularFreq","d","initialGuess","approximateRoot","stiffness","rootIterations","durationKeys","physicsKeys","isSpringType","getSpringOptions","springOptions","visualDuration","damping","derived","spring","optionsOrVisualDuration","restSpeed","restDelta","isResolvedFromDuration","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","resolveSpring","angularFreq","dampedAngularFreq","freqForT","currentVelocity","isBelowVelocityThreshold","isBelowDisplacementThreshold","calculatedDuration","generatorOptions","inertia","keyframes","power","timeConstant","bounceDamping","bounceStiffness","modifyTarget","isOutOfBounds","nearestBoundary","amplitude","ideal","calcDelta","calcLatest","applyFriction","latest","timeReachedBoundary","spring$1","checkCatchBoundary","hasUpdatedFrame","createMixers","customMixer","mixers","mixerFactory","numMixers","mixer","easingFunction","interpolate","isClamp","inputLength","isZeroDeltaRange","interpolator","progressInRange","fillOffset","offset","remaining","offsetProgress","defaultOffset","convertOffsetToTimes","defaultEasing","keyframeValues","times","easingFunctions","absoluteTimes","mapTimeToKeyframe","isNotNull","getFinalKeyframe","repeat","repeatType","finalKeyframe","speed","resolvedKeyframes","transitionTypeMap","replaceTransitionType","transition","WithPromise","resolve","onResolve","onReject","percentToProgress","JSAnimation","motionValue","repeatDelay","keyframes$1","generatorFactory","animationTime","sample","totalDuration","mixKeyframes","mirroredGenerator","resolvedDuration","delay","onUpdate","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","done","isAnimationFinished","reject","newSpeed","hasChanged","driver","startTime","sampleTime","timeline","fillWildcards","radToDeg","rad","rotate","angle","rebaseAngle","matrix2dParsers","rotateZ","scaleX","scaleY","matrix3dParsers","defaultTransformValue","parseValueFromTransform","transform","matrix3dMatch","parsers","match","matrix2dMatch","valueParser","convertTransformToNumber","readTransformValue","transformPropOrder","transformProps","isNumOrPxType","transformKeys","nonTranslationalTransformKeys","removeNonTranslationalTransform","visualElement","removedTransforms","positionalValues","paddingLeft","paddingRight","paddingTop","paddingBottom","_bbox","top","left","toResolve","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","resolver","elementsToMeasure","transformsToRestore","restore","readAllKeyframes","flushKeyframeResolvers","KeyframeResolver","unresolvedKeyframes","onComplete","isAsync","valueAsRead","isForcedComplete","isCSSVar","setStyle","supportsScrollTimeline","supportsFlags","memoSupports","supportsFlag","memoized","supportsLinearEasing","cubicBezierAsString","supportedWaapiEasing","mapEasingToNativeEasing","segmentEasing","startWaapiAnimation","valueName","pseudoElement","keyframeOptions","isGenerator","applyGeneratorOptions","NativeAnimation","allowFlatten","keyframe","newStartTime","observe","unsupportedEasingFunctions","isUnsupportedEase","replaceStringEasing","sampleDelta","NativeAnimationExtended","sampleAnimation","isAnimatable","hasKeyframesChanged","canAnimate","originKeyframe","targetKeyframe","isOriginAnimatable","isTargetAnimatable","makeAnimationInstant","acceleratedValues","supportsWaapi","supportsBrowserAnimation","transformTemplate","MAX_RESOLVE_DELAY","AsyncMotionValueAnimation","autoplay","optionsWithDefaults","KeyframeResolver$1","forced","sync","isHandoff","resolvedOptions","_onReject","splitCSSVariableRegex","parseCSSVariable","token1","token2","fallback","maxDepth","getVariableValue","depth","resolved","trimmed","getValueTransition","positionalKeys","auto","testValueType","dimensionValueTypes","findDimensionValueType","isNone","maxDefaults","applyDefaultFilter","functionRegex","functions","int","transformValueTypes","numberValueTypes","defaultValueTypes","getDefaultValueType","defaultValueType","invalidTemplates","makeNoneKeyframesAnimatable","noneKeyframeIndexes","animatableTemplate","noneIndex","DOMKeyframesResolver","originType","targetType","measureKeyframe","finalKeyframeIndex","unsetTransformName","unsetTransformValue","resolveElements","elementOrSelector","selectorCache","elements","getValueAsType","isHTMLElement","MAX_VELOCITY_DELTA","isFloat","MotionValue","currentTime","dependent","prevFrameValue","subscription","eventName","unsubscribe","eventManagers","passiveEffect","stopPassiveEffect","endAnimation","startAnimation","microtask","isDragging","isDragActive","setDragLock","setupGesture","gestureAbortController","eventOptions","isValidHover","hover","onPointerEnter","enterEvent","onPointerLeave","leaveEvent","isNodeOrChild","isPrimaryPointer","focusableElements","isElementKeyboardAccessible","isPressing","filterEvents","firePointerEvent","enableKeyboardPress","focusEvent","handleKeydown","handleKeyup","handleBlur","isValidPressEvent","press","targetOrSelector","targets","cancelEvents","startPress","startEvent","onPointerEnd","endEvent","success","upEvent","isSVGElement","isSVGSVGElement","isMotionValue","valueTypes","findValueType","MotionConfigContext","usePresence","useContext","isPresent","onExitComplete","useId","safeToRemove","useCallback","LazyContext","featureProps","featureDefinitions","loadFeatures","features","validMotionProps","isValidMotionProp","shouldForward","loadExternalIsValidProp","isValidProp","filterProps","isDom","forwardMotionProps","MotionContext","isAnimationControls","isVariantLabel","variantPriorityOrder","variantProps","isControllingVariants","isVariantNode","getCurrentTreeVariants","initial","animate","useCreateMotionContext","useMemo","variantLabelsAsDependency","pixelsToPercent","pixels","correctBorderRadius","correctBoxShadow","treeScale","projectionDelta","original","shadow","xScale","yScale","averageScale","scaleCorrectors","isForcedMotionValue","layout","layoutId","translateAlias","numTransforms","buildTransform","latestValues","transformString","transformIsDefault","valueIsDefault","valueAsType","transformName","buildHTMLStyles","vars","transformOrigin","hasTransform","hasTransformOrigin","originX","originY","originZ","createHtmlRenderState","copyRawValuesOnly","useInitialMotionValues","visualState","useStyle","styleProp","useHTMLProps","htmlProps","dashKeys","camelKeys","buildSVGPath","attrs","length","spacing","useDashCase","pathLength","pathSpacing","buildSVGAttrs","attrX","attrY","attrScale","pathOffset","isSVGTag","createSvgRenderState","tag","useSVGProps","_isStatic","visualProps","rawStyles","lowercaseSVGElements","isSVGComponent","useRender","isStatic","elementProps","Fragment","renderedChildren","createElement","getValueState","resolveVariantFromProps","custom","resolveMotionValue","makeState","scrapeMotionValuesFromProps","createRenderState","presenceContext","makeLatestValues","scrapeMotionValues","motionValues","isControllingVariants$1","isVariantNode$1","isInitialAnimationBlocked","variantToSet","list","transitionEnd","valueTarget","makeUseVisualState","make","prevProps","newValues","useHTMLVisualState","scrapeMotionValuesFromProps$1","targetKey","useSVGVisualState","motionComponentSymbol","isRefObject","useMotionRef","externalRef","camelToDash","optimizedAppearDataId","optimizedAppearDataAttribute","SwitchLayoutGroupContext","useVisualElement","createVisualElement","ProjectionNodeConstructor","lazyContext","reducedMotionConfig","visualElementRef","initialLayoutGroupConfig","createProjectionNode","isMounted","useInsertionEffect","optimisedAppearId","wantsHandoff","initialPromotionConfig","drag","dragConstraints","layoutScroll","layoutRoot","layoutCrossfade","getClosestProjectingNode","createMotionComponent","preloadedFeatures","useVisualState","MotionDOMComponent","MeasureLayout","configAndProps","useLayoutId","useStrictMode","layoutProjection","getProjectionFunctionality","ForwardRefMotionComponent","forwardRef","layoutGroupId","isStrict","strictMessage","combined","createMotionProxy","componentCache","deprecatedFactoryFunction","_target","convertBoundingBoxToBox","right","bottom","convertBoxToBoundingBox","transformBoxPoints","transformPoint","topLeft","bottomRight","isIdentityScale","hasScale","has2DTranslate","is2DTranslate","scalePoint","originPoint","distanceFromOrigin","scaled","applyPointDelta","translate","boxScale","applyAxisDelta","applyBoxDelta","box","TREE_SCALE_SNAP_MIN","TREE_SCALE_SNAP_MAX","applyTreeDeltas","treePath","isSharedTransition","treeLength","transformBox","translateAxis","distance","transformAxis","axisTranslate","axisScale","axisOrigin","measureViewportBox","measurePageBox","rootProjectionNode","transformPagePoint","viewportBox","scroll","createAxisDelta","createDelta","createAxis","createBox","prefersReducedMotion","hasReducedMotionListener","initPrefersReducedMotion","motionMediaQuery","setReducedMotionPreferences","visualElementStore","updateMotionValuesFromProps","prevValue","existingValue","latestValue","propEventHandlers","VisualElement","_props","_prevProps","_visualElement","blockInitialAnimation","renderState","willChange","initialMotionValues","remove","feature","valueIsTransform","removeOnChange","removeSyncCheck","other","featureDefinition","isEnabled","FeatureConstructor","listenerName","closestVariantNode","valueFromInitial","variant","DOMVisualElement","renderHTML","projection","elementStyle","HTMLVisualElement","camelCaseAttributes","renderSVG","_styleProp","SVGVisualElement","defaultType","createDomVisualElement","resolveVariant","isKeyframesTarget","setMotionValue","resolveFinalValueInKeyframes","setTarget","isWillChangeMotionValue","addValueToWillChange","newWillChange","getOptimisedAppearId","underDampedSpring","criticallyDampedSpring","keyframesTransition","getDefaultTransition","valueKey","isTransitionDefined","when","_delay","delayChildren","staggerChildren","staggerDirection","animateMotionValue","valueTransition","shouldSkip","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","animateTarget","targetAndTransition","transitionOverride","animationTypeState","appearId","calcChildStagger","numChildren","maxStaggerDuration","animateVariant","getAnimation","getChildAnimations","forwardDelay","animateChildren","animateVisualElement","resolvedDefinition","shallowCompare","prevLength","numVariantProps","getVariantContext","reversePriorityOrder","numAnimationTypes","animateList","createAnimationState","createState","isInitialRender","buildResolvedTypeValues","setAnimateFunction","makeAnimator","animateChanges","changedActiveType","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","variantDidChange","checkVariantsDidChange","shouldAnimateType","handledRemovedValues","definitionList","resolvedValues","prevResolvedValues","markToAnimate","valueHasChanged","willAnimateViaParent","parentVariant","fallbackAnimation","initialTransition","fallbackTarget","shouldAnimate","setActive","createTypeState","Feature","AnimationFeature","prevAnimate","ExitAnimationFeature","prevIsPresent","exitAnimation","addDomEvent","extractEventInfo","addPointerInfo","addPointerEvent","SCALE_PRECISION","SCALE_MIN","SCALE_MAX","TRANSLATE_PRECISION","TRANSLATE_MIN","TRANSLATE_MAX","calcLength","isNear","maxDistance","calcAxisDelta","calcBoxDelta","calcRelativeAxis","relative","calcRelativeBox","calcRelativeAxisPosition","calcRelativePosition","eachAxis","getContextWindow","distance2D","xDelta","yDelta","PanSession","contextWindow","dragSnapToOrigin","distanceThreshold","info","getPanInfo","isPanStarted","isDistancePastThreshold","onStart","onMove","onSessionEnd","resumeAnimation","panInfo","initialInfo","onSessionStart","subtractPoint","history","lastDevicePoint","startDevicePoint","getVelocity","timeDelta","timestampedPoint","lastPoint","applyConstraints","elastic","calcRelativeAxisConstraints","calcRelativeConstraints","layoutBox","calcViewportAxisConstraints","layoutAxis","constraintsAxis","calcViewportConstraints","constraintsBox","calcOrigin","sourceLength","targetLength","rebaseAxisConstraints","constraints","relativeConstraints","defaultElastic","resolveDragElastic","dragElastic","resolveAxisElastic","minLabel","maxLabel","resolvePointElastic","elementDragControls","VisualElementDragControls","originEvent","snapToCursor","dragPropagation","onDragStart","measuredAxis","animationState","dragDirectionLock","onDirectionLock","onDrag","getCurrentDirection","finalEvent","finalPanInfo","onDragEnd","_point","shouldDrag","axisValue","prevConstraints","onMeasureDragConstraints","constraintsElement","measuredConstraints","userConstraints","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","dragKey","externalMotionValue","boxProgress","stopPointerListener","dragListener","measureDragConstraints","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","currentDirection","lockThreshold","DragGesture","dragControls","asyncHandler","PanGesture","pointerDownEvent","onPanSessionStart","onPanStart","onPan","onPanEnd","globalProjectionState","hasTakenAnySnapshot","MeasureLayoutWithContext","layoutGroup","switchLayoutGroup","layoutDependency","stack","promoteContext","animateSingleValue","motionValue$1","compareByDepth","FlatTree","start","checkElapsed","borders","numBorders","asNumber","isPx","mixValues","follow","lead","shouldCrossfadeOpacity","isOnlyMember","easeCrossfadeIn","easeCrossfadeOut","borderLabel","followRadius","getRadius","leadRadius","radiusName","compress","copyAxisInto","originAxis","copyBoxInto","originBox","copyAxisDeltaInto","originDelta","removePointDelta","removeAxisDelta","sourceAxis","removeAxisTransforms","transforms","scaleKey","originKey","xKeys","yKeys","removeBoxTransforms","sourceBox","isAxisDeltaZero","isDeltaZero","axisEquals","boxEquals","axisEqualsRounded","boxEqualsRounded","aspectRatio","axisDeltaEquals","NodeStack","prevLead","indexOfNode","member","preserveFollowOpacity","crossfade","resumingFrom","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","transformPerspective","rotateX","rotateY","skewX","skewY","elementScaleX","elementScaleY","transformAxes","animationTarget","resetDistortingTransform","sharedAnimationValues","cancelTreeOptimisedTransformAnimations","projectionNode","attachResizeListener","defaultParent","measureScroll","checkIsScrollRoot","resetTransform","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","subscriptionManager","cancelDelay","innerWidth","resizeUnblockUpdate","newInnerWidth","finishAnimation","hasRelativeLayoutChanged","newLayout","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","hasTargetChanged","hasOnlyRelativeTargetChanged","animationOptions","resetSkewAndRotation","shouldNotifyListeners","clearMeasurements","clearIsLayoutDirty","resetTransformStyle","updateLayout","notifyLayoutUpdate","clearSnapshot","removeLeadSnapshots","prevLayout","phase","needsMeasurement","isRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","removeTransform","pageBox","roundBox","checkNodeWasScrollRoot","boxWithoutScroll","transformOnly","withTransforms","boxWithoutTransform","nodeBox","forceRecalculation","isShared","relativeParent","parentLayout","canSkip","prevTreeScaleX","prevTreeScaleY","notifyAll","snapshot","snapshotLatestValues","mixedValues","targetDelta","relativeLayout","snapshotSource","layoutSource","isSharedLayoutAnimation","hasOpacityCrossfade","prevRelativeTarget","mixAxisDelta","mixBox","_c","targetWithTransforms","shouldAnimatePositionOnly","xLength","yLength","needsReset","hasDistortingTransform","resetValues","targetStyle","valuesToRender","correct","applyTo","isCSSVariable","corrected","num","measuredLayout","animationType","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","relativeSnapshot","mixAxis","userAgentContains","string","roundPoint","roundAxis","DocumentProjectionNode","notify","HTMLProjectionNode","documentNode","handleHoverEvent","lifecycle","HoverGesture","_element","FocusGesture","handlePressEvent","PressGesture","observerCallbacks","observers","fireObserverCallback","entry","fireAllObserverCallbacks","entries","initIntersectionObserver","lookupRoot","rootObservers","observeIntersection","rootInteresectionObserver","thresholdNames","InViewFeature","viewport","rootMargin","amount","once","onIntersectionUpdate","isIntersecting","onViewportEnter","onViewportLeave","hasViewportOptionChanged","prevViewport","gestureAnimations","featureBundle","motion","Loading","spinner","spinnerSize","track","fill","LOADING_SIZE_MAP","Button","icon","iconPosition","loading","finalIconPosition","isIconOnly","showLeftIcon","showRightIcon","finalAriaLabel","AriaButton","buttonRecipe","loadingWrapper","IconActivity","IconAlertOctagon","IconAlignCenter","IconAlignJustify","IconAlignLeft","IconAlignRight","IconAnchor","IconArchive","IconArrowCircleDown","IconArrowCircleLeft","IconArrowCircleRight","IconArrowCircleUp","IconArrowDiagonalDownleft","IconArrowDiagonalDownleftSmall","IconArrowDiagonalDownright","IconArrowDiagonalDownrightSmall","IconArrowDiagonalUpleft","IconArrowDiagonalUpleftSmall","IconArrowDiagonalUpright","IconArrowDiagonalUprightSmall","IconArrowDown","IconArrowDownSmall","IconArrowDownleft","IconArrowDownright","IconArrowLeft","IconArrowLeftSmall","IconArrowLeftdown","IconArrowLeftup","IconArrowRight","IconArrowRightSmall","IconArrowRightdown","IconArrowRightup","IconArrowUp","IconArrowUpSmall","IconArrowUpleft","IconArrowUpright","IconAward","IconBarChart1","IconBarChart2","IconBattery","IconBatteryCharging","IconBell","IconBellOff","IconBluetooth","IconBold","IconBook","IconBookOpen","IconBookmark","IconBox","IconBriefcase","IconCalendar","IconCall","IconCallCalling","IconCallForwarded","IconCallIn","IconCallMissed","IconCallOff","IconCallOut","IconCamera","IconCameraOff","IconCard","IconCast","IconCenter","IconChatCircle","IconChatRectangle","IconCheck","IconChevron2Down","IconChevron2DownLight","IconChevron2Left","IconChevron2LeftLight","IconChevron2Right","IconChevron2RightLight","IconChevron2Up","IconChevron2UpLight","IconChevronDown","IconChevronDownSmall","IconChevronLeft","IconChevronLeftSmall","IconChevronRight","IconChevronRightSmall","IconChevronUp","IconChevronUpSmall","IconCircle","IconClip","IconClipboard","IconClock","IconCloud","IconCloudDownload","IconCloudLighting","IconCloudRain1","IconCloudRain2","IconCloudSnow","IconCloudUpload","IconCode","IconCoffee","IconCoin","IconColumn","IconCompass","IconCopy","IconCpu","IconCrop","IconCrosshair","IconDelete","IconDisc","IconDollar","IconDownload","IconDroplet","IconEdit1","IconEdit2","IconEdit3","IconEnergy","IconEnergyOff","IconExternalLink","IconEye","IconEyeOff","IconFastForward","IconFeather","IconFileMinus","IconFilePlus","IconFilm","IconFlag","IconFlter","IconFocus","IconFolder","IconFolderMinus","IconFolderPlus","IconFrame","IconFrown","IconGift","IconGlobe","IconGrid","IconHardDrive","IconHash","IconHeadphones","IconHeart","IconHelpCircle","IconHelpCircleSmall","IconHexagon","IconHome","IconImage","IconInbox","IconInfo","IconInfoSmall","IconItalic","IconKey","IconLayer","IconLayout","IconLifeBuoy","IconLinkDiagonal","IconLinkHorizontal","IconList","IconLoader","IconLock","IconLogin","IconLogout","IconMail","IconMap","IconMaximize","IconMenu","IconMic","IconMicOff","IconMinimize","IconMinus","IconMinusCircle","IconMinusSquare","IconMonitor","IconMoon","IconMoreHorizontal","IconMoreVertical","IconMove","IconMusic","IconNavigation1","IconNavigation2","IconNeutral","IconOctagon","IconPackage","IconPause","IconPauseCircle","IconPercent","IconPhone","IconPiechart","IconPin","IconPlay","IconPlayCircle","IconPlus","IconPlusCircle","IconPlusSquare","IconPocket","IconPower","IconPrinter","IconProhibition","IconRadio","IconRefresh1","IconRefresh2","IconRepeat","IconRewind","IconRollBack","IconRollForward","IconRss","IconSandbox","IconSave","IconScissors","IconSearch","IconSend","IconServer","IconSettings","IconShare1","IconShare2","IconShield","IconShieldOff","IconShoppingBag","IconShoppingCart","IconShuffle","IconSidebar","IconSkipBack","IconSkipForward","IconSliders","IconSmile","IconSpeaker","IconSquare","IconStar","IconStopCircle","IconSun","IconSunrise","IconSunset","IconTablet","IconTag","IconTarget","IconTemperature","IconTextfile","IconThumbsDown","IconThumbsUp","IconTool","IconTrash1","IconTrash2","IconTrendingDown","IconTrendingUp","IconTriangle","IconTruck","IconTv","IconType","IconUmbrella","IconUnderline","IconUnlock","IconUpload","IconUser","IconUserCheck","IconUserMinus","IconUserPlus","IconUserX","IconUsers","IconVideo","IconVideoOff","IconVoicemail","IconVolume","IconVolume1","IconVolume2","IconVolumeX","IconWatch","IconWifi","IconWifiOff","IconWind","IconWireframe","IconX","IconXCircle","IconXOctagon","IconXSquare","IconZoomIn","IconZoomOut","GuideText","guideText","guideTextIcon","Link","external","Stepper","totalSteps","currentStep","getStepStatus","container","stepList","status","stepItem","Checkbox","AriaCheckbox","isIndeterminateState","checkboxRoot","checkboxBox","checkboxIcon","checkboxLabel","Chip","shape","chipRecipe","TextField","required","leftIcon","rightIcon","maxLength","disabled","generatedId","inputId","currentLength","isFilled","styles.container","styles.iconWrapper","styles.contentWrapper","styles.label","styles.labelText","styles.required","styles.input","styles.rightContentWrapper","styles.limitWrapper","styles.limitCurrent","styles.limitSeparator","styles.limitMax","styles.guideTextContainer","BottomTab","selectedValue","handleTabClick","itemValue","bottomTabRecipe","tabItemRecipe","iconStyle","labelStyle","PageHeader","leftIconAriaLabel","rightIconAriaLabel","onLeftIconClick","onRightIconClick","hasIcons","hasLeftIcon","hasRightIcon","pageHeaderRecipe","leftContent","iconWrapper","Tab","withPanel","shouldRenderPanel","AriaTabs","styles.root","AriaTabList","styles.tabList","AriaTab","styles.tab","AriaTabPanel"],"mappings":"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","x_google_ignoreList":[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367]}
|