@protonradio/proton-ui 0.11.10-beta.2 → 0.11.10
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/README.md +148 -148
- package/dist/{constants/breakpoint.es.js → breakpoint-9y1_8U_b.mjs} +2 -2
- package/dist/breakpoint-9y1_8U_b.mjs.map +1 -0
- package/dist/breakpoint-DtqbboOa.js +2 -0
- package/dist/breakpoint-DtqbboOa.js.map +1 -0
- package/dist/color2k-CpDB_dpw.mjs +168 -0
- package/dist/color2k-CpDB_dpw.mjs.map +1 -0
- package/dist/color2k-DCgwXUem.js +2 -0
- package/dist/color2k-DCgwXUem.js.map +1 -0
- package/dist/{design/colors.es.js → colors-CWaj9dFz.mjs} +7 -7
- package/dist/colors-CWaj9dFz.mjs.map +1 -0
- package/dist/colors-CebzFjpe.js +2 -0
- package/dist/colors-CebzFjpe.js.map +1 -0
- package/dist/{design/darkTheme/colors.es.js → colors-Ceyo4oCJ.mjs} +13 -13
- package/dist/colors-Ceyo4oCJ.mjs.map +1 -0
- package/dist/colors-CmSJBHaf.js +2 -0
- package/dist/colors-CmSJBHaf.js.map +1 -0
- package/dist/colors-DL1dYffC.js +2 -0
- package/dist/colors-DL1dYffC.js.map +1 -0
- package/dist/{design/lightTheme/colors.es.js → colors-DMkDnu4U.mjs} +11 -11
- package/dist/colors-DMkDnu4U.mjs.map +1 -0
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +26 -3
- package/dist/constants.es.js.map +1 -1
- package/dist/dark.cjs.js +2 -0
- package/dist/dark.cjs.js.map +1 -0
- package/dist/{design/darkTheme/stylesheet.es.js → dark.es.js} +15 -9
- package/dist/dark.es.js.map +1 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.es.js +37 -8
- package/dist/hooks.es.js.map +1 -1
- package/dist/icons.svg +10 -10
- package/dist/image-CUSfY1_T.js +2 -0
- package/dist/image-CUSfY1_T.js.map +1 -0
- package/dist/image-DFyN0Kd9.mjs +207 -0
- package/dist/image-DFyN0Kd9.mjs.map +1 -0
- package/dist/index.cjs.js +36 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +71 -81
- package/dist/index.es.js +5421 -61
- package/dist/index.es.js.map +1 -1
- package/dist/light.cjs.js +2 -0
- package/dist/light.cjs.js.map +1 -0
- package/dist/{design/lightTheme/stylesheet.es.js → light.es.js} +16 -10
- package/dist/light.es.js.map +1 -0
- package/dist/navigation-BB0MBIiR.js +2 -0
- package/dist/navigation-BB0MBIiR.js.map +1 -0
- package/dist/navigation-Bj7Pex9j.mjs +43 -0
- package/dist/navigation-Bj7Pex9j.mjs.map +1 -0
- package/dist/style.css +1 -1
- package/dist/theme.cjs.js +2 -0
- package/dist/theme.cjs.js.map +1 -0
- package/dist/theme.es.js +19 -0
- package/dist/theme.es.js.map +1 -0
- package/dist/useBreakpoint-CjRyGKN-.mjs +53 -0
- package/dist/useBreakpoint-CjRyGKN-.mjs.map +1 -0
- package/dist/useBreakpoint-DA-JqOu3.js +2 -0
- package/dist/useBreakpoint-DA-JqOu3.js.map +1 -0
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +15 -19
- package/dist/utils.es.js.map +1 -1
- package/package.json +140 -140
- package/dist/_virtual/index.cjs.js +0 -2
- package/dist/_virtual/index.cjs.js.map +0 -1
- package/dist/_virtual/index.es.js +0 -5
- package/dist/_virtual/index.es.js.map +0 -1
- package/dist/_virtual/jsx-runtime.cjs.js +0 -2
- package/dist/_virtual/jsx-runtime.cjs.js.map +0 -1
- package/dist/_virtual/jsx-runtime.es.js +0 -5
- package/dist/_virtual/jsx-runtime.es.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.cjs.js +0 -2
- package/dist/_virtual/react-jsx-runtime.development.cjs.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js +0 -2
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.development.cjs.js +0 -2
- package/dist/_virtual/use-sync-external-store-shim.development.cjs.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.development.es.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.development.es.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.production.cjs.js +0 -2
- package/dist/_virtual/use-sync-external-store-shim.production.cjs.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.production.es.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.production.es.js.map +0 -1
- package/dist/assets/svg/icons.svg.cjs.js +0 -2
- package/dist/assets/svg/icons.svg.cjs.js.map +0 -1
- package/dist/assets/svg/icons.svg.es.js +0 -5
- package/dist/assets/svg/icons.svg.es.js.map +0 -1
- package/dist/components/ActionMenu/ActionMenu.cjs.js +0 -2
- package/dist/components/ActionMenu/ActionMenu.cjs.js.map +0 -1
- package/dist/components/ActionMenu/ActionMenu.es.js +0 -210
- package/dist/components/ActionMenu/ActionMenu.es.js.map +0 -1
- package/dist/components/Badge/Badge.cjs.js +0 -2
- package/dist/components/Badge/Badge.cjs.js.map +0 -1
- package/dist/components/Badge/Badge.es.js +0 -25
- package/dist/components/Badge/Badge.es.js.map +0 -1
- package/dist/components/Banner/Banner.cjs.js +0 -2
- package/dist/components/Banner/Banner.cjs.js.map +0 -1
- package/dist/components/Banner/Banner.es.js +0 -131
- package/dist/components/Banner/Banner.es.js.map +0 -1
- package/dist/components/Button/Button.cjs.js +0 -2
- package/dist/components/Button/Button.cjs.js.map +0 -1
- package/dist/components/Button/Button.es.js +0 -99
- package/dist/components/Button/Button.es.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js +0 -2
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.es.js +0 -51
- package/dist/components/ButtonGroup/ButtonGroup.es.js.map +0 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +0 -2
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +0 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +0 -81
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +0 -1
- package/dist/components/DataTable/DataTable.cjs.js +0 -2
- package/dist/components/DataTable/DataTable.cjs.js.map +0 -1
- package/dist/components/DataTable/DataTable.es.js +0 -137
- package/dist/components/DataTable/DataTable.es.js.map +0 -1
- package/dist/components/Dialog/Dialog.cjs.js +0 -2
- package/dist/components/Dialog/Dialog.cjs.js.map +0 -1
- package/dist/components/Dialog/Dialog.es.js +0 -15
- package/dist/components/Dialog/Dialog.es.js.map +0 -1
- package/dist/components/Elevation/Elevation.cjs.js +0 -2
- package/dist/components/Elevation/Elevation.cjs.js.map +0 -1
- package/dist/components/Elevation/Elevation.es.js +0 -33
- package/dist/components/Elevation/Elevation.es.js.map +0 -1
- package/dist/components/Icon/Icon.cjs.js +0 -2
- package/dist/components/Icon/Icon.cjs.js.map +0 -1
- package/dist/components/Icon/Icon.es.js +0 -42
- package/dist/components/Icon/Icon.es.js.map +0 -1
- package/dist/components/ImageBackground/ImageBackground.cjs.js +0 -2
- package/dist/components/ImageBackground/ImageBackground.cjs.js.map +0 -1
- package/dist/components/ImageBackground/ImageBackground.es.js +0 -55
- package/dist/components/ImageBackground/ImageBackground.es.js.map +0 -1
- package/dist/components/Input/BaseInput/Input.cjs.js +0 -2
- package/dist/components/Input/BaseInput/Input.cjs.js.map +0 -1
- package/dist/components/Input/BaseInput/Input.es.js +0 -182
- package/dist/components/Input/BaseInput/Input.es.js.map +0 -1
- package/dist/components/Input/CopyInput/CopyInput.cjs.js +0 -2
- package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +0 -1
- package/dist/components/Input/CopyInput/CopyInput.es.js +0 -83
- package/dist/components/Input/CopyInput/CopyInput.es.js.map +0 -1
- package/dist/components/Input/SearchInput/SearchInput.cjs.js +0 -2
- package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +0 -1
- package/dist/components/Input/SearchInput/SearchInput.es.js +0 -118
- package/dist/components/Input/SearchInput/SearchInput.es.js.map +0 -1
- package/dist/components/ListBox/ListBox.cjs.js +0 -2
- package/dist/components/ListBox/ListBox.cjs.js.map +0 -1
- package/dist/components/ListBox/ListBox.es.js +0 -25
- package/dist/components/ListBox/ListBox.es.js.map +0 -1
- package/dist/components/Menu/MenuTrigger.cjs.js +0 -2
- package/dist/components/Menu/MenuTrigger.cjs.js.map +0 -1
- package/dist/components/Menu/MenuTrigger.es.js +0 -97
- package/dist/components/Menu/MenuTrigger.es.js.map +0 -1
- package/dist/components/Menu/PopoverMenu.cjs.js +0 -2
- package/dist/components/Menu/PopoverMenu.cjs.js.map +0 -1
- package/dist/components/Menu/PopoverMenu.es.js +0 -116
- package/dist/components/Menu/PopoverMenu.es.js.map +0 -1
- package/dist/components/Modal/Modal.cjs.js +0 -2
- package/dist/components/Modal/Modal.cjs.js.map +0 -1
- package/dist/components/Modal/Modal.es.js +0 -122
- package/dist/components/Modal/Modal.es.js.map +0 -1
- package/dist/components/Popover/Popover.cjs.js +0 -2
- package/dist/components/Popover/Popover.cjs.js.map +0 -1
- package/dist/components/Popover/Popover.es.js +0 -74
- package/dist/components/Popover/Popover.es.js.map +0 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +0 -2
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +0 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js +0 -44
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +0 -1
- package/dist/components/Select/Select.cjs.js +0 -2
- package/dist/components/Select/Select.cjs.js.map +0 -1
- package/dist/components/Select/Select.es.js +0 -173
- package/dist/components/Select/Select.es.js.map +0 -1
- package/dist/components/Switch/Switch.cjs.js +0 -2
- package/dist/components/Switch/Switch.cjs.js.map +0 -1
- package/dist/components/Switch/Switch.es.js +0 -40
- package/dist/components/Switch/Switch.es.js.map +0 -1
- package/dist/components/Table/Collection/CompoundComponents.cjs.js +0 -2
- package/dist/components/Table/Collection/CompoundComponents.cjs.js.map +0 -1
- package/dist/components/Table/Collection/CompoundComponents.es.js +0 -9
- package/dist/components/Table/Collection/CompoundComponents.es.js.map +0 -1
- package/dist/components/Table/Collection/collectionParser.cjs.js +0 -2
- package/dist/components/Table/Collection/collectionParser.cjs.js.map +0 -1
- package/dist/components/Table/Collection/collectionParser.es.js +0 -54
- package/dist/components/Table/Collection/collectionParser.es.js.map +0 -1
- package/dist/components/Table/Collection/useTableCollection.cjs.js +0 -2
- package/dist/components/Table/Collection/useTableCollection.cjs.js.map +0 -1
- package/dist/components/Table/Collection/useTableCollection.es.js +0 -59
- package/dist/components/Table/Collection/useTableCollection.es.js.map +0 -1
- package/dist/components/Table/Table.cjs.js +0 -2
- package/dist/components/Table/Table.cjs.js.map +0 -1
- package/dist/components/Table/Table.es.js +0 -89
- package/dist/components/Table/Table.es.js.map +0 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js +0 -2
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +0 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js +0 -30
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +0 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js +0 -2
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +0 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js +0 -54
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +0 -1
- package/dist/components/ThemeProvider.cjs.js +0 -2
- package/dist/components/ThemeProvider.cjs.js.map +0 -1
- package/dist/components/ThemeProvider.es.js +0 -42
- package/dist/components/ThemeProvider.es.js.map +0 -1
- package/dist/components/Tombstone/Tombstone.cjs.js +0 -2
- package/dist/components/Tombstone/Tombstone.cjs.js.map +0 -1
- package/dist/components/Tombstone/Tombstone.es.js +0 -35
- package/dist/components/Tombstone/Tombstone.es.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.cjs.js +0 -2
- package/dist/components/Tooltip/Tooltip.cjs.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.es.js +0 -78
- package/dist/components/Tooltip/Tooltip.es.js.map +0 -1
- package/dist/components/Waveform/Waveform.cjs.js +0 -2
- package/dist/components/Waveform/Waveform.cjs.js.map +0 -1
- package/dist/components/Waveform/Waveform.es.js +0 -163
- package/dist/components/Waveform/Waveform.es.js.map +0 -1
- package/dist/components/Waveform/WaveformBar.cjs.js +0 -2
- package/dist/components/Waveform/WaveformBar.cjs.js.map +0 -1
- package/dist/components/Waveform/WaveformBar.es.js +0 -74
- package/dist/components/Waveform/WaveformBar.es.js.map +0 -1
- package/dist/constants/breakpoint.cjs.js +0 -2
- package/dist/constants/breakpoint.cjs.js.map +0 -1
- package/dist/constants/breakpoint.es.js.map +0 -1
- package/dist/constants/placement.cjs.js +0 -2
- package/dist/constants/placement.cjs.js.map +0 -1
- package/dist/constants/placement.es.js +0 -28
- package/dist/constants/placement.es.js.map +0 -1
- package/dist/design/colors.cjs.js +0 -2
- package/dist/design/colors.cjs.js.map +0 -1
- package/dist/design/colors.es.js.map +0 -1
- package/dist/design/darkTheme/colors.cjs.js +0 -2
- package/dist/design/darkTheme/colors.cjs.js.map +0 -1
- package/dist/design/darkTheme/colors.es.js.map +0 -1
- package/dist/design/darkTheme/stylesheet.cjs.js +0 -2
- package/dist/design/darkTheme/stylesheet.cjs.js.map +0 -1
- package/dist/design/darkTheme/stylesheet.es.js.map +0 -1
- package/dist/design/darkTheme.cjs.js +0 -2
- package/dist/design/darkTheme.cjs.js.map +0 -1
- package/dist/design/darkTheme.d.ts +0 -2
- package/dist/design/darkTheme.es.js +0 -11
- package/dist/design/darkTheme.es.js.map +0 -1
- package/dist/design/generateStylesheet.cjs.js +0 -2
- package/dist/design/generateStylesheet.cjs.js.map +0 -1
- package/dist/design/generateStylesheet.es.js +0 -26
- package/dist/design/generateStylesheet.es.js.map +0 -1
- package/dist/design/lightTheme/colors.cjs.js +0 -2
- package/dist/design/lightTheme/colors.cjs.js.map +0 -1
- package/dist/design/lightTheme/colors.es.js.map +0 -1
- package/dist/design/lightTheme/stylesheet.cjs.js +0 -2
- package/dist/design/lightTheme/stylesheet.cjs.js.map +0 -1
- package/dist/design/lightTheme/stylesheet.es.js.map +0 -1
- package/dist/design/lightTheme.cjs.js +0 -2
- package/dist/design/lightTheme.cjs.js.map +0 -1
- package/dist/design/lightTheme.d.ts +0 -2
- package/dist/design/lightTheme.es.js +0 -11
- package/dist/design/lightTheme.es.js.map +0 -1
- package/dist/design/theme.cjs.js +0 -2
- package/dist/design/theme.cjs.js.map +0 -1
- package/dist/design/theme.es.js +0 -12
- package/dist/design/theme.es.js.map +0 -1
- package/dist/design.cjs.js +0 -2
- package/dist/design.cjs.js.map +0 -1
- package/dist/design.es.js +0 -13
- package/dist/design.es.js.map +0 -1
- package/dist/hooks/useBreakpoint.cjs.js +0 -2
- package/dist/hooks/useBreakpoint.cjs.js.map +0 -1
- package/dist/hooks/useBreakpoint.es.js +0 -17
- package/dist/hooks/useBreakpoint.es.js.map +0 -1
- package/dist/hooks/useIsClosing.cjs.js +0 -2
- package/dist/hooks/useIsClosing.cjs.js.map +0 -1
- package/dist/hooks/useIsClosing.es.js +0 -30
- package/dist/hooks/useIsClosing.es.js.map +0 -1
- package/dist/hooks/useLockBodyScroll.cjs.js +0 -2
- package/dist/hooks/useLockBodyScroll.cjs.js.map +0 -1
- package/dist/hooks/useLockBodyScroll.es.js +0 -14
- package/dist/hooks/useLockBodyScroll.es.js.map +0 -1
- package/dist/hooks/usePalette.cjs.js +0 -2
- package/dist/hooks/usePalette.cjs.js.map +0 -1
- package/dist/hooks/usePalette.es.js +0 -37
- package/dist/hooks/usePalette.es.js.map +0 -1
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringDictionary.cjs.js +0 -2
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringDictionary.cjs.js.map +0 -1
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringDictionary.es.js +0 -48
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringDictionary.es.js.map +0 -1
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringFormatter.cjs.js +0 -2
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringFormatter.cjs.js.map +0 -1
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringFormatter.es.js +0 -33
- package/dist/node_modules/@internationalized/string/dist/LocalizedStringFormatter.es.js.map +0 -1
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js +0 -2
- package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js +0 -55
- package/dist/node_modules/@react-aria/button/dist/useButton.es.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/BaseCollection.cjs.js +0 -2
- package/dist/node_modules/@react-aria/collections/dist/BaseCollection.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/BaseCollection.es.js +0 -135
- package/dist/node_modules/@react-aria/collections/dist/BaseCollection.es.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/CollectionBuilder.cjs.js +0 -2
- package/dist/node_modules/@react-aria/collections/dist/CollectionBuilder.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/CollectionBuilder.es.js +0 -145
- package/dist/node_modules/@react-aria/collections/dist/CollectionBuilder.es.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/Document.cjs.js +0 -2
- package/dist/node_modules/@react-aria/collections/dist/Document.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/Document.es.js +0 -220
- package/dist/node_modules/@react-aria/collections/dist/Document.es.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/Hidden.cjs.js +0 -2
- package/dist/node_modules/@react-aria/collections/dist/Hidden.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/Hidden.es.js +0 -36
- package/dist/node_modules/@react-aria/collections/dist/Hidden.es.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/useCachedChildren.cjs.js +0 -2
- package/dist/node_modules/@react-aria/collections/dist/useCachedChildren.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/collections/dist/useCachedChildren.es.js +0 -37
- package/dist/node_modules/@react-aria/collections/dist/useCachedChildren.es.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +0 -2
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +0 -44
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +0 -2
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +0 -437
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/virtualFocus.cjs.js +0 -2
- package/dist/node_modules/@react-aria/focus/dist/virtualFocus.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/virtualFocus.es.js +0 -32
- package/dist/node_modules/@react-aria/focus/dist/virtualFocus.es.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +0 -2
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +0 -78
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js +0 -11
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useCollator.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/useCollator.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useCollator.es.js +0 -12
- package/dist/node_modules/@react-aria/i18n/dist/useCollator.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +0 -30
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useLocalizedStringFormatter.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/useLocalizedStringFormatter.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useLocalizedStringFormatter.es.js +0 -24
- package/dist/node_modules/@react-aria/i18n/dist/useLocalizedStringFormatter.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +0 -45
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/PressResponder.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/PressResponder.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/PressResponder.es.js +0 -15
- package/dist/node_modules/@react-aria/interactions/dist/PressResponder.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js +0 -10
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +0 -29
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +0 -15
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +0 -35
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +0 -30
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +0 -67
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +0 -56
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +0 -42
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useHover.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useHover.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useHover.es.js +0 -85
- package/dist/node_modules/@react-aria/interactions/dist/useHover.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js +0 -51
- package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +0 -13
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useLongPress.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useLongPress.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useLongPress.es.js +0 -50
- package/dist/node_modules/@react-aria/interactions/dist/useLongPress.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +0 -8
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +0 -386
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +0 -92
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.es.js +0 -36
- package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +0 -23
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/useListBox.cjs.js +0 -2
- package/dist/node_modules/@react-aria/listbox/dist/useListBox.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/useListBox.es.js +0 -52
- package/dist/node_modules/@react-aria/listbox/dist/useListBox.es.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/useOption.cjs.js +0 -2
- package/dist/node_modules/@react-aria/listbox/dist/useOption.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/useOption.es.js +0 -79
- package/dist/node_modules/@react-aria/listbox/dist/useOption.es.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/listbox/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/listbox/dist/utils.es.js +0 -14
- package/dist/node_modules/@react-aria/listbox/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.cjs.js +0 -2
- package/dist/node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.es.js +0 -48
- package/dist/node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ar-AE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/ar-AE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ar-AE.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/ar-AE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/bg-BG.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/bg-BG.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/bg-BG.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/bg-BG.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/cs-CZ.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/cs-CZ.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/cs-CZ.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/cs-CZ.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/da-DK.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/da-DK.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/da-DK.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/da-DK.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/de-DE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/de-DE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/de-DE.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/de-DE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/el-GR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/el-GR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/el-GR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/el-GR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/en-US.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/en-US.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/en-US.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/en-US.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/es-ES.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/es-ES.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/es-ES.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/es-ES.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/et-EE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/et-EE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/et-EE.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/et-EE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/fi-FI.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/fi-FI.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/fi-FI.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/fi-FI.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/fr-FR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/fr-FR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/fr-FR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/fr-FR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/he-IL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/he-IL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/he-IL.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/he-IL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/hr-HR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/hr-HR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/hr-HR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/hr-HR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/hu-HU.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/hu-HU.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/hu-HU.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/hu-HU.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/intlStrings.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/intlStrings.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/intlStrings.es.js +0 -75
- package/dist/node_modules/@react-aria/menu/dist/intlStrings.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/it-IT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/it-IT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/it-IT.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/it-IT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ja-JP.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/ja-JP.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ja-JP.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/ja-JP.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ko-KR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/ko-KR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ko-KR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/ko-KR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/lt-LT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/lt-LT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/lt-LT.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/lt-LT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/lv-LV.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/lv-LV.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/lv-LV.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/lv-LV.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/nb-NO.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/nb-NO.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/nb-NO.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/nb-NO.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/nl-NL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/nl-NL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/nl-NL.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/nl-NL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pl-PL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/pl-PL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pl-PL.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/pl-PL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pt-BR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/pt-BR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pt-BR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/pt-BR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pt-PT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/pt-PT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/pt-PT.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/pt-PT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ro-RO.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/ro-RO.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ro-RO.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/ro-RO.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ru-RU.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/ru-RU.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/ru-RU.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/ru-RU.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sk-SK.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/sk-SK.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sk-SK.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/sk-SK.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sl-SI.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/sl-SI.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sl-SI.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/sl-SI.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sr-SP.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/sr-SP.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sr-SP.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/sr-SP.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sv-SE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/sv-SE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/sv-SE.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/sv-SE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/tr-TR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/tr-TR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/tr-TR.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/tr-TR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/uk-UA.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/uk-UA.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/uk-UA.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/uk-UA.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenu.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/useMenu.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenu.es.js +0 -39
- package/dist/node_modules/@react-aria/menu/dist/useMenu.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenuItem.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/useMenuItem.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenuItem.es.js +0 -145
- package/dist/node_modules/@react-aria/menu/dist/useMenuItem.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenuTrigger.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/useMenuTrigger.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/useMenuTrigger.es.js +0 -64
- package/dist/node_modules/@react-aria/menu/dist/useMenuTrigger.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/utils.es.js +0 -5
- package/dist/node_modules/@react-aria/menu/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/zh-CN.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/zh-CN.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/zh-CN.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/zh-CN.es.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/zh-TW.cjs.js +0 -2
- package/dist/node_modules/@react-aria/menu/dist/zh-TW.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/menu/dist/zh-TW.es.js +0 -8
- package/dist/node_modules/@react-aria/menu/dist/zh-TW.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/DismissButton.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/DismissButton.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/DismissButton.es.js +0 -26
- package/dist/node_modules/@react-aria/overlays/dist/DismissButton.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +0 -39
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/PortalProvider.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/PortalProvider.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/PortalProvider.es.js +0 -11
- package/dist/node_modules/@react-aria/overlays/dist/PortalProvider.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ar-AE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ar-AE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ar-AE.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/ar-AE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js +0 -78
- package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/bg-BG.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/bg-BG.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/bg-BG.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/bg-BG.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/calculatePosition.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/calculatePosition.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/calculatePosition.es.js +0 -200
- package/dist/node_modules/@react-aria/overlays/dist/calculatePosition.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/cs-CZ.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/cs-CZ.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/cs-CZ.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/cs-CZ.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/da-DK.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/da-DK.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/da-DK.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/da-DK.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/de-DE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/de-DE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/de-DE.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/de-DE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/el-GR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/el-GR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/el-GR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/el-GR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/en-US.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/en-US.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/en-US.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/en-US.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/es-ES.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/es-ES.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/es-ES.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/es-ES.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/et-EE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/et-EE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/et-EE.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/et-EE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/fi-FI.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/fi-FI.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/fi-FI.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/fi-FI.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/fr-FR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/fr-FR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/fr-FR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/fr-FR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/he-IL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/he-IL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/he-IL.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/he-IL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/hr-HR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/hr-HR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/hr-HR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/hr-HR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/hu-HU.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/hu-HU.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/hu-HU.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/hu-HU.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/intlStrings.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/intlStrings.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/intlStrings.es.js +0 -75
- package/dist/node_modules/@react-aria/overlays/dist/intlStrings.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/it-IT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/it-IT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/it-IT.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/it-IT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ja-JP.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ja-JP.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ja-JP.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/ja-JP.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ko-KR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ko-KR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ko-KR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/ko-KR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/lt-LT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/lt-LT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/lt-LT.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/lt-LT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/lv-LV.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/lv-LV.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/lv-LV.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/lv-LV.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/nb-NO.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/nb-NO.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/nb-NO.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/nb-NO.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/nl-NL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/nl-NL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/nl-NL.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/nl-NL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pl-PL.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/pl-PL.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pl-PL.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/pl-PL.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pt-BR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/pt-BR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pt-BR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/pt-BR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pt-PT.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/pt-PT.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/pt-PT.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/pt-PT.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ro-RO.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ro-RO.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ro-RO.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/ro-RO.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ru-RU.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/ru-RU.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/ru-RU.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/ru-RU.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sk-SK.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/sk-SK.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sk-SK.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/sk-SK.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sl-SI.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/sl-SI.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sl-SI.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/sl-SI.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sr-SP.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/sr-SP.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sr-SP.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/sr-SP.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sv-SE.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/sv-SE.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/sv-SE.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/sv-SE.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/tr-TR.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/tr-TR.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/tr-TR.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/tr-TR.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/uk-UA.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/uk-UA.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/uk-UA.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/uk-UA.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useCloseOnScroll.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useCloseOnScroll.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useCloseOnScroll.es.js +0 -26
- package/dist/node_modules/@react-aria/overlays/dist/useCloseOnScroll.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js +0 -32
- package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js +0 -53
- package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayPosition.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayPosition.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayPosition.es.js +0 -143
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayPosition.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayTrigger.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayTrigger.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayTrigger.es.js +0 -27
- package/dist/node_modules/@react-aria/overlays/dist/useOverlayTrigger.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePopover.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/usePopover.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePopover.es.js +0 -48
- package/dist/node_modules/@react-aria/overlays/dist/usePopover.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js +0 -100
- package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/zh-CN.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/zh-CN.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/zh-CN.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/zh-CN.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/zh-TW.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/zh-TW.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/zh-TW.es.js +0 -8
- package/dist/node_modules/@react-aria/overlays/dist/zh-TW.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +0 -70
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +0 -80
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js +0 -5
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/select/dist/HiddenSelect.cjs.js +0 -2
- package/dist/node_modules/@react-aria/select/dist/HiddenSelect.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/select/dist/HiddenSelect.es.js +0 -105
- package/dist/node_modules/@react-aria/select/dist/HiddenSelect.es.js.map +0 -1
- package/dist/node_modules/@react-aria/select/dist/useSelect.cjs.js +0 -2
- package/dist/node_modules/@react-aria/select/dist/useSelect.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/select/dist/useSelect.es.js +0 -126
- package/dist/node_modules/@react-aria/select/dist/useSelect.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/DOMLayoutDelegate.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/DOMLayoutDelegate.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/DOMLayoutDelegate.es.js +0 -41
- package/dist/node_modules/@react-aria/selection/dist/DOMLayoutDelegate.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/ListKeyboardDelegate.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/ListKeyboardDelegate.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/ListKeyboardDelegate.es.js +0 -122
- package/dist/node_modules/@react-aria/selection/dist/ListKeyboardDelegate.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableCollection.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/useSelectableCollection.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableCollection.es.js +0 -235
- package/dist/node_modules/@react-aria/selection/dist/useSelectableCollection.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableItem.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/useSelectableItem.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableItem.es.js +0 -127
- package/dist/node_modules/@react-aria/selection/dist/useSelectableItem.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableList.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/useSelectableList.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useSelectableList.es.js +0 -37
- package/dist/node_modules/@react-aria/selection/dist/useSelectableList.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useTypeSelect.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/useTypeSelect.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/useTypeSelect.es.js +0 -33
- package/dist/node_modules/@react-aria/selection/dist/useTypeSelect.es.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/selection/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/selection/dist/utils.es.js +0 -24
- package/dist/node_modules/@react-aria/selection/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +0 -2
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +0 -19
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +0 -2
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +0 -20
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +0 -2
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +0 -60
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +0 -2
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +0 -41
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/CollectionBuilder.cjs.js +0 -2
- package/dist/node_modules/@react-stately/collections/dist/CollectionBuilder.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/CollectionBuilder.es.js +0 -171
- package/dist/node_modules/@react-stately/collections/dist/CollectionBuilder.es.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/Item.cjs.js +0 -2
- package/dist/node_modules/@react-stately/collections/dist/Item.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/Item.es.js +0 -38
- package/dist/node_modules/@react-stately/collections/dist/Item.es.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/getChildNodes.cjs.js +0 -2
- package/dist/node_modules/@react-stately/collections/dist/getChildNodes.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/getChildNodes.es.js +0 -34
- package/dist/node_modules/@react-stately/collections/dist/getChildNodes.es.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/getItemCount.cjs.js +0 -2
- package/dist/node_modules/@react-stately/collections/dist/getItemCount.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/getItemCount.es.js +0 -15
- package/dist/node_modules/@react-stately/collections/dist/getItemCount.es.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/useCollection.cjs.js +0 -2
- package/dist/node_modules/@react-stately/collections/dist/useCollection.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/collections/dist/useCollection.es.js +0 -24
- package/dist/node_modules/@react-stately/collections/dist/useCollection.es.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +0 -110
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/ListCollection.cjs.js +0 -2
- package/dist/node_modules/@react-stately/list/dist/ListCollection.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/ListCollection.es.js +0 -57
- package/dist/node_modules/@react-stately/list/dist/ListCollection.es.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/useListState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/list/dist/useListState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/useListState.es.js +0 -70
- package/dist/node_modules/@react-stately/list/dist/useListState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/useSingleSelectListState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/list/dist/useSingleSelectListState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/list/dist/useSingleSelectListState.es.js +0 -35
- package/dist/node_modules/@react-stately/list/dist/useSingleSelectListState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/menu/dist/useMenuTriggerState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/menu/dist/useMenuTriggerState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/menu/dist/useMenuTriggerState.es.js +0 -34
- package/dist/node_modules/@react-stately/menu/dist/useMenuTriggerState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js +0 -30
- package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +0 -35
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/select/dist/useSelectState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/select/dist/useSelectState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/select/dist/useSelectState.es.js +0 -35
- package/dist/node_modules/@react-stately/select/dist/useSelectState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/Selection.cjs.js +0 -2
- package/dist/node_modules/@react-stately/selection/dist/Selection.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/Selection.es.js +0 -9
- package/dist/node_modules/@react-stately/selection/dist/Selection.es.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/SelectionManager.cjs.js +0 -2
- package/dist/node_modules/@react-stately/selection/dist/SelectionManager.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/SelectionManager.es.js +0 -285
- package/dist/node_modules/@react-stately/selection/dist/SelectionManager.es.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/useMultipleSelectionState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/selection/dist/useMultipleSelectionState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/selection/dist/useMultipleSelectionState.es.js +0 -58
- package/dist/node_modules/@react-stately/selection/dist/useMultipleSelectionState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +0 -22
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/tree/dist/TreeCollection.cjs.js +0 -2
- package/dist/node_modules/@react-stately/tree/dist/TreeCollection.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/tree/dist/TreeCollection.es.js +0 -53
- package/dist/node_modules/@react-stately/tree/dist/TreeCollection.es.js.map +0 -1
- package/dist/node_modules/@react-stately/tree/dist/useTreeState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/tree/dist/useTreeState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/tree/dist/useTreeState.es.js +0 -38
- package/dist/node_modules/@react-stately/tree/dist/useTreeState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +0 -31
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +0 -8
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +0 -13
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +0 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js +0 -2
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +0 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js +0 -171
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +0 -23
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +0 -609
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +0 -10
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +0 -29
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.cjs.js +0 -2
- package/dist/node_modules/react/jsx-runtime.cjs.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.es.js +0 -9
- package/dist/node_modules/react/jsx-runtime.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Autocomplete.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Autocomplete.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Autocomplete.es.js +0 -6
- package/dist/node_modules/react-aria-components/dist/Autocomplete.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Button.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Button.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Button.es.js +0 -70
- package/dist/node_modules/react-aria-components/dist/Button.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Collection.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Collection.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Collection.es.js +0 -64
- package/dist/node_modules/react-aria-components/dist/Collection.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Dialog.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Dialog.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Dialog.es.js +0 -6
- package/dist/node_modules/react-aria-components/dist/Dialog.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Header.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Header.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Header.es.js +0 -15
- package/dist/node_modules/react-aria-components/dist/Header.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Keyboard.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Keyboard.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Keyboard.es.js +0 -6
- package/dist/node_modules/react-aria-components/dist/Keyboard.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Menu.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Menu.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Menu.es.js +0 -286
- package/dist/node_modules/react-aria-components/dist/Menu.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js +0 -37
- package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Popover.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Popover.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Popover.es.js +0 -141
- package/dist/node_modules/react-aria-components/dist/Popover.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/ProgressBar.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/ProgressBar.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/ProgressBar.es.js +0 -6
- package/dist/node_modules/react-aria-components/dist/ProgressBar.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Separator.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Separator.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Separator.es.js +0 -6
- package/dist/node_modules/react-aria-components/dist/Separator.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Text.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Text.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Text.es.js +0 -16
- package/dist/node_modules/react-aria-components/dist/Text.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js +0 -98
- package/dist/node_modules/react-aria-components/dist/Tooltip.es.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js +0 -2
- package/dist/node_modules/react-aria-components/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/react-aria-components/dist/utils.es.js +0 -101
- package/dist/node_modules/react-aria-components/dist/utils.es.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.js +0 -10
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.es.js +0 -68
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.es.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.js +0 -10
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.es.js +0 -56
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.es.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/shim/index.cjs.js +0 -2
- package/dist/node_modules/use-sync-external-store/shim/index.cjs.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/shim/index.es.js +0 -9
- package/dist/node_modules/use-sync-external-store/shim/index.es.js.map +0 -1
- package/dist/utils/color2k.cjs.js +0 -2
- package/dist/utils/color2k.cjs.js.map +0 -1
- package/dist/utils/color2k.es.js +0 -14
- package/dist/utils/color2k.es.js.map +0 -1
- package/dist/utils/copy.cjs.js +0 -2
- package/dist/utils/copy.cjs.js.map +0 -1
- package/dist/utils/copy.es.js +0 -31
- package/dist/utils/copy.es.js.map +0 -1
- package/dist/utils/image.cjs.js +0 -2
- package/dist/utils/image.cjs.js.map +0 -1
- package/dist/utils/image.es.js +0 -28
- package/dist/utils/image.es.js.map +0 -1
- package/dist/utils/navigation.cjs.js +0 -2
- package/dist/utils/navigation.cjs.js.map +0 -1
- package/dist/utils/navigation.es.js +0 -12
- package/dist/utils/navigation.es.js.map +0 -1
- package/dist/utils/palette.cjs.js +0 -2
- package/dist/utils/palette.cjs.js.map +0 -1
- package/dist/utils/palette.es.js +0 -183
- package/dist/utils/palette.es.js.map +0 -1
- package/dist/utils/string.cjs.js +0 -2
- package/dist/utils/string.cjs.js.map +0 -1
- package/dist/utils/string.es.js +0 -8
- package/dist/utils/string.es.js.map +0 -1
- /package/dist/{darkTheme.d.ts → dark.d.ts} +0 -0
- /package/dist/{lightTheme.d.ts → light.d.ts} +0 -0
- /package/dist/{design.d.ts → theme.d.ts} +0 -0
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/components/Button/Button.tsx","../src/design/generateStylesheet.ts","../src/components/ThemeProvider.tsx","../src/components/ScreenOverlay/ScreenOverlay.tsx","../assets/svg/icons.svg","../src/components/Icon/Icon.tsx","../src/components/ActionMenu/ActionMenu.tsx","../src/components/Badge/Badge.tsx","../src/components/Banner/Banner.tsx","../node_modules/@react-aria/radio/dist/utils.mjs","../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/_check_private_redeclaration.js","../node_modules/@swc/helpers/esm/_class_private_field_init.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/ssr/dist/SSRProvider.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/useInteractOutside.mjs","../node_modules/@react-aria/form/dist/useFormValidation.mjs","../node_modules/@react-aria/radio/dist/useRadio.mjs","../node_modules/@react-aria/focus/dist/FocusScope.mjs","../node_modules/@react-aria/label/dist/useLabel.mjs","../node_modules/@react-aria/label/dist/useField.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/@react-aria/radio/dist/useRadioGroup.mjs","../node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.mjs","../node_modules/@react-stately/form/dist/useFormValidationState.mjs","../node_modules/@react-stately/utils/dist/useControlledState.mjs","../node_modules/@react-stately/radio/dist/useRadioGroupState.mjs","../src/components/ButtonGroup/ButtonGroup.tsx","../src/components/Menu/PopoverMenu.tsx","../src/components/Menu/MenuTrigger.tsx","../src/components/ButtonWithSelect/ButtonWithSelect.tsx","../src/components/Table/Collection/CompoundComponents.tsx","../src/components/Table/Collection/collectionParser.ts","../src/components/Table/Collection/useTableCollection.tsx","../src/components/Table/Table.tsx","../src/components/Elevation/Elevation.tsx","../src/components/Tombstone/Tombstone.tsx","../src/components/DataTable/DataTable.tsx","../node_modules/@react-aria/overlays/dist/useOverlay.mjs","../node_modules/@react-aria/overlays/dist/usePreventScroll.mjs","../node_modules/@react-aria/overlays/dist/ariaHideOutside.mjs","../node_modules/@react-aria/overlays/dist/Overlay.mjs","../node_modules/@react-aria/overlays/dist/useModalOverlay.mjs","../node_modules/@react-aria/dialog/dist/useDialog.mjs","../src/components/Dialog/Dialog.tsx","../src/components/ImageBackground/ImageBackground.tsx","../src/components/Input/BaseInput/Input.tsx","../src/components/Input/CopyInput/CopyInput.tsx","../src/components/Input/SearchInput/SearchInput.tsx","../node_modules/@react-aria/button/dist/useButton.mjs","../node_modules/@react-stately/overlays/dist/useOverlayTriggerState.mjs","../src/components/Modal/Modal.tsx","../src/components/Popover/Popover.tsx","../src/components/Select/Select.tsx","../node_modules/@react-aria/toggle/dist/useToggle.mjs","../node_modules/@react-aria/switch/dist/useSwitch.mjs","../node_modules/@react-stately/toggle/dist/useToggleState.mjs","../src/components/Switch/Switch.tsx","../src/components/Text/TextEllipsis/TextEllipsis.tsx","../node_modules/react-aria-components/dist/utils.mjs","../node_modules/react-aria-components/dist/OverlayArrow.mjs","../node_modules/react-aria-components/dist/Tooltip.mjs","../src/components/Tooltip/Tooltip.tsx","../src/components/Text/TextEmphasis/TextEmphasis.tsx","../src/components/Waveform/WaveformBar.tsx","../src/components/Waveform/Waveform.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its 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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use client\";\n\nimport {\n forwardRef,\n MouseEvent,\n useLayoutEffect,\n useRef,\n} from \"react\";\n\nimport { csx } from \"../../utils/string\";\nimport {\n isUrlExternal,\n handleInternalNavigation,\n} from \"../../utils/navigation\";\nimport \"./Button.css\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"translucent\";\n\nexport const ButtonVariants: Record<ButtonVariant, ButtonVariant> = {\n primary: \"primary\",\n secondary: \"secondary\",\n success: \"success\",\n danger: \"danger\",\n translucent: \"translucent\",\n};\n\nexport type ButtonSize = \"small\" | \"medium\" | \"large\" | \"xlarge\" | \"2xlarge\";\n\nexport const ButtonSizes: Record<ButtonSize, ButtonSize> = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n xlarge: \"xlarge\",\n \"2xlarge\": \"2xlarge\",\n};\n\nexport interface ButtonProps {\n /** The button's visual aesthetic\n * - type {@link ButtonVariant}\n */\n variant?: ButtonVariant;\n\n /** The size of the button\n * - type {@link ButtonSize}\n * @default \"medium\"\n */\n size?: ButtonSize;\n\n /** Should the button be full width?\n * @default false\n */\n fullWidth?: boolean;\n\n /** The prefix to display within the button */\n icon?: React.ReactNode;\n\n /** Should the button be non-interactive? */\n isDisabled?: boolean;\n\n /** The URL that the button should link to. Turns the element into an `a` tag. If the URL is external, you should pass the entire URL to the `to` prop (e.g. `https://example.com`). */\n to?: string;\n\n /** The target attribute for the link. Defaults to `_blank` if the URL is external. */\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | string;\n\n /** Called when the button is pressed (on release, not keydown) */\n onPress?: (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n\n /** The type of button */\n type?: \"button\" | \"submit\" | \"reset\";\n\n /** The test ID for the button */\n \"data-testid\"?: string;\n\n /** The content to display within the button */\n children?: React.ReactNode;\n}\n\n/**\n * A customizable button component that can render as either a button or anchor element.\n *\n * API:\n * - {@link ButtonProps}\n */\nexport const Button = forwardRef<\n HTMLButtonElement | HTMLAnchorElement,\n ButtonProps\n>(\n (\n {\n variant = \"primary\",\n size = \"medium\",\n fullWidth = false,\n icon,\n to,\n target,\n onPress,\n type = \"button\",\n isDisabled,\n \"data-testid\": testId,\n children,\n }: ButtonProps,\n ref\n ) => {\n const isExternal = to && isUrlExternal(to);\n const buttonRef = useRef<HTMLButtonElement | HTMLAnchorElement>(null);\n\n useLayoutEffect(() => {\n if (typeof ref === \"function\") {\n ref(buttonRef.current);\n } else if (ref) {\n ref.current = buttonRef.current;\n }\n }, [ref]);\n\n const commonProps = {\n className: csx(\n \"proton-Button\",\n `proton-Button--${variant}`,\n fullWidth && \"proton-Button--fullWidth\",\n isDisabled && \"proton-Button--disabled\",\n size && `proton-Button--${size}`\n ),\n \"data-testid\": testId,\n ...(to && { \"aria-disabled\": isDisabled }),\n ...(isDisabled && { tabIndex: -1 }),\n };\n\n const content = (\n <>\n {icon && (\n <div\n className={csx(\n \"proton-Button__icon-decorator\",\n fullWidth && \"proton-Button__icon-decorator--fullWidth\"\n )}\n >\n {icon}\n </div>\n )}\n {children && <div className=\"proton-Button__text\">{children}</div>}\n </>\n );\n\n if (to) {\n return (\n <a\n {...commonProps}\n href={to}\n target={target || (isExternal ? \"_blank\" : undefined)}\n rel={\n isExternal || target === \"_blank\"\n ? \"noopener noreferrer\"\n : undefined\n }\n ref={ref as React.RefObject<HTMLAnchorElement>}\n onClick={(e) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (!isExternal && !target) {\n handleInternalNavigation(e, to);\n }\n\n onPress?.(e);\n }}\n role=\"button\"\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n {...commonProps}\n type={type}\n disabled={isDisabled}\n ref={ref as React.RefObject<HTMLButtonElement>}\n onClick={(e) => {\n if (!isDisabled && onPress) {\n onPress(e);\n }\n }}\n >\n {content}\n </button>\n );\n }\n);\n\nButton.displayName = \"ProtonUIButton\";\n","import { THEMES } from \"./theme\";\nimport { ProtonPalette } from \"./types\";\nimport { LIGHT_STYLESHEET } from \"./lightTheme/stylesheet\";\nimport { DARK_STYLESHEET } from \"./darkTheme/stylesheet\";\nimport { ProtonStyleSheet } from \"./types\";\n\nexport const generateStylesheet = (\n palette: ProtonPalette,\n theme: string\n): ProtonStyleSheet => {\n const themeVariables =\n theme === THEMES.DARK ? DARK_STYLESHEET : LIGHT_STYLESHEET;\n\n if (palette) {\n const customVars = generateCustomStylesheet(palette);\n return {\n ...themeVariables,\n ...customVars,\n };\n }\n\n return themeVariables;\n};\n\n//overrride theme colors in stylesheet\nconst generateCustomStylesheet = (\n palette: ProtonPalette\n): Partial<ProtonStyleSheet> => {\n return {\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\n \"--proton-color__primary-super-light\": palette.BRAND.PRIMARY_SUPER_LIGHT,\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\n \"--proton-color__secondary-light\": palette.BRAND.SECONDARY_LIGHT,\n \"--proton-color__secondary-super-light\":\n palette.BRAND.SECONDARY_SUPER_LIGHT,\n\n //TODO: add newly generated grayscale color scale\n };\n};\n","\"use client\";\n\nimport React, {\n createContext,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport { THEME_CLASSES } from \"../design\";\nimport { LIGHT_PALETTE } from \"../design/lightTheme/colors\";\nimport { ProtonPalette, ProtonStyleSheet, ProtonTheme } from \"../design/types\";\nimport { generateStylesheet } from \"../design/generateStylesheet\";\n\ninterface ThemeContextType {\n theme: ProtonTheme;\n className: string;\n style: ProtonStyleSheet;\n palette: ProtonPalette;\n hasPalette?: boolean;\n themeProviderRef?: React.RefObject<HTMLDivElement>;\n}\n\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext);\n if (context === undefined) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n return context;\n};\n\ninterface ThemeProviderProps {\n theme: ProtonTheme;\n children: ReactNode;\n palette?: ProtonPalette;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n theme,\n children,\n palette = LIGHT_PALETTE,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const themeClass = THEME_CLASSES[theme];\n const themeVariables = useMemo(\n () => generateStylesheet(palette, theme),\n [palette, theme]\n );\n\n useEffect(() => {\n // Apply the theme class and css variables to the container div so that it is only scoped\n // to the ThemeProvider children.\n if (containerRef.current) {\n containerRef.current.className = themeClass;\n\n Object.entries(themeVariables).forEach(([key, value]) => {\n containerRef.current!.style.setProperty(key, value as string);\n });\n }\n }, [theme, themeClass, palette, themeVariables]);\n\n return (\n <ThemeContext.Provider\n value={{\n theme,\n style: themeVariables,\n palette,\n className: themeClass,\n hasPalette: Boolean(palette),\n themeProviderRef: containerRef,\n }}\n >\n <div ref={containerRef}>{children}</div>\n </ThemeContext.Provider>\n );\n};\n","\"use client\";\n\nimport { forwardRef, useEffect } from \"react\";\nimport \"./ScreenOverlay.css\";\nimport { csx } from \"../../utils\";\nimport { Portal } from \"radix-ui\";\nimport { useTheme, ThemeProvider } from \"../ThemeProvider\";\n\ninterface ScreenOverlayProps {\n /**\n * Children to render inside the overlay.\n */\n children?: React.ReactNode;\n\n /**\n * Whether to fade in the overlay.\n */\n fadeIn?: boolean;\n\n /**\n * Callback function to handle events (click or ESC key).\n */\n onClose?: () => void;\n\n /**\n * Ref to the overlay element.\n */\n ref?: React.RefObject<HTMLDivElement>;\n}\n\n/**\n * Base Overlay component for creating modal-like backgrounds.\n *\n * API:\n * - {@link ScreenOverlayProps}\n */\nexport const ScreenOverlay = forwardRef<HTMLDivElement, ScreenOverlayProps>(\n ({ fadeIn = false, onClose, children }, ref) => {\n const { theme, palette } = useTheme();\n\n useEffect(() => {\n if (!onClose) return;\n\n const handleEscKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") onClose();\n };\n\n document.addEventListener(\"keydown\", handleEscKey);\n return () => {\n document.removeEventListener(\"keydown\", handleEscKey);\n };\n }, [onClose]);\n\n return (\n <Portal.Root>\n <ThemeProvider theme={theme} palette={palette}>\n <div\n ref={ref}\n id=\"background\"\n aria-label=\"Background overlay\"\n role=\"dialog\"\n aria-modal=\"true\"\n data-testid=\"screen-overlay\"\n className={csx(\n \"proton-ScreenOverlay__background\",\n \"proton-ScreenOverlay__z-index\",\n fadeIn && \"proton-ScreenOverlay__fade-in\"\n )}\n onClick={(event: React.MouseEvent) => {\n if (!onClose) return;\n\n // Only trigger onClose if the click was directly on the background element\n if (event.target === event.currentTarget) {\n onClose();\n }\n }}\n >\n {children}\n </div>\n </ThemeProvider>\n </Portal.Root>\n );\n }\n);\n\nScreenOverlay.displayName = \"ProtonUIScreenOverlay\";\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3csymbol%20id='external-link'%20viewBox='0%200%20512%20512'%3e%3cpath%20d='M384%20224v184a40%2040%200%2001-40%2040H104a40%2040%200%2001-40-40V168a40%2040%200%200140-40h167.48M336%2064h112v112M224%20288L440%2072'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='32'/%3e%3c/symbol%3e%3csymbol%20id='caret-down'%20viewBox='0%200%20512%20512'%3e%3cpath%20fill='currentColor'%20d='M233.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200l192-192c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L256%20338.7L86.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l192%20192z'/%3e%3c/symbol%3e%3csymbol%20id='caret-right'%20viewBox='0%200%20512%20512'%3e%3cpath%20fill='currentColor'%20d='M216.5%20374.8c-11.3%2011.3-30%2011.3-41.3%200L74.8%20256c-11.3-11.3-11.3-30%200-41.3l128.5-128.5c11.3-11.3%2030-11.3%2041.3%200s11.3%2030%200%2041.3L145.7%20256l119.8%20119.8c11.3%2011.3%2011.3%2030%200%2041.3z'/%3e%3c/symbol%3e%3csymbol%20id='chevron-right'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='currentColor'%20d='M5.74%203.2a.75.75%200%200%200-.04%201.06L9.227%208L5.7%2011.74a.75.75%200%201%200%201.1%201.02l4-4.25a.75.75%200%200%200%200-1.02l-4-4.25a.75.75%200%200%200-1.06-.04'/%3e%3c/symbol%3e%3csymbol%20id='chevron-left'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='currentColor'%20d='M10.26%203.2a.75.75%200%200%201%20.04%201.06L6.773%208l3.527%203.74a.75.75%200%201%201-1.1%201.02l-4-4.25a.75.75%200%200%201%200-1.02l4-4.25a.75.75%200%200%201%201.06-.04'/%3e%3c/symbol%3e%3csymbol%20id='chevron-down'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='currentColor'%20d='M3.2%205.74a.75.75%200%200%201%201.06-.04L8%209.227L11.74%205.7a.75.75%200%201%201%201.02%201.1l-4.25%204a.75.75%200%200%201-1.02%200l-4.25-4a.75.75%200%200%201-.04-1.06'/%3e%3c/symbol%3e%3c/defs%3e%3c/svg%3e\"","import { SVGProps } from \"react\";\nimport iconURL from \"../../../assets/svg/icons.svg\";\n\ntype IconID =\n | \"external-link\"\n | \"caret-down\"\n | \"caret-right\"\n | \"chevron-right\"\n | \"chevron-left\"\n | \"chevron-up\"\n | \"chevron-down\";\n\n/*\n *\n * 🚧 UNDER CONSTRUCTION 🚧\n *\n */\n\nexport interface IconProps {\n /**\n * The spritesheet ID defined in the Icons spritesheet.\n */\n id: IconID;\n\n /**\n * The desired width/height of the icon. Accepts any valid CSS unit.\n */\n size?: number | string;\n\n /**\n * The stroke color of the icon.\n */\n color?: string;\n}\n\n/**\n * An icon component that displays SVG icons from a sprite sheet or inline.\n *\n * API:\n * - {@link IconProps}\n */\nexport function Icon(props: IconProps) {\n let iconStyle = {\n height: props.size || undefined,\n width: props.size || undefined,\n color: props.color || undefined,\n };\n\n if (props.id === \"chevron-right\") {\n return <Chevron direction=\"right\" {...iconStyle} />;\n }\n\n if (props.id === \"chevron-left\") {\n return <Chevron direction=\"left\" {...iconStyle} />;\n }\n\n if (props.id === \"chevron-up\") {\n return <Chevron direction=\"up\" {...iconStyle} />;\n }\n\n if (props.id === \"chevron-down\") {\n return <Chevron direction=\"down\" {...iconStyle} />;\n }\n\n return (\n <svg style={iconStyle} {...props}>\n <use href={`${iconURL}#${props.id}`} />\n </svg>\n );\n}\n\nfunction Chevron({\n direction,\n ...props\n}: {\n direction: \"right\" | \"left\" | \"up\" | \"down\";\n} & SVGProps<SVGSVGElement>) {\n const rotateMap = {\n right: 0,\n down: 90,\n left: 180,\n up: 270,\n };\n\n return (\n <svg\n viewBox=\"0 0 16 16\"\n style={{\n transform: `rotate(${rotateMap[direction]}deg)`,\n }}\n {...props}\n >\n {/* NOTE: this is the path for the \"right\" direction */}\n <path\n fill=\"currentColor\"\n d=\"M5.74 3.2a.75.75 0 0 0-.04 1.06L9.227 8L5.7 11.74a.75.75 0 1 0 1.1 1.02l4-4.25a.75.75 0 0 0 0-1.02l-4-4.25a.75.75 0 0 0-1.06-.04\"\n />\n </svg>\n );\n}\n","\"use client\";\n\nimport { ReactNode, useEffect, useRef, useState } from \"react\";\nimport type { Selection } from \"@react-types/shared\";\n\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { useLockBodyScroll } from \"../../hooks/useLockBodyScroll\";\nimport { handleInternalNavigation, isUrlExternal } from \"../../utils\";\n\nimport { Button } from \"../Button/Button\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport { DropdownMenu } from \"radix-ui\";\nimport { Icon } from \"../Icon/Icon\";\n\nimport \"./ActionMenu.css\";\n\nexport interface ActionMenuAction {\n key: string;\n label?: ReactNode;\n description?: ReactNode;\n to?: string;\n onAction?: (key: string) => void;\n children?: ActionMenuAction[];\n}\n\nexport type ActionMenuSelectionMode = \"single\" | \"multiple\" | \"none\";\n\nexport interface ActionMenuProps {\n /** The actions of the menu\n * - type {@link ActionMenuAction}[]\n */\n actions?: ActionMenuAction[];\n\n /** The text of the cancel button */\n cancelButtonText?: string;\n\n /** The children of the menu */\n children?: ReactNode | ((props: { close: () => void }) => ReactNode);\n\n /** The test id of the menu */\n \"data-testid\"?: string;\n\n /** The keys of the disabled items\n * @default []\n */\n disabledKeys?: string[];\n\n /** Whether the menu is open\n * @default false\n */\n isOpen: boolean;\n\n /** The callback function to close the menu */\n onClose?: () => void;\n\n /** The callback function to change the selection\n * - type {@link Selection}\n */\n onSelectionChange?: (keys: Selection) => void;\n\n /** The selection mode of the menu\n * @default \"single\"\n */\n selectionMode?: ActionMenuSelectionMode;\n\n /** The keys of the selected items */\n selectedKeys?: string[];\n\n /** Whether to show the cancel button */\n showCancel?: boolean;\n\n /** The title of the menu */\n title?: string;\n}\n\ntype ActionStack = {\n title: ReactNode | null;\n actions: ActionMenuAction[];\n key: string | null;\n previousKey: string | null;\n};\n\n/**\n * A controlled ActionMenu to display a menu of actions.\n * Renders a list of actions as a focusable menu, or non-focusable children.\n *\n * API:\n * - {@link ActionMenuProps}\n */\nexport const ActionMenu = ({\n isOpen,\n actions = [],\n children,\n showCancel = true,\n cancelButtonText = \"Cancel\",\n selectionMode = \"single\",\n selectedKeys,\n disabledKeys = [],\n onSelectionChange,\n onClose,\n title,\n \"data-testid\": testId,\n}: ActionMenuProps) => {\n useLockBodyScroll(isOpen);\n const [contentHeight, setContentHeight] = useState<number>(0);\n const [stackHistory, setStackHistory] = useState<ActionStack[]>([]);\n const [currentActionStack, setCurrentActionStack] = useState<ActionStack>({\n title,\n actions,\n key: null,\n previousKey: null,\n });\n const contentRef = useRef<HTMLDivElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({ onClose, overlayRef });\n\n const currentActions = currentActionStack.actions || [];\n const hasActions = currentActions && currentActions.length > 0;\n const hasContent = children || hasActions || showCancel;\n const isInSubmenu = stackHistory.length > 0;\n\n function handleSubmenuOpen(key: string) {\n const action = currentActions.find((action) => action.key === key);\n if (!action) {\n console.error(`Action with key ${key} not found`);\n return;\n }\n\n setStackHistory((prevStackHistory) => [\n ...prevStackHistory,\n currentActionStack,\n ]);\n setCurrentActionStack((prevStack) => ({\n title: action.label,\n actions: action.children,\n key: action.key,\n previousKey: prevStack.key,\n }));\n }\n\n function handleBack() {\n if (stackHistory.length > 0) {\n const previousStack = stackHistory[stackHistory.length - 1];\n setCurrentActionStack(previousStack);\n setStackHistory(stackHistory.slice(0, -1));\n }\n }\n\n // Re-measure the open menu's content height when stack history changes\n useEffect(() => {\n if (!isOpen) return;\n\n requestAnimationFrame(() => {\n if (contentRef.current) {\n setContentHeight(contentRef.current.scrollHeight + 12);\n }\n });\n }, [isOpen, stackHistory, hasContent]);\n\n // Reset content height when menu closes or is closing\n useEffect(() => {\n if (!isOpen || isClosing) {\n setContentHeight(0);\n }\n }, [isOpen, isClosing]);\n\n if (!isOpen && !isClosing) return null;\n\n return (\n <ScreenOverlay fadeIn ref={overlayRef}>\n <DropdownMenu.Root\n modal\n open={isOpen}\n onOpenChange={(open) => {\n if (!open) handleClose();\n }}\n >\n <DropdownMenu.Trigger asChild>\n {/* No visible trigger, menu is controlled by isOpen */}\n <div>{\"\"}</div>\n </DropdownMenu.Trigger>\n\n <div\n className=\"proton-ActionMenu__background-wrapper\"\n style={{ opacity: isClosing ? 0 : 1 }}\n >\n <div\n data-testid={testId || \"ActionMenu-wrapper\"}\n className=\"proton-ActionMenu__wrapper\"\n >\n <div\n className=\"proton-ActionMenu__card\"\n data-testid=\"ActionMenu-content\"\n style={{ height: `${contentHeight}px` }}\n >\n <div ref={menuRef} className=\"proton-ActionMenu__menu\">\n <DropdownMenu.Content loop sideOffset={8} ref={contentRef}>\n {hasContent && (\n <>\n {children && (\n <div className=\"proton-ActionMenu__content\">\n {typeof children === \"function\"\n ? children({ close: handleClose })\n : children}\n </div>\n )}\n\n {hasActions && (\n <ActionMenuList\n actions={currentActions}\n selectionMode={selectionMode}\n selectedKeys={selectedKeys}\n onSelectionChange={onSelectionChange}\n disabledKeys={disabledKeys}\n handleSubmenuOpen={handleSubmenuOpen}\n title={currentActionStack.title}\n isInSubmenu={isInSubmenu}\n handleBack={handleBack}\n previousMenuTitle={\n stackHistory[stackHistory.length - 1]?.title\n }\n />\n )}\n\n {showCancel && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Item className=\"proton-ActionMenu__cancel-button\">\n <Button\n data-testid=\"ActionMenuItem-cancel\"\n onPress={handleClose}\n fullWidth\n variant=\"secondary\"\n >\n {cancelButtonText}\n </Button>\n </DropdownMenu.Item>\n </>\n )}\n </>\n )}\n </DropdownMenu.Content>\n </div>\n </div>\n </div>\n </div>\n </DropdownMenu.Root>\n </ScreenOverlay>\n );\n};\n\ninterface ActionMenuListProps {\n actions: ActionMenuAction[];\n selectionMode: ActionMenuSelectionMode;\n selectedKeys?: string[];\n onSelectionChange?: (keys: Selection) => void;\n disabledKeys?: string[];\n handleSubmenuOpen: (key: string) => void;\n title?: ReactNode;\n isInSubmenu?: boolean;\n handleBack?: () => void;\n previousMenuTitle?: ReactNode;\n}\n\nconst ActionMenuList = ({\n actions,\n selectionMode,\n selectedKeys = [],\n onSelectionChange,\n disabledKeys = [],\n handleSubmenuOpen,\n title,\n isInSubmenu = false,\n handleBack,\n previousMenuTitle,\n}: ActionMenuListProps) => {\n const ActionMenuItemMap = () => (\n <>\n {isInSubmenu && handleBack && (\n <div className=\"proton-ActionMenu__back-button-container\">\n <DropdownMenu.Item\n className=\"proton-ActionMenu__back-button\"\n onSelect={(event) => {\n event.preventDefault();\n handleBack();\n }}\n aria-label={`Go back to ${previousMenuTitle || \"previous menu\"}`}\n >\n <Icon id=\"chevron-left\" size={16} aria-hidden=\"true\" />\n </DropdownMenu.Item>\n <div\n className=\"proton-ActionMenu__title\"\n role=\"banner\"\n aria-label={isInSubmenu ? `Submenu: ${title}` : `Menu: ${title}`}\n >\n <span>{title}</span>\n </div>\n <DropdownMenu.Separator />\n </div>\n )}\n\n {actions.map((action, i) => {\n const itemProps = actions[i];\n return (\n <ActionMenuItem\n key={action.key}\n item={action}\n isSubmenu={Boolean(itemProps.children?.length)}\n selectionMode={selectionMode}\n onSelectionChange={onSelectionChange}\n selectedKeys={selectedKeys}\n disabledKeys={disabledKeys}\n handleSubmenuOpen={handleSubmenuOpen}\n />\n );\n })}\n </>\n );\n\n return (\n <div\n aria-disabled={selectionMode === \"none\"}\n className=\"proton-ActionMenu__list\"\n role=\"menu\"\n aria-label={\n title ? `${isInSubmenu ? \"Submenu\" : \"Menu\"}: ${title}` : \"Action menu\"\n }\n aria-orientation=\"vertical\"\n >\n {selectionMode === \"single\" ? (\n <DropdownMenu.RadioGroup\n value={selectedKeys?.[0] || \"\"}\n onValueChange={(value) => {\n // Check if this is a submenu item - if so, don't trigger selection change\n const action = actions.find((action) => action.key === value);\n if (action?.children?.length) {\n return;\n }\n\n if (onSelectionChange) {\n onSelectionChange(new Set([value]));\n }\n }}\n >\n <ActionMenuItemMap />\n </DropdownMenu.RadioGroup>\n ) : (\n <DropdownMenu.Group>\n <ActionMenuItemMap />\n </DropdownMenu.Group>\n )}\n </div>\n );\n};\n\ninterface ActionMenuItemProps {\n to?: string;\n item: ActionMenuAction;\n isSubmenu?: boolean;\n selectionMode: ActionMenuSelectionMode;\n onSelectionChange?: (keys: Selection) => void;\n selectedKeys?: string[];\n disabledKeys?: string[];\n handleSubmenuOpen: (key: string) => void;\n}\n\nconst ActionMenuItem = ({\n item,\n isSubmenu,\n selectionMode,\n onSelectionChange,\n selectedKeys = [],\n disabledKeys = [],\n handleSubmenuOpen,\n}: ActionMenuItemProps) => {\n const ref = useRef(null);\n const isExternal = item.to && isUrlExternal(item.to);\n const isDisabled = disabledKeys.includes(item.key);\n const isSelected = selectedKeys.includes(item.key);\n\n const radixItemProps = {\n className: \"proton-ActionMenu__item\",\n \"aria-label\": item.label\n ? `${item.label}${item.description ? `, ${item.description}` : \"\"}`\n : `ActionMenu-Item-${item.key}`,\n role: \"menuitem\",\n disabled: isDisabled,\n ref,\n };\n\n const onSelect = (event: Event) => {\n if (item?.children?.length) {\n event.preventDefault();\n handleSubmenuOpen(item.key);\n return;\n }\n if (item.onAction) {\n item.onAction(item.key);\n }\n };\n\n const content = (\n <>\n <div className=\"proton-ActionMenu__item-content\">\n <div className=\"proton-ActionMenu__item-label\">{item.label}</div>\n {item.description && (\n <div className=\"proton-ActionMenu__description\">\n {item.description}\n </div>\n )}\n </div>\n {isSubmenu && <Icon id=\"chevron-right\" size={16} aria-hidden=\"true\" />}\n </>\n );\n\n if (item.to) {\n return (\n <DropdownMenu.Item {...radixItemProps} key={item.key} asChild>\n <a\n aria-label={\n item.label\n ? `${item.label}${item.description ? `, ${item.description}` : \"\"}`\n : `ActionMenu-Item-${item.key}`\n }\n aria-disabled={isDisabled}\n aria-checked={isSelected}\n aria-expanded={isSubmenu ? false : undefined}\n href={item.to}\n target={isExternal ? \"_blank\" : undefined}\n rel={isExternal ? \"noopener noreferrer\" : undefined}\n onClick={(e: React.MouseEvent<HTMLAnchorElement>) => {\n if (isExternal || !item.to) {\n return;\n }\n handleInternalNavigation(e, item.to);\n }}\n >\n {content}\n </a>\n </DropdownMenu.Item>\n );\n }\n\n if (selectionMode === \"multiple\") {\n return (\n <DropdownMenu.CheckboxItem\n {...radixItemProps}\n key={item.key}\n checked={isSelected}\n onSelect={onSelect}\n onCheckedChange={(checked: boolean) => {\n if (!onSelectionChange) return;\n\n const currentKeys = new Set(selectedKeys);\n if (checked) {\n currentKeys.add(item.key);\n } else {\n currentKeys.delete(item.key);\n }\n onSelectionChange(currentKeys);\n }}\n >\n {content}\n </DropdownMenu.CheckboxItem>\n );\n }\n\n return (\n <DropdownMenu.RadioItem\n {...radixItemProps}\n value={item.key}\n key={item.key}\n aria-checked={isSelected}\n aria-expanded={isSubmenu ? false : undefined}\n onSelect={onSelect}\n >\n {content}\n </DropdownMenu.RadioItem>\n );\n};\n","\"use client\";\n\nimport { ReactNode } from \"react\";\nimport { csx } from \"../../utils\";\n\nimport \"./Badge.css\";\n\nexport type BadgeVariant =\n | \"primary\"\n | \"secondary\"\n | \"transparent\"\n | \"success\"\n | \"warning\"\n | \"danger\";\n\nexport const BadgeVariants: Record<BadgeVariant, BadgeVariant> = {\n primary: \"primary\",\n secondary: \"secondary\",\n transparent: \"transparent\",\n success: \"success\",\n warning: \"warning\",\n danger: \"danger\",\n};\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The content to display within the badge.\n */\n children: ReactNode;\n /**\n * The badge's visual aesthetic.\n * - type {@link BadgeVariant}\n */\n variant?: BadgeVariant;\n}\n\n/**\n * A badge component for displaying status, categories, or counts with various visual styles.\n *\n * API:\n * - {@link BadgeProps}\n * - extends {@link React.HTMLAttributes}\n */\nexport const Badge = ({ variant, children, ...props }: BadgeProps) => {\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n data-testid={props[\"data-testid\"]}\n className={csx(\"proton-Badge\", variant && `proton-Badge--${variant}`)}\n >\n {children}\n </div>\n );\n};\n","\"use client\";\n\nimport { ReactNode, createContext, isValidElement, useContext } from \"react\";\nimport { csx } from \"../../utils\";\nimport { Button, type ButtonProps } from \"../Button/Button\";\n\nimport \"./Banner.css\";\n\n//TODO: move svgs to lib and use Icon component\nexport const BANNER_ICONS = {\n success: (\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\n ></path>\n </svg>\n ),\n warning: (\n <svg viewBox=\"0 0 56 56\" height=\"17\" width=\"17\">\n <path d=\"M9.59 50.207h36.82c3.516 0 5.719-2.531 5.719-5.719a5.56 5.56 0 0 0-.75-2.812l-18.445-33c-1.055-1.899-2.977-2.883-4.922-2.883c-1.922 0-3.89.984-4.946 2.883L4.645 41.699c-.516.89-.774 1.828-.774 2.79c0 3.187 2.227 5.718 5.719 5.718m18.422-16.055c-1.242 0-1.922-.703-1.969-1.968l-.328-11.578c-.047-1.266.937-2.204 2.273-2.204c1.313 0 2.344.961 2.297 2.227l-.351 11.555c-.047 1.289-.727 1.968-1.922 1.968m0 8.649c-1.36 0-2.625-1.078-2.625-2.532s1.242-2.53 2.625-2.53s2.625 1.054 2.625 2.53c0 1.477-1.266 2.532-2.625 2.532\" />\n </svg>\n ),\n danger: (\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z\"\n ></path>\n </svg>\n ),\n};\n\nexport const BANNER_VARIANTS = {\n default: \"default\",\n success: \"success\",\n warning: \"warning\",\n danger: \"danger\",\n} as const;\nexport type BannerVariant = \"default\" | \"success\" | \"warning\" | \"danger\";\n\nconst BannerContext = createContext<BannerVariant | undefined>(undefined);\n\ninterface BannerIconProps {\n /**\n * Optional custom icon or children for the icon area.\n */\n children?: ReactNode;\n /**\n * The icon to display in the banner.\n * Can be a boolean to conditionally show or hide, or a ReactNode to provide a custom icon.\n */\n icon?: boolean | ReactNode;\n /**\n * The data-testid to display within the banner.\n */\n \"data-testid\"?: string;\n}\n\ninterface BannerProps extends BannerIconProps {\n /**\n * Compact padding around the content of the banner.\n * @default true\n */\n compact?: boolean;\n /**\n * The content to display within the banner.\n */\n children: ReactNode;\n /**\n * The data-testid to display within the banner.\n */\n \"data-testid\"?: string;\n /**\n * Round the corners of the banner.\n * @default true\n */\n rounded?: boolean;\n /**\n * The banner's visual aesthetic.\n * - type {@link BannerVariant}\n */\n variant?: BannerVariant;\n}\n\n/**\n * A banner used to display a success, warning, or error message.\n *\n * API:\n * - {@link BannerProps}\n * - extends {@link BannerIconProps}\n */\nconst Banner = ({\n variant = \"default\",\n rounded = true,\n icon = false,\n compact = true,\n children,\n \"data-testid\": dataTestId,\n}: BannerProps) => {\n return (\n <BannerContext.Provider value={variant}>\n <div\n role=\"status\"\n aria-live=\"polite\"\n className={csx(\n \"proton-Banner\",\n `proton-Banner--${variant}`,\n rounded && \"proton-Banner--rounded\"\n )}\n data-testid={dataTestId}\n >\n <div\n className={csx(\n \"proton-Banner__wrapper\",\n compact && \"proton-Banner__wrapper--compact\"\n )}\n >\n <Banner.Icon icon={icon} />\n <div className=\"proton-Banner__content-wrapper\">\n <div className=\"proton-Banner__container\">{children}</div>\n </div>\n </div>\n </div>\n </BannerContext.Provider>\n );\n};\n\nBanner.displayName = \"Banner\";\n\nconst BannerTitle = ({\n children,\n \"data-testid\": dataTestId,\n}: {\n children: ReactNode;\n \"data-testid\"?: string;\n}) => {\n const variant = useContext(BannerContext);\n if (!variant) throw new Error(\"BannerTitle must be used within a Banner\");\n\n return (\n <h3\n className={csx(\n \"proton-Banner__title\",\n `proton-Banner--${variant}__title`\n )}\n data-testid={dataTestId}\n >\n {children}\n </h3>\n );\n};\n\nBannerTitle.displayName = \"Banner.Title\";\n\nconst BannerContent = ({\n children,\n \"data-testid\": dataTestId,\n}: {\n children: ReactNode;\n \"data-testid\"?: string;\n}) => {\n const variant = useContext(BannerContext);\n if (!variant) throw new Error(\"BannerContent must be used within a Banner\");\n\n return (\n <p\n className={csx(\n \"proton-Banner__content\",\n `proton-Banner--${variant}__content`\n )}\n data-testid={dataTestId}\n >\n {children}\n </p>\n );\n};\n\nBannerContent.displayName = \"Banner.Content\";\n\nfunction getIconContent(icon: ReactNode, variant: BannerVariant) {\n if (isValidElement(icon)) return icon;\n if (icon) return BANNER_ICONS[variant];\n return null;\n}\n\nconst BannerIcon = ({ icon, \"data-testid\": dataTestId }: BannerIconProps) => {\n const variant = useContext(BannerContext);\n if (!variant) throw new Error(\"BannerIcon must be used within a Banner\");\n\n const iconContent = getIconContent(icon, variant);\n if (!iconContent) return null;\n\n return (\n <div\n aria-hidden=\"true\"\n data-testid={dataTestId}\n className={csx(\"proton-Banner__icon\", `proton-Banner--${variant}__icon`)}\n >\n {iconContent}\n </div>\n );\n};\n\nBannerIcon.displayName = \"Banner.Icon\";\n\nconst BannerAction = ({ children, ...buttonProps }: ButtonProps) => {\n return <Button {...buttonProps}>{children}</Button>;\n};\n\nBannerAction.displayName = \"Banner.Action\";\n\nconst BannerActions = ({ children }: { children: ReactNode }) => {\n return <div className=\"proton-Banner__actions\">{children}</div>;\n};\n\nBannerActions.displayName = \"Banner.Actions\";\n\n/**\n * Renders an h3 styled banner.\n */\nBanner.Title = BannerTitle;\n\n/**\n * Renders a p styled banner.\n */\nBanner.Content = BannerContent;\n\n/**\n * Renders an icon inline with the banner title.\n *\n * API:\n * - {@link BannerIconProps}\n */\nBanner.Icon = BannerIcon;\n\n/**\n * Renders a Proton Button.\n * - @prop buttonProps {@link ButtonProps}\n */\nBanner.Action = BannerAction;\n\n/**\n * Renders Proton Buttons in a responsive actions grid.\n */\nBanner.Actions = BannerActions;\n\nexport { Banner };\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 $884aeceb3d67f00f$export$37b65e5b5444d35c = new WeakMap();\n\n\nexport {$884aeceb3d67f00f$export$37b65e5b5444d35c as radioGroupData};\n//# sourceMappingURL=utils.module.js.map\n","import {useLayoutEffect as $6dfIe$useLayoutEffect, useEffectEvent as $6dfIe$useEffectEvent, 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 let dispatchBlur = (0, $6dfIe$useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\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 dispatchBlur(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 dispatchBlur\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","export 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","export 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 { _class_apply_descriptor_get } from \"./_class_apply_descriptor_get.js\";\nimport { _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nexport function _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","export 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 { _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nexport function _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","export 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 { _class_apply_descriptor_set } from \"./_class_apply_descriptor_set.js\";\nimport { _class_extract_field_descriptor } from \"./_class_extract_field_descriptor.js\";\n\nexport function _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, nodeContains as $7mdmh$nodeContains, getEventTarget as $7mdmh$getEventTarget, getOwnerDocument as $7mdmh$getOwnerDocument, chain as $7mdmh$chain, isMac as $7mdmh$isMac, openLink as $7mdmh$openLink, isVirtualClick as $7mdmh$isVirtualClick, isVirtualPointerEvent as $7mdmh$isVirtualPointerEvent, focusWithoutScrolling as $7mdmh$focusWithoutScrolling, getOwnerWindow as $7mdmh$getOwnerWindow} 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, 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 } = (0, $7mdmh$useGlobalListeners)();\n let triggerPressStart = (0, $7mdmh$useEffectEvent)((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 let triggerPressEnd = (0, $7mdmh$useEffectEvent)((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 let triggerPressUp = (0, $7mdmh$useEffectEvent)((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 let cancel = (0, $7mdmh$useEffectEvent)((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 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 let cancelOnPointerExit = (0, $7mdmh$useEffectEvent)((e)=>{\n if (shouldCancelOnPointerExit) cancel(e);\n });\n let triggerClick = (0, $7mdmh$useEffectEvent)((e)=>{\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n });\n let triggerSyntheticClick = (0, $7mdmh$useEffectEvent)((e, target)=>{\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 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 state.pointerType = 'keyboard';\n shouldStopPropagation = triggerPressStart(e, 'keyboard');\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 = e.currentTarget;\n let pressUp = (e)=>{\n if ($f6c31cce2adf654f$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && (0, $7mdmh$nodeContains)(originalTarget, (0, $7mdmh$getEventTarget)(e)) && state.target) triggerPressUp($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard');\n };\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'keyup', (0, $7mdmh$chain)(pressUp, onKeyUp), true);\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 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 triggerPressEnd($f6c31cce2adf654f$var$createEvent(state.target, e), 'keyboard', wasPressed);\n if (wasPressed) triggerSyntheticClick(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 (_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 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 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 addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'pointerup', onPointerUp, false);\n addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'pointercancel', onPointerCancel, false);\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 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) cancel(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 cancel(e);\n // Ignore subsequent onPointerLeave event before onClick on touch devices.\n state.isOverTarget = false;\n }\n };\n let onPointerCancel = (e)=>{\n cancel(e);\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 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 addGlobalListener((0, $7mdmh$getOwnerDocument)(e.currentTarget), 'mouseup', onMouseUp, false);\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 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 cancel(e);\n state.isOverTarget = false;\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 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 addGlobalListener((0, $7mdmh$getOwnerWindow)(e.currentTarget), 'scroll', onScroll, true);\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 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 let onScroll = (e)=>{\n if (state.isPressed && (0, $7mdmh$nodeContains)((0, $7mdmh$getEventTarget)(e), state.target)) cancel({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\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 addGlobalListener,\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 $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 {ignoreFocusEvent as $8a9cb279dc87e130$export$fda7da73ab5d4c48} from \"./utils.mjs\";\nimport {isMac as $28AnR$isMac, 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$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 ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\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$isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = '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$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$triggerChangeHandlers(modality, null);\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$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 const activeElement = (0, $k50bp$getActiveElement)(ownerDocument);\n if ((0, $507fabe10e71c6fb$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = activeElement;\n (0, $k50bp$runAfterTransition)(()=>{\n // If focus did not move and the element is still in the document, focus it.\n if ((0, $k50bp$getActiveElement)(ownerDocument) === lastFocusedElement && 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 {useEffectEvent as $ispOf$useEffectEvent, getOwnerDocument as $ispOf$getOwnerDocument} from \"@react-aria/utils\";\nimport {useRef as $ispOf$useRef, useEffect as $ispOf$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\nfunction $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {\n let { ref: ref, onInteractOutside: onInteractOutside, isDisabled: isDisabled, onInteractOutsideStart: onInteractOutsideStart } = props;\n let stateRef = (0, $ispOf$useRef)({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false\n });\n let onPointerDown = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n if (onInteractOutsideStart) onInteractOutsideStart(e);\n stateRef.current.isPointerDown = true;\n }\n });\n let triggerInteractOutside = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside) onInteractOutside(e);\n });\n (0, $ispOf$useEffect)(()=>{\n let state = stateRef.current;\n if (isDisabled) return;\n const element = ref.current;\n const documentObject = (0, $ispOf$getOwnerDocument)(element);\n // Use pointer events if available. Otherwise, fall back to mouse and touch events.\n if (typeof PointerEvent !== 'undefined') {\n let onClick = (e)=>{\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n // changing these to capture phase fixed combobox\n // Use click instead of pointerup to avoid Android Chrome issue\n // https://issues.chromium.org/issues/40732224\n documentObject.addEventListener('pointerdown', onPointerDown, true);\n documentObject.addEventListener('click', onClick, true);\n return ()=>{\n documentObject.removeEventListener('pointerdown', onPointerDown, true);\n documentObject.removeEventListener('click', onClick, true);\n };\n } else if (process.env.NODE_ENV === 'test') {\n let onMouseUp = (e)=>{\n if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false;\n else if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n let onTouchEnd = (e)=>{\n state.ignoreEmulatedMouseEvents = true;\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n documentObject.addEventListener('mousedown', onPointerDown, true);\n documentObject.addEventListener('mouseup', onMouseUp, true);\n documentObject.addEventListener('touchstart', onPointerDown, true);\n documentObject.addEventListener('touchend', onTouchEnd, true);\n return ()=>{\n documentObject.removeEventListener('mousedown', onPointerDown, true);\n documentObject.removeEventListener('mouseup', onMouseUp, true);\n documentObject.removeEventListener('touchstart', onPointerDown, true);\n documentObject.removeEventListener('touchend', onTouchEnd, true);\n };\n }\n }, [\n ref,\n isDisabled,\n onPointerDown,\n triggerInteractOutside\n ]);\n}\nfunction $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {\n if (event.button > 0) return false;\n if (event.target) {\n // if the event target is no longer in the document, ignore\n const ownerDocument = event.target.ownerDocument;\n if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;\n // If the target is within a top layer element (e.g. toasts), ignore.\n if (event.target.closest('[data-react-aria-top-layer]')) return false;\n }\n if (!ref.current) return false;\n // When the event source is inside a Shadow DOM, event.target is just the shadow root.\n // Using event.composedPath instead means we can get the actual element inside the shadow root.\n // This only works if the shadow root is open, there is no way to detect if it is closed.\n // If the event composed path contains the ref, interaction is inside.\n return !event.composedPath().includes(ref.current);\n}\n\n\nexport {$e0b6e0b68ec7f50f$export$872b660ac5a1ff98 as useInteractOutside};\n//# sourceMappingURL=useInteractOutside.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 onInvalid,\n onChange,\n onReset,\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","import {radioGroupData as $884aeceb3d67f00f$export$37b65e5b5444d35c} from \"./utils.mjs\";\nimport {mergeProps as $5jJ3f$mergeProps, filterDOMProps as $5jJ3f$filterDOMProps, useFormReset as $5jJ3f$useFormReset} from \"@react-aria/utils\";\nimport {usePress as $5jJ3f$usePress, useFocusable as $5jJ3f$useFocusable} from \"@react-aria/interactions\";\nimport {useFormValidation as $5jJ3f$useFormValidation} from \"@react-aria/form\";\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 $0d5c49892c1215da$export$37b0961d2f4751e2(props, state, ref) {\n let { value: value, children: children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressChange: onPressChange, onPress: onPress, onPressUp: onPressUp, onClick: onClick } = props;\n const isDisabled = props.isDisabled || state.isDisabled;\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 let checked = state.selectedValue === value;\n let onChange = (e)=>{\n e.stopPropagation();\n state.setSelectedValue(value);\n };\n // Handle press state for keyboard interactions and cases where labelProps is not used.\n let { pressProps: pressProps, isPressed: isPressed } = (0, $5jJ3f$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, $5jJ3f$usePress)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled,\n onPress (e) {\n var _ref_current;\n onPress === null || onPress === void 0 ? void 0 : onPress(e);\n state.setSelectedValue(value);\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n }\n });\n let { focusableProps: focusableProps } = (0, $5jJ3f$useFocusable)((0, $5jJ3f$mergeProps)(props, {\n onFocus: ()=>state.setLastFocusedValue(value)\n }), ref);\n let interactions = (0, $5jJ3f$mergeProps)(pressProps, focusableProps);\n let domProps = (0, $5jJ3f$filterDOMProps)(props, {\n labelable: true\n });\n let tabIndex = -1;\n if (state.selectedValue != null) {\n if (state.selectedValue === value) tabIndex = 0;\n } else if (state.lastFocusedValue === value || state.lastFocusedValue == null) tabIndex = 0;\n if (isDisabled) tabIndex = undefined;\n let { name: name, form: form, descriptionId: descriptionId, errorMessageId: errorMessageId, validationBehavior: validationBehavior } = (0, $884aeceb3d67f00f$export$37b65e5b5444d35c).get(state);\n (0, $5jJ3f$useFormReset)(ref, state.defaultSelectedValue, state.setSelectedValue);\n (0, $5jJ3f$useFormValidation)({\n validationBehavior: validationBehavior\n }, state, ref);\n return {\n labelProps: (0, $5jJ3f$mergeProps)(labelProps, {\n onClick: (e)=>e.preventDefault()\n }),\n inputProps: (0, $5jJ3f$mergeProps)(domProps, {\n ...interactions,\n type: 'radio',\n name: name,\n form: form,\n tabIndex: tabIndex,\n disabled: isDisabled,\n required: state.isRequired && validationBehavior === 'native',\n checked: checked,\n value: value,\n onChange: onChange,\n 'aria-describedby': [\n props['aria-describedby'],\n state.isInvalid ? errorMessageId : null,\n descriptionId\n ].filter(Boolean).join(' ') || undefined\n }),\n isDisabled: isDisabled,\n isSelected: checked,\n isPressed: isPressed || isLabelPressed\n };\n}\n\n\nexport {$0d5c49892c1215da$export$37b0961d2f4751e2 as useRadio};\n//# sourceMappingURL=useRadio.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 {useId as $83Elw$useId, useLabels as $83Elw$useLabels} 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 $d191a55c9702f145$export$8467354a121f1b9f(props) {\n let { id: id, label: label, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, labelElementType: labelElementType = 'label' } = props;\n id = (0, $83Elw$useId)(id);\n let labelId = (0, $83Elw$useId)();\n let labelProps = {};\n if (label) {\n ariaLabelledby = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;\n labelProps = {\n id: labelId,\n htmlFor: labelElementType === 'label' ? id : undefined\n };\n } else if (!ariaLabelledby && !ariaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility');\n let fieldProps = (0, $83Elw$useLabels)({\n id: id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps\n };\n}\n\n\nexport {$d191a55c9702f145$export$8467354a121f1b9f as useLabel};\n//# sourceMappingURL=useLabel.module.js.map\n","import {useLabel as $d191a55c9702f145$export$8467354a121f1b9f} from \"./useLabel.mjs\";\nimport {useSlotId as $2kC82$useSlotId, mergeProps as $2kC82$mergeProps} from \"@react-aria/utils\";\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 $2baaea4c71418dea$export$294aa081a6c6f55d(props) {\n let { description: description, errorMessage: errorMessage, isInvalid: isInvalid, validationState: validationState } = props;\n let { labelProps: labelProps, fieldProps: fieldProps } = (0, $d191a55c9702f145$export$8467354a121f1b9f)(props);\n let descriptionId = (0, $2kC82$useSlotId)([\n Boolean(description),\n Boolean(errorMessage),\n isInvalid,\n validationState\n ]);\n let errorMessageId = (0, $2kC82$useSlotId)([\n Boolean(description),\n Boolean(errorMessage),\n isInvalid,\n validationState\n ]);\n fieldProps = (0, $2kC82$mergeProps)(fieldProps, {\n 'aria-describedby': [\n descriptionId,\n // Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268\n errorMessageId,\n props['aria-describedby']\n ].filter(Boolean).join(' ') || undefined\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps,\n descriptionProps: {\n id: descriptionId\n },\n errorMessageProps: {\n id: errorMessageId\n }\n };\n}\n\n\nexport {$2baaea4c71418dea$export$294aa081a6c6f55d as useField};\n//# sourceMappingURL=useField.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) return {\n locale: 'en-US',\n direction: 'ltr'\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);\nfunction $18f2051aff69b9bf$export$a54013f0d02a8f82(props) {\n let { locale: locale, children: children } = props;\n let defaultLocale = (0, $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();\n let value = (0, $h9FiU$react).useMemo(()=>{\n if (!locale) return defaultLocale;\n return {\n locale: locale,\n direction: (0, $148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? 'rtl' : 'ltr'\n };\n }, [\n defaultLocale,\n locale\n ]);\n return /*#__PURE__*/ (0, $h9FiU$react).createElement($18f2051aff69b9bf$var$I18nContext.Provider, {\n value: value\n }, children);\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","import {radioGroupData as $884aeceb3d67f00f$export$37b65e5b5444d35c} from \"./utils.mjs\";\nimport {filterDOMProps as $czmJy$filterDOMProps, getOwnerWindow as $czmJy$getOwnerWindow, useId as $czmJy$useId, mergeProps as $czmJy$mergeProps} from \"@react-aria/utils\";\nimport {getFocusableTreeWalker as $czmJy$getFocusableTreeWalker} from \"@react-aria/focus\";\nimport {useField as $czmJy$useField} from \"@react-aria/label\";\nimport {useFocusWithin as $czmJy$useFocusWithin} from \"@react-aria/interactions\";\nimport {useLocale as $czmJy$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\nfunction $430f30ed08ec25fa$export$62b9571f283ff5c2(props, state) {\n let { name: name, form: form, isReadOnly: isReadOnly, isRequired: isRequired, isDisabled: isDisabled, orientation: orientation = 'vertical', validationBehavior: validationBehavior = 'aria' } = props;\n let { direction: direction } = (0, $czmJy$useLocale)();\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = state.displayValidation;\n let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $czmJy$useField)({\n ...props,\n // Radio group is not an HTML input element so it\n // shouldn't be labeled by a <label> element.\n labelElementType: 'span',\n isInvalid: state.isInvalid,\n errorMessage: props.errorMessage || validationErrors\n });\n let domProps = (0, $czmJy$filterDOMProps)(props, {\n labelable: true\n });\n // When the radio group loses focus, reset the focusable radio to null if\n // there is no selection. This allows tabbing into the group from either\n // direction to go to the first or last radio.\n let { focusWithinProps: focusWithinProps } = (0, $czmJy$useFocusWithin)({\n onBlurWithin (e) {\n var _props_onBlur;\n (_props_onBlur = props.onBlur) === null || _props_onBlur === void 0 ? void 0 : _props_onBlur.call(props, e);\n if (!state.selectedValue) state.setLastFocusedValue(null);\n },\n onFocusWithin: props.onFocus,\n onFocusWithinChange: props.onFocusChange\n });\n let onKeyDown = (e)=>{\n let nextDir;\n switch(e.key){\n case 'ArrowRight':\n if (direction === 'rtl' && orientation !== 'vertical') nextDir = 'prev';\n else nextDir = 'next';\n break;\n case 'ArrowLeft':\n if (direction === 'rtl' && orientation !== 'vertical') nextDir = 'next';\n else nextDir = 'prev';\n break;\n case 'ArrowDown':\n nextDir = 'next';\n break;\n case 'ArrowUp':\n nextDir = 'prev';\n break;\n default:\n return;\n }\n e.preventDefault();\n let walker = (0, $czmJy$getFocusableTreeWalker)(e.currentTarget, {\n from: e.target,\n accept: (node)=>node instanceof (0, $czmJy$getOwnerWindow)(node).HTMLInputElement && node.type === 'radio'\n });\n let nextElem;\n if (nextDir === 'next') {\n nextElem = walker.nextNode();\n if (!nextElem) {\n walker.currentNode = e.currentTarget;\n nextElem = walker.firstChild();\n }\n } else {\n nextElem = walker.previousNode();\n if (!nextElem) {\n walker.currentNode = e.currentTarget;\n nextElem = walker.lastChild();\n }\n }\n if (nextElem) {\n // Call focus on nextElem so that keyboard navigation scrolls the radio into view\n nextElem.focus();\n state.setSelectedValue(nextElem.value);\n }\n };\n let groupName = (0, $czmJy$useId)(name);\n (0, $884aeceb3d67f00f$export$37b65e5b5444d35c).set(state, {\n name: groupName,\n form: form,\n descriptionId: descriptionProps.id,\n errorMessageId: errorMessageProps.id,\n validationBehavior: validationBehavior\n });\n return {\n radioGroupProps: (0, $czmJy$mergeProps)(domProps, {\n // https://www.w3.org/TR/wai-aria-1.2/#radiogroup\n role: 'radiogroup',\n onKeyDown: onKeyDown,\n 'aria-invalid': state.isInvalid || undefined,\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-readonly': isReadOnly || undefined,\n 'aria-required': isRequired || undefined,\n 'aria-disabled': isDisabled || undefined,\n 'aria-orientation': orientation,\n ...fieldProps,\n ...focusWithinProps\n }),\n labelProps: labelProps,\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$430f30ed08ec25fa$export$62b9571f283ff5c2 as useRadioGroup};\n//# sourceMappingURL=useRadioGroup.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 {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 {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, 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 */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\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 let currentValue = isControlled ? value : stateValue;\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that\n // calling setState multiple times with the same value only emits onChange once.\n // We do not use a ref for this because we specifically _do_ want the value to\n // reset every render, and assigning to a ref in render breaks aborted suspended renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n currentValue = value;\n };\n if (typeof value === 'function') {\n if (process.env.NODE_ENV !== 'production') console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n currentValue,\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 {useFormValidationState as $l55kx$useFormValidationState} from \"@react-stately/form\";\nimport {useControlledState as $l55kx$useControlledState} from \"@react-stately/utils\";\nimport {useMemo as $l55kx$useMemo, useState as $l55kx$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\n\nlet $a54cdc5c1942b639$var$instance = Math.round(Math.random() * 10000000000);\nlet $a54cdc5c1942b639$var$i = 0;\nfunction $a54cdc5c1942b639$export$bca9d026f8e704eb(props) {\n // Preserved here for backward compatibility. React Aria now generates the name instead of stately.\n let name = (0, $l55kx$useMemo)(()=>props.name || `radio-group-${$a54cdc5c1942b639$var$instance}-${++$a54cdc5c1942b639$var$i}`, [\n props.name\n ]);\n var _props_defaultValue;\n let [selectedValue, setSelected] = (0, $l55kx$useControlledState)(props.value, (_props_defaultValue = props.defaultValue) !== null && _props_defaultValue !== void 0 ? _props_defaultValue : null, props.onChange);\n let [initialValue] = (0, $l55kx$useState)(selectedValue);\n let [lastFocusedValue, setLastFocusedValue] = (0, $l55kx$useState)(null);\n let validation = (0, $l55kx$useFormValidationState)({\n ...props,\n value: selectedValue\n });\n let setSelectedValue = (value)=>{\n if (!props.isReadOnly && !props.isDisabled) {\n setSelected(value);\n validation.commitValidation();\n }\n };\n let isInvalid = validation.displayValidation.isInvalid;\n var _props_defaultValue1;\n return {\n ...validation,\n name: name,\n selectedValue: selectedValue,\n defaultSelectedValue: props.value !== undefined ? initialValue : (_props_defaultValue1 = props.defaultValue) !== null && _props_defaultValue1 !== void 0 ? _props_defaultValue1 : null,\n setSelectedValue: setSelectedValue,\n lastFocusedValue: lastFocusedValue,\n setLastFocusedValue: setLastFocusedValue,\n isDisabled: props.isDisabled || false,\n isReadOnly: props.isReadOnly || false,\n isRequired: props.isRequired || false,\n validationState: props.validationState || (isInvalid ? 'invalid' : null),\n isInvalid: isInvalid\n };\n}\n\n\nexport {$a54cdc5c1942b639$export$bca9d026f8e704eb as useRadioGroupState};\n//# sourceMappingURL=useRadioGroupState.module.js.map\n","\"use client\";\n\nimport { createContext, useContext, useRef } from \"react\";\nimport { useRadio, useRadioGroup } from \"@react-aria/radio\";\nimport { VisuallyHidden } from \"@react-aria/visually-hidden\";\nimport { useRadioGroupState } from \"@react-stately/radio\";\nimport { csx } from \"../../utils\";\n\nimport \"./ButtonGroup.css\";\n\nexport interface ButtonGroupProps {\n /**\n * The value of the currently selected option in the ButtonGroup. Providing\n * this prop causes the component to become controlled.\n */\n value?: string;\n\n /**\n * The initially selected value of the ButtonGroup.\n */\n defaultValue?: string;\n\n /**\n * Called when the ButtonGroup's selected value changes.\n */\n onChange?: (value: string) => void;\n\n /**\n * The ButtonGroup.Option elements to be rendered as the selectable values.\n */\n children?: React.ReactNode;\n}\n\nlet ButtonGroupContext = createContext(null);\n\n/**\n * A radio button group component that allows selection of a single option from multiple choices.\n *\n * API:\n * - {@link ButtonGroupProps}\n */\nexport function ButtonGroup(props: ButtonGroupProps) {\n let sanitizedProps = {\n ...props,\n \"data-testid\": undefined,\n };\n\n let state = useRadioGroupState(sanitizedProps);\n let { radioGroupProps } = useRadioGroup(sanitizedProps, state);\n\n return (\n <div\n {...radioGroupProps}\n className=\"proton-ButtonGroup\"\n data-value={state.selectedValue}\n data-testid={props[\"data-testid\"] || undefined}\n >\n <ButtonGroupContext.Provider value={state}>\n {props.children}\n </ButtonGroupContext.Provider>\n </div>\n );\n}\n\nButtonGroup.displayName = \"ProtonUIButtonGroup\";\n\nexport interface ButtonGroupOptionProps {\n /**\n * The value of this option. When this option is selected, this value will\n * become the ButtonGroup's new `selectedValue`.\n */\n value: string;\n\n /**\n * The text or component to be rendered as this option's content.\n */\n children: React.ReactNode;\n}\n\nButtonGroup.Option = function ButtonGroupOption(props: ButtonGroupOptionProps) {\n let sanitizedProps = {\n ...props,\n \"data-testid\": undefined,\n };\n\n let state = useContext(ButtonGroupContext);\n let ref = useRef(null);\n let { inputProps, isSelected } = useRadio(sanitizedProps, state, ref);\n\n return (\n <label\n className={csx(\n \"proton-ButtonGroup__option\",\n isSelected && \"proton-ButtonGroup__option--selected\"\n )}\n data-selected={isSelected || undefined}\n data-testid={props[\"data-testid\"] || undefined}\n >\n <VisuallyHidden>\n <input {...inputProps} ref={ref} />\n </VisuallyHidden>\n {props.children}\n </label>\n );\n};\n","import { DropdownMenu as RadixDropdownMenu } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\n\nexport interface PopoverMenuProps {\n /** The trigger component */\n trigger: React.ReactNode;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is open */\n isOpen: boolean;\n\n /** Callback when the menu is opened or closed */\n onOpenChange: (open: boolean) => void;\n\n /** The key of the selected item */\n selectedKey: string;\n\n /** Callback when the selection changes */\n onSelectionChange: (key: string) => void;\n\n /** The keys of the disabled items */\n disabledKeys: string[];\n\n /** The title of the menu */\n title: string;\n}\n\n/**\n * A component that displays a popover menu.\n *\n * API:\n * - {@link PopoverMenuProps}\n */\nexport function PopoverMenu({\n trigger,\n items,\n isOpen,\n onOpenChange,\n selectedKey,\n onSelectionChange,\n disabledKeys,\n title,\n}: PopoverMenuProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n function renderMenuItem(props) {\n const { item, className, style, disabledKeys, onClose } = props;\n\n if (item.children && item.children.length > 0) {\n return (\n <RadixDropdownMenu.Sub key={item.key}>\n <RadixDropdownMenu.SubTrigger\n className={csx(\n \"proton-Menu__item\",\n \"proton-MenuTrigger__menu-item\"\n )}\n >\n {item.label}\n <svg\n className=\"proton-MenuTrigger__chevron\"\n viewBox=\"0 0 256 256\"\n width={16}\n height={12}\n >\n <path\n fill=\"currentColor\"\n d=\"m184.49 136.49l-80 80a12 12 0 0 1-17-17L159 128L87.51 56.49a12 12 0 1 1 17-17l80 80a12 12 0 0 1-.02 17\"\n />\n </svg>\n </RadixDropdownMenu.SubTrigger>\n\n <RadixDropdownMenu.SubContent\n sideOffset={8}\n data-has-submenu=\"true\"\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\")}\n >\n {item.children.map((child) =>\n renderMenuItem({\n item: child,\n className,\n style,\n disabledKeys,\n onClose,\n })\n )}\n </RadixDropdownMenu.SubContent>\n </RadixDropdownMenu.Sub>\n );\n } else {\n return (\n <RadixDropdownMenu.Item\n className={csx(\"proton-Menu__item\", \"proton-MenuTrigger__menu-item\")}\n key={item.key}\n aria-selected={selectedKey === item.key}\n disabled={disabledKeys?.includes(item.key)}\n onSelect={() => {\n item.onAction?.(item.key);\n onSelectionChange?.(item.key);\n onClose?.();\n }}\n >\n <span\n className=\"proton-MenuTrigger__label\"\n style={{ gridArea: \"label\" }}\n >\n {item.label}\n </span>\n {item.description && (\n <span\n className=\"proton-MenuTrigger__description\"\n style={{ gridArea: \"desc\" }}\n >\n {item.description}\n </span>\n )}\n </RadixDropdownMenu.Item>\n );\n }\n }\n\n return (\n <RadixDropdownMenu.Root open={isOpen} onOpenChange={onOpenChange}>\n <RadixDropdownMenu.Trigger asChild>{trigger}</RadixDropdownMenu.Trigger>\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\", themeClass)}\n style={themeStyle as React.CSSProperties}\n >\n {title && (\n <RadixDropdownMenu.Label className=\"proton-MenuTrigger__menu-header\">\n {title}\n </RadixDropdownMenu.Label>\n )}\n {items.map((item) =>\n renderMenuItem({\n item,\n className: themeClass,\n style: themeStyle as React.CSSProperties,\n disabledKeys,\n onClose: () => onOpenChange?.(false),\n })\n )}\n </RadixDropdownMenu.Content>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Root>\n );\n}\n","\"use client\";\n\nimport { ReactNode, useMemo, useRef, useState } from \"react\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { PopoverMenu } from \"./PopoverMenu\";\n\nimport \"./MenuTrigger.css\";\nimport \"./Menu.css\";\n\nexport interface MenuTriggerProps {\n disabled?: boolean;\n isOpen?: boolean;\n setIsOpen: (isOpen: boolean) => void;\n}\n\nexport interface MenuProps {\n /** Custom trigger component. If not provided, defaults to ellipsis icon.\n * - @prop triggerProps {@link TriggerProps}\n */\n renderTrigger?: (triggerProps: MenuTriggerProps) => ReactNode;\n\n /** Size of the trigger icon\n * @default 24\n */\n size?: number;\n\n /** Title of the parent menu */\n title?: string;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is disabled\n * @default false\n */\n disabled?: boolean;\n\n /** Callback when the menu closes */\n onClose?: () => void;\n\n /** Test ID for the trigger button */\n triggerTestId?: string;\n\n /** Test ID for the menu */\n menuTestId?: string;\n\n /** Callback when the selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n}\n\n/**\n * An uncontrolled component that displays either a popover menu or an action menu\n * depending on the screen size when the menu trigger is pressed.\n *\n * API:\n * - {@link MenuProps}\n */\nexport function MenuTrigger({\n renderTrigger,\n size = 24,\n title,\n items,\n disabled,\n onClose,\n triggerTestId = \"MenuTrigger-Trigger\",\n menuTestId,\n onSelectionChange,\n selectedKey,\n disabledKeys,\n}: MenuProps) {\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const menuItems = useMemo(\n () => items.map((item) => ({ ...item, id: item.key })),\n [items]\n );\n\n const handleSelectionChange = (key: string) => {\n onSelectionChange?.(key);\n setIsOpen(false);\n };\n\n const triggerButton = renderTrigger ? (\n renderTrigger({\n isOpen,\n disabled,\n setIsOpen,\n })\n ) : (\n <button\n data-testid={triggerTestId}\n disabled={disabled}\n className=\"proton-MenuTrigger__button\"\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n <EllipsisIcon size={size} />\n </button>\n );\n\n if (isMobile) {\n return (\n <>\n {triggerButton}\n {isOpen && (\n <ActionMenu\n actions={menuItems}\n title={title}\n isOpen={isOpen}\n onClose={() => {\n setIsOpen(false);\n onClose?.();\n }}\n showCancel\n data-testid={menuTestId}\n selectionMode=\"single\"\n onSelectionChange={(keys) => {\n const nextKey = Array.from(keys)[0];\n if (nextKey) handleSelectionChange(nextKey as string);\n }}\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n disabledKeys={disabledKeys}\n />\n )}\n </>\n );\n }\n\n return (\n <PopoverMenu\n trigger={triggerButton}\n items={menuItems}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n selectedKey={selectedKey}\n onSelectionChange={handleSelectionChange}\n disabledKeys={disabledKeys}\n title={title}\n />\n );\n}\n\nconst EllipsisIcon = ({ size }: { size: number }) => (\n <svg viewBox=\"0 0 24 24\" width={size} height={size}>\n <path\n fill=\"currentColor\"\n d=\"M4 14c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n />\n </svg>\n);\n","import React from \"react\";\nimport { Button, type ButtonProps } from \"../Button/Button\";\nimport { Icon } from \"../Icon/Icon\";\nimport { MenuTrigger } from \"../Menu/MenuTrigger\";\nimport type { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\n\nimport \"./ButtonWithSelect.css\";\n\nconst FIXED_TRIGGER_WIDTH = 44;\n\ninterface ButtonWithSelectProps extends ButtonProps {\n /**\n * The default value of the select menu.\n */\n defaultValue?: string;\n /**\n * The keys of the disabled items.\n */\n disabledKeys?: string[];\n /**\n * The items to display in the select menu.\n * - type {@link ActionMenuAction}\n */\n items: ActionMenuAction[];\n /**\n * The callback function to call when the selection changes.\n */\n onSelectionChange?: (key: string) => void;\n /**\n * The key of the selected item.\n */\n selectedKey?: string;\n}\n\n/**\n * A button with a select menu.\n *\n * API:\n * - {@link ButtonWithSelectProps}\n * - extends {@link ButtonProps}\n */\nexport function ButtonWithSelect({\n items,\n defaultValue,\n children,\n onSelectionChange,\n disabledKeys,\n selectedKey,\n icon,\n variant,\n fullWidth,\n onPress,\n ...buttonProps\n}: ButtonWithSelectProps) {\n const textShift = fullWidth ? FIXED_TRIGGER_WIDTH / 2 : 0;\n\n return (\n <div className=\"proton-ButtonWithSelect\">\n <div\n className=\"proton-ButtonWithSelect__button\"\n style={\n {\n \"--proton-button-text-shift\": `${textShift}px`,\n \"--flex\": fullWidth ? 1 : 0,\n } as React.CSSProperties\n }\n >\n <Button\n {...buttonProps}\n onPress={onPress}\n icon={icon}\n fullWidth={fullWidth}\n variant={variant}\n data-testid=\"ButtonWithSelect-Button\"\n >\n {children}\n </Button>\n </div>\n\n <MenuTrigger\n items={items}\n disabled={buttonProps.isDisabled}\n disabledKeys={disabledKeys}\n onSelectionChange={onSelectionChange}\n selectedKey={selectedKey}\n renderTrigger={({ isOpen, setIsOpen }) => {\n return (\n <TriggerButton\n {...buttonProps}\n variant={variant}\n onPress={() => setIsOpen(!isOpen)}\n />\n );\n }}\n />\n </div>\n );\n}\n\nButtonWithSelect.displayName = \"ProtonUIButtonWithSelect\";\n\nconst TriggerButton = React.forwardRef<\n HTMLButtonElement | HTMLAnchorElement,\n ButtonProps\n>((props, ref) => {\n return (\n <div\n className=\"proton-ButtonWithSelect__trigger\"\n style={\n {\n \"--trigger-width\": `${FIXED_TRIGGER_WIDTH}px`,\n } as React.CSSProperties\n }\n >\n <Button {...props} data-testid=\"ButtonWithSelect-Trigger\" ref={ref}>\n <div className=\"proton-ButtonWithSelect__trigger-content\">\n <Icon id=\"chevron-down\" size={16} />\n </div>\n </Button>\n </div>\n );\n});\n\nTriggerButton.displayName = \"ProtonUIButtonWithSelectTrigger\";\n","import { AriaAttributes, ReactElement, ReactNode } from \"react\";\n\n/*\n Compound reference components used to build the table collection.\n They are not rendered, but used to parse the table structure.\n*/\n\ntype TableColumnElement = ReactElement<TableColumnProps, typeof TableColumn>;\ntype TableRowElement = ReactElement<TableRowProps, typeof TableRow>;\ntype TableCellElement = ReactElement<TableCellProps, typeof TableCell>;\n\nexport interface TableHeaderProps {\n children: TableColumnElement | TableColumnElement[];\n isHidden?: boolean;\n}\n\nexport interface TableColumnProps {\n id: string;\n children: ReactNode;\n \"aria-sort\"?: AriaAttributes[\"aria-sort\"];\n}\n\nexport interface TableBodyProps {\n children: TableRowElement | TableRowElement[];\n}\n\nexport interface TableRowProps {\n key?: string | number;\n children: TableCellElement | TableCellElement[];\n onClick?: () => void;\n}\n\nexport interface TableCellProps {\n columnKey?: string;\n children?: ReactNode;\n colSpan?: number;\n}\n\n// Type-safe component definitions that enforce proper children\nexport const TableHeader = ({ ...props }: TableHeaderProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableColumn = ({ ...props }: TableColumnProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableBody = ({ ...props }: TableBodyProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableRow = ({ ...props }: TableRowProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableCell = ({ ...props }: TableCellProps) => {\n return null; // This is just a marker component for parsing\n};\n","import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ComponentType,\n} from \"react\";\n\nimport {\n TableHeader,\n TableColumn as TableColumnComp,\n TableBody,\n TableRow as TableRowComp,\n TableCell as TableCellComp,\n type TableHeaderProps,\n type TableColumnProps,\n type TableBodyProps,\n type TableRowProps,\n type TableCellProps,\n} from \"./CompoundComponents\";\nimport type {\n TableColumnData,\n TableData,\n TableRowData,\n TableCellData,\n} from \"../types\";\n\nfunction isComponentType(\n element: ReactElement,\n componentType: ComponentType<any>\n): boolean {\n return element.type === componentType;\n}\n\n/**\n * Parses JSX table structure into collection data format\n */\nexport function parseTableChildren(children: ReactNode): TableData {\n const columns: TableColumnData[] = [];\n const rows: TableRowData[] = [];\n\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n\n // Parse columns from header\n if (isComponentType(child, TableHeader)) {\n const headerProps = child.props as TableHeaderProps;\n\n Children.forEach(headerProps.children, (columnChild) => {\n if (\n isValidElement(columnChild) &&\n isComponentType(columnChild, TableColumnComp)\n ) {\n const columnProps = columnChild.props as TableColumnProps;\n columns.push({\n key: columnProps.id,\n header: columnProps.children,\n isHidden: headerProps.isHidden || false,\n ariaSort: columnProps[\"aria-sort\"],\n });\n }\n });\n }\n\n // Parse rows from body\n if (isComponentType(child, TableBody)) {\n const bodyProps = child.props as TableBodyProps;\n Children.forEach(bodyProps.children, (rowChild) => {\n if (\n isValidElement(rowChild) &&\n isComponentType(rowChild, TableRowComp)\n ) {\n const rowProps = rowChild.props as TableRowProps;\n const cells: TableCellData[] = [];\n\n let cellIndex = 0;\n Children.forEach(rowProps.children, (cellChild) => {\n if (\n isValidElement(cellChild) &&\n isComponentType(cellChild, TableCellComp)\n ) {\n const cellProps = cellChild.props as TableCellProps;\n\n // Map cell to column by index if no explicit columnKey\n const columnKey = cellProps.columnKey || columns[cellIndex]?.key;\n\n if (columnKey) {\n cells.push({\n columnKey,\n value: cellProps.children,\n colSpan: cellProps.colSpan,\n });\n }\n cellIndex++;\n }\n });\n\n rows.push({\n key:\n (rowChild.key as string) || rowProps.key || String(rows.length),\n cells,\n onClick: rowProps.onClick,\n });\n }\n });\n }\n });\n\n return { columns, rows };\n}\n","import { useMemo } from \"react\";\nimport type { TableData, TableRowData } from \"../types\";\n\n/**\n * Hook for managing table data structure and providing navigation methods\n */\nexport function useTableCollection(data: TableData) {\n const keyToIndexMap = useMemo(() => {\n const map = new Map<string | number, number>();\n data.rows.forEach((row, index) => {\n map.set(row.key, index);\n });\n return map;\n }, [data.rows]);\n\n const getItemByKey = useMemo(\n () =>\n (key: string | number): TableRowData | null => {\n const index = keyToIndexMap.get(key);\n if (index === undefined) return null;\n return data.rows[index];\n },\n [data.rows, keyToIndexMap]\n );\n\n const getItemAfter = useMemo(\n () =>\n (key: string | number): TableRowData | null => {\n const index = keyToIndexMap.get(key);\n if (index === undefined || index >= data.rows.length - 1) return null;\n return data.rows[index + 1];\n },\n [data.rows, keyToIndexMap]\n );\n\n const getItemBefore = useMemo(\n () =>\n (key: string | number): TableRowData | null => {\n const index = keyToIndexMap.get(key);\n if (index === undefined || index <= 0) return null;\n return data.rows[index - 1];\n },\n [data.rows, keyToIndexMap]\n );\n\n const getItemIndex = useMemo(\n () =>\n (key: string | number): number => {\n return keyToIndexMap.get(key) ?? -1;\n },\n [keyToIndexMap]\n );\n\n // Computed values\n const firstItem = useMemo(() => data.rows[0] || null, [data.rows]);\n const lastItem = useMemo(\n () => data.rows[data.rows.length - 1] || null,\n [data.rows]\n );\n const size = data.rows.length;\n\n // ARIA helpers\n const isHeaderHidden = data.columns[0]?.isHidden || false;\n const hasVisibleHeader = !isHeaderHidden;\n\n const getTotalRowCount = useMemo(() => {\n return size + (hasVisibleHeader ? 1 : 0);\n }, [size, hasVisibleHeader]);\n\n const getRowAriaIndex = useMemo(\n () => (rowIndex: number) => {\n return rowIndex + (hasVisibleHeader ? 2 : 1); // +2 if header exists and visible, +1 if not\n },\n [hasVisibleHeader]\n );\n\n return {\n // Data\n columns: data.columns,\n rows: data.rows,\n size,\n firstItem,\n lastItem,\n\n // ARIA helpers\n isHeaderHidden,\n hasVisibleHeader,\n getTotalRowCount,\n getRowAriaIndex,\n\n // Navigation functions\n getItemByKey,\n getItemAfter,\n getItemBefore,\n getItemIndex,\n };\n}\n\nexport type TableCollection = ReturnType<typeof useTableCollection>;\n","import { ReactElement, useMemo } from \"react\";\nimport { parseTableChildren } from \"./Collection/collectionParser\";\nimport {\n TableHeader,\n TableColumn,\n TableBody,\n TableRow,\n TableCell,\n TableHeaderProps,\n TableColumnProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n} from \"./Collection/CompoundComponents\";\nimport { useTableCollection } from \"./Collection/useTableCollection\";\nimport type {\n TableData,\n TableColumnData,\n TableRowData,\n TableCellData,\n} from \"./types\";\nimport \"./Table.css\";\n\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\n\nexport interface TableProps {\n children: [ReactElement<TableHeaderProps>, ReactElement<TableBodyProps>];\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\n name: string;\n}\n\nconst TableComponent = ({ children, name }: TableProps) => {\n const tableData: TableData = useMemo(\n () => parseTableChildren(children),\n [children]\n );\n const collection = useTableCollection(tableData);\n\n return (\n <table\n className=\"proton-Table\"\n role=\"table\"\n aria-rowcount={collection.getTotalRowCount}\n aria-colcount={collection.columns.length}\n aria-label={name}\n >\n <caption className=\"proton-Table__caption\">{name}</caption>\n\n {/* Header */}\n <thead\n className=\"proton-Table__rowGroup--header\"\n role=\"rowgroup\"\n style={collection.isHeaderHidden ? { display: \"none\" } : undefined}\n >\n <tr className=\"proton-Table__header-row\" role=\"row\" aria-rowindex={1}>\n {collection.columns.map((column, index) => (\n <th\n key={column.key}\n className=\"proton-Table__header\"\n role=\"columnheader\"\n scope=\"col\"\n aria-colindex={index + 1}\n aria-sort={column.ariaSort}\n >\n {column.header}\n </th>\n ))}\n </tr>\n </thead>\n\n {/* Body */}\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\n {collection.rows.map((row, rowIndex) => (\n <tr\n key={row.key}\n className=\"proton-Table__row\"\n role=\"row\"\n aria-rowindex={collection.getRowAriaIndex(rowIndex)}\n onClick={row?.onClick}\n tabIndex={row?.onClick ? 0 : undefined}\n onKeyDown={\n row?.onClick\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n // Enable keyboard navigation\n e.preventDefault();\n row.onClick?.();\n }\n }\n : undefined\n }\n >\n {collection.columns.map((column, colIndex) => {\n const cell = row.cells.find((c) => c.columnKey === column.key);\n return (\n <td\n key={column.key}\n className=\"proton-Table__cell\"\n role=\"cell\"\n aria-colindex={colIndex + 1}\n colSpan={cell?.colSpan}\n >\n {cell?.value || \"\"}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\n/**\n * Base Table component that renders data in rows and columns using collections.\n *\n * - Built-in keyboard navigation for interactive rows.\n * - Full ARIA table semantics with proper roles, labels, and indices.\n *\n * API:\n * - {@link TableProps}\n *\n * @example\n * ```tsx\n * <Table caption=\"Employee Directory\">\n * <Table.Header>\n * <Table.Column id=\"name\">Name</Table.Column>\n * </Table.Header>\n * <Table.Body>\n * <Table.Row key=\"1\">\n * <Table.Cell>Joe</Table.Cell>\n * </Table.Row>\n * </Table.Body>\n * </Table>\n * ```\n */\nconst Table = Object.assign(TableComponent, {\n /** Table header: {@link TableHeaderProps} */\n Header: TableHeader,\n /** Table column: {@link TableColumnProps} */\n Column: TableColumn,\n /** Table body: {@link TableBodyProps} */\n Body: TableBody,\n /** Table row: {@link TableRowProps} */\n Row: TableRow,\n /** Table cell: {@link TableCellProps} */\n Cell: TableCell,\n});\n\nexport { Table };\nexport type {\n TableHeaderProps,\n TableColumnProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n};\n","\"use client\";\n\nimport { ReactNode } from \"react\";\nimport { transparentize, mix } from \"color2k\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Elevation.css\";\n\nexport interface ElevationProps {\n /**\n * The content to be displayed within the elevation.\n */\n children?: ReactNode;\n /**\n * The data-testid attribute for testing purposes.\n */\n \"data-testid\"?: string;\n /**\n * Whether the elevation should have a background gradient.\n * @important only works in custom dark mode\n * @default false\n */\n hasPrimaryGradient?: boolean;\n}\n\n/**\n * Elevation component creates a visual elevation effect using the theme-aware background color.\n *\n * This component is designed to be used as a visual layer that sits on top of other content\n * to create a sense of depth or hierarchy in the UI. It uses the `--proton-control__background-color-light`\n * CSS variable which is theme-aware and will adapt to light, dark themes.\n *\n * API:\n * - {@link ElevationProps}\n */\nexport const Elevation = ({\n children,\n hasPrimaryGradient = false,\n \"data-testid\": dataTestId,\n}: ElevationProps) => {\n const { hasPalette, palette, style } = useTheme();\n\n const defaultBg = style[\"--proton-control__background-color-light\"];\n let primaryDark = defaultBg;\n let secondaryDark = transparentize(defaultBg, 0.01);\n\n if (hasPalette) {\n primaryDark = transparentize(defaultBg, 0.1);\n secondaryDark = transparentize(defaultBg, 0.12);\n if (hasPrimaryGradient) {\n const basePrimary = transparentize(palette.PRIMARY.MEDIUM_LIGHT, 0.88);\n const baseSecondary = transparentize(palette.PRIMARY.LIGHT, 0.84);\n primaryDark = mix(primaryDark, basePrimary, 0.15);\n secondaryDark = mix(secondaryDark, baseSecondary, 0.15);\n }\n }\n\n return (\n <div\n className=\"proton-Elevation\"\n data-testid={dataTestId}\n role=\"presentation\"\n aria-label=\"Elevated content area\"\n style={{\n background: `linear-gradient(to top left, ${primaryDark}, ${secondaryDark})`,\n }}\n >\n {children}\n </div>\n );\n};\n","\"use client\";\n\nimport \"./Tombstone.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx, transparentize } from \"../../utils\";\n\nexport interface TombstoneProps {\n /**\n * The border radius of the tombstone.\n * @default \"4px\"\n */\n borderRadius?: string;\n /**\n * The height of the tombstone.\n * @default \"1.5rem\"\n */\n height?: string;\n /**\n * The width of the tombstone.\n * @default \"100%\"\n */\n width?: string;\n}\n\n/**\n * A component that displays a loading tombstone. For use as a placeholder while loading content.\n *\n * API:\n * - {@link TombstoneProps}\n */\nexport const Tombstone = ({\n width = \"100%\",\n height = \"1.5rem\",\n borderRadius = \"4px\",\n}: TombstoneProps) => {\n const { hasPalette, palette } = useTheme();\n\n const style = {\n \"--tombstone-custom-background\": palette.PRIMARY.MEDIUM,\n \"--tombstone-custom-primary\": transparentize(palette.PRIMARY.DARK, 0.9),\n \"--tombstone-custom-secondary\": transparentize(palette.SECONDARY.DARK, 0.7),\n } as React.CSSProperties;\n\n return (\n <div\n className={csx(\n \"proton-Tombstone\",\n hasPalette && \"proton-Tombstone--custom\"\n )}\n style={{\n ...style,\n width,\n height,\n borderRadius,\n }}\n />\n );\n};\n","\"use client\";\n\nimport { AriaAttributes, ReactNode, useMemo } from \"react\";\nimport { Table } from \"../Table/Table\";\nimport { Elevation } from \"../Elevation/Elevation\";\nimport { Tombstone } from \"../Tombstone/Tombstone\";\nimport { Icon } from \"../Icon/Icon\";\nimport \"./DataTable.css\";\n\nexport type SortDirection = \"ASC\" | \"DESC\";\n\ntype SortingConfig<T> =\n | {\n /** When sorting is enabled, all these props must be provided together. */\n sortableColumns: string[];\n sortedBy: string;\n sortDirection: SortDirection;\n onSort: (columnId: string, direction: SortDirection) => void;\n }\n | {\n /** When no sorting is needed, none of these props should be provided */\n sortableColumns?: never;\n sortedBy?: never;\n sortDirection?: never;\n onSort?: never;\n };\n\nexport interface DataTableColumn<T> {\n /** id for the column */\n id: string;\n /** Header text or component */\n header: ReactNode;\n /** Function to render cell content from row data */\n cell: (row: T) => ReactNode;\n /** Whether this column should be hidden */\n hidden?: boolean;\n}\n\ninterface BaseDataTableProps<T = any> {\n /** Array of column definitions\n * - {@link DataTableColumn}\n */\n columns: DataTableColumn<T>[];\n /** Array of data objects to display. Can be empty array for loading/empty states */\n data?: T[] | null;\n /** Loading state */\n loading?: boolean;\n /** Tombstone component to use when loading */\n tombstoneComponent?: ReactNode;\n /** Error state */\n error?: boolean | string;\n /** Table name/caption for accessibility. This provides essential context for screen readers. */\n name: string;\n /** Callback when a row is clicked */\n onRowClick?: (row: T) => void;\n /** Custom empty state message */\n emptyMessage?: string;\n /** Custom error message */\n errorMessage?: string;\n /** Number of skeleton rows to show in loading state */\n loadingRows?: number;\n /** Test ID for testing purposes */\n \"data-testid\"?: string;\n}\n\nexport type DataTableProps<T = any> = BaseDataTableProps<T> & SortingConfig<T>;\n\n/**\n * DataTable is a declarative wrapper around the base Table component that provides:\n *\n * API:\n * - {@link DataTableProps}\n * - {@link SortingConfig}\n */\nexport function DataTable<T = any>(props: DataTableProps<T>) {\n const {\n columns,\n data = [],\n loading = false,\n tombstoneComponent,\n error = false,\n name,\n onRowClick,\n emptyMessage = \"Data Unavailable\",\n errorMessage,\n loadingRows = 5,\n \"data-testid\": testId,\n } = props;\n\n const sortableColumns =\n \"sortableColumns\" in props ? props.sortableColumns : [];\n const sortedBy = \"sortedBy\" in props ? props.sortedBy : undefined;\n const sortDirection =\n \"sortDirection\" in props ? props.sortDirection : undefined;\n const onSort = \"onSort\" in props ? props.onSort : undefined;\n\n const visibleColumns = useMemo(\n () => columns.filter((col) => !col.hidden),\n [columns]\n );\n\n const handleSortClick = (column: DataTableColumn<T>) => {\n if (!onSort) return;\n\n const isCurrentlySorted = sortedBy === column.id;\n const newDirection =\n isCurrentlySorted && sortDirection === \"ASC\" ? \"DESC\" : \"ASC\";\n\n onSort(column.id, newDirection);\n };\n\n const getSortState = (columnId: string): AriaAttributes[\"aria-sort\"] => {\n if (sortedBy !== columnId) return \"none\";\n return sortDirection === \"ASC\" ? \"ascending\" : \"descending\";\n };\n\n if (error) {\n const message =\n typeof error === \"string\" ? error : errorMessage || \"An error occurred\";\n return (\n <EmptyState\n columns={visibleColumns}\n message={message}\n name={name}\n testId={testId}\n isError\n />\n );\n }\n\n if (loading) {\n return (\n <div\n className=\"proton-DataTable\"\n data-testid={testId}\n aria-busy=\"true\"\n aria-label={`Loading ${name}...`}\n >\n <Table name={name}>\n <Table.Header>\n {visibleColumns.map((column) => (\n <Table.Column key={column.id} id={column.id}>\n {column.header}\n </Table.Column>\n ))}\n </Table.Header>\n <Table.Body>\n {Array.from({ length: loadingRows }).map((_, index) => (\n <Table.Row key={`loading-${index}`}>\n {visibleColumns.map((column) => (\n <Table.Cell key={column.id}>\n {tombstoneComponent || (\n <Tombstone\n height=\"1rem\"\n width={\n // cascading tombstone widths\n index % 3 === 0\n ? \"80%\"\n : index % 3 === 1\n ? \"60%\"\n : \"90%\"\n }\n />\n )}\n </Table.Cell>\n ))}\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </div>\n );\n }\n\n if (!data || data.length === 0) {\n return (\n <EmptyState\n columns={visibleColumns}\n message={emptyMessage}\n name={name}\n testId={testId}\n />\n );\n }\n\n return (\n <div className=\"proton-DataTable\" data-testid={testId}>\n <Table name={name}>\n <Table.Header>\n {visibleColumns.map((column) => {\n const isSortable = sortableColumns.includes(column.id);\n const sortState = getSortState(column.id);\n\n return (\n <Table.Column\n key={column.id}\n id={column.id}\n {...(isSortable && { \"aria-sort\": sortState })}\n >\n <span className=\"proton-DataTable__header-content\">\n {column.header}\n {isSortable && (\n <button\n className=\"proton-DataTable__sort-button\"\n onClick={() => handleSortClick(column)}\n aria-label={`Sort by ${column.header}: ${sortState}`}\n type=\"button\"\n >\n <Icon\n id={\"chevron-up\"}\n size={12}\n color={\n sortState === \"ascending\"\n ? \"var(--proton-color__primary)\"\n : \"currentColor\"\n }\n />\n </button>\n )}\n </span>\n </Table.Column>\n );\n })}\n </Table.Header>\n <Table.Body>\n {data.map((row, index) => {\n // Generate a key from the row data or use index as fallback\n const rowKey = ((row as any)?.id || (row as any)?.key) ?? index;\n\n return (\n <Table.Row\n key={rowKey}\n onClick={onRowClick ? () => onRowClick(row) : undefined}\n >\n {visibleColumns.map((column) => (\n <Table.Cell key={column.id}>{column.cell(row)}</Table.Cell>\n ))}\n </Table.Row>\n );\n })}\n </Table.Body>\n </Table>\n </div>\n );\n}\n\nconst EmptyState = ({\n columns,\n message,\n name,\n testId,\n isError = false,\n}: Partial<DataTableProps> & {\n testId?: string;\n message: string;\n isError?: boolean;\n}) => {\n return (\n <div className=\"proton-DataTable\" data-testid={testId}>\n <Table name={name}>\n <Table.Header>\n {columns?.map((column) => (\n <Table.Column key={column.id} id={column.id}>\n {column.header}\n </Table.Column>\n ))}\n </Table.Header>\n <Table.Body>\n <Table.Row>\n <Table.Cell colSpan={columns?.length || 1}>\n <div\n className=\"proton-DataTable__message-cell\"\n role={isError ? \"alert\" : \"status\"}\n aria-live=\"polite\"\n >\n <Elevation>\n <div className=\"proton-DataTable__empty-cell\">{message}</div>\n </Elevation>\n </div>\n </Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table>\n </div>\n );\n};\n","import {isElementInChildOfActiveScope as $jtpZv$isElementInChildOfActiveScope} from \"@react-aria/focus\";\nimport {useEffect as $jtpZv$useEffect} from \"react\";\nimport {useInteractOutside as $jtpZv$useInteractOutside, useFocusWithin as $jtpZv$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 $a11501f3d1d39e6c$var$visibleOverlays = [];\nfunction $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {\n let { onClose: onClose, shouldCloseOnBlur: shouldCloseOnBlur, isOpen: isOpen, isDismissable: isDismissable = false, isKeyboardDismissDisabled: isKeyboardDismissDisabled = false, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside } = props;\n // Add the overlay ref to the stack of visible overlays on mount, and remove on unmount.\n (0, $jtpZv$useEffect)(()=>{\n if (isOpen && !$a11501f3d1d39e6c$var$visibleOverlays.includes(ref)) {\n $a11501f3d1d39e6c$var$visibleOverlays.push(ref);\n return ()=>{\n let index = $a11501f3d1d39e6c$var$visibleOverlays.indexOf(ref);\n if (index >= 0) $a11501f3d1d39e6c$var$visibleOverlays.splice(index, 1);\n };\n }\n }, [\n isOpen,\n ref\n ]);\n // Only hide the overlay when it is the topmost visible overlay in the stack\n let onHide = ()=>{\n if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref && onClose) onClose();\n };\n let onInteractOutsideStart = (e)=>{\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {\n if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n };\n let onInteractOutside = (e)=>{\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target)) {\n if ($a11501f3d1d39e6c$var$visibleOverlays[$a11501f3d1d39e6c$var$visibleOverlays.length - 1] === ref) {\n e.stopPropagation();\n e.preventDefault();\n }\n onHide();\n }\n };\n // Handle the escape key\n let onKeyDown = (e)=>{\n if (e.key === 'Escape' && !isKeyboardDismissDisabled && !e.nativeEvent.isComposing) {\n e.stopPropagation();\n e.preventDefault();\n onHide();\n }\n };\n // Handle clicking outside the overlay to close it\n (0, $jtpZv$useInteractOutside)({\n ref: ref,\n onInteractOutside: isDismissable && isOpen ? onInteractOutside : undefined,\n onInteractOutsideStart: onInteractOutsideStart\n });\n let { focusWithinProps: focusWithinProps } = (0, $jtpZv$useFocusWithin)({\n isDisabled: !shouldCloseOnBlur,\n onBlurWithin: (e)=>{\n // Do not close if relatedTarget is null, which means focus is lost to the body.\n // That can happen when switching tabs, or due to a VoiceOver/Chrome bug with Control+Option+Arrow navigation.\n // Clicking on the body to close the overlay should already be handled by useInteractOutside.\n // https://github.com/adobe/react-spectrum/issues/4130\n // https://github.com/adobe/react-spectrum/issues/4922\n //\n // If focus is moving into a child focus scope (e.g. menu inside a dialog),\n // do not close the outer overlay. At this point, the active scope should\n // still be the outer overlay, since blur events run before focus.\n if (!e.relatedTarget || (0, $jtpZv$isElementInChildOfActiveScope)(e.relatedTarget)) return;\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n });\n let onPointerDownUnderlay = (e)=>{\n // fixes a firefox issue that starts text selection https://bugzilla.mozilla.org/show_bug.cgi?id=1675846\n if (e.target === e.currentTarget) e.preventDefault();\n };\n return {\n overlayProps: {\n onKeyDown: onKeyDown,\n ...focusWithinProps\n },\n underlayProps: {\n onPointerDown: onPointerDownUnderlay\n }\n };\n}\n\n\nexport {$a11501f3d1d39e6c$export$ea8f71083e90600f as useOverlay};\n//# sourceMappingURL=useOverlay.module.js.map\n","import {useLayoutEffect as $7mMvr$useLayoutEffect, isIOS as $7mMvr$isIOS, chain as $7mMvr$chain, getScrollParent as $7mMvr$getScrollParent} 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 */ \nconst $49c51c25361d4cd2$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;\n// HTML input types that do not cause the software keyboard to appear.\nconst $49c51c25361d4cd2$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n// The number of active usePreventScroll calls. Used to determine whether to revert back to the original page style/scroll position\nlet $49c51c25361d4cd2$var$preventScrollCount = 0;\nlet $49c51c25361d4cd2$var$restore;\nfunction $49c51c25361d4cd2$export$ee0f7cc6afcd1c18(options = {}) {\n let { isDisabled: isDisabled } = options;\n (0, $7mMvr$useLayoutEffect)(()=>{\n if (isDisabled) return;\n $49c51c25361d4cd2$var$preventScrollCount++;\n if ($49c51c25361d4cd2$var$preventScrollCount === 1) {\n if ((0, $7mMvr$isIOS)()) $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollMobileSafari();\n else $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollStandard();\n }\n return ()=>{\n $49c51c25361d4cd2$var$preventScrollCount--;\n if ($49c51c25361d4cd2$var$preventScrollCount === 0) $49c51c25361d4cd2$var$restore();\n };\n }, [\n isDisabled\n ]);\n}\n// For most browsers, all we need to do is set `overflow: hidden` on the root element, and\n// add some padding to prevent the page from shifting when the scrollbar is hidden.\nfunction $49c51c25361d4cd2$var$preventScrollStandard() {\n let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n return (0, $7mMvr$chain)(scrollbarWidth > 0 && // Use scrollbar-gutter when supported because it also works for fixed positioned elements.\n ('scrollbarGutter' in document.documentElement.style ? $49c51c25361d4cd2$var$setStyle(document.documentElement, 'scrollbarGutter', 'stable') : $49c51c25361d4cd2$var$setStyle(document.documentElement, 'paddingRight', `${scrollbarWidth}px`)), $49c51c25361d4cd2$var$setStyle(document.documentElement, 'overflow', 'hidden'));\n}\n// Mobile Safari is a whole different beast. Even with overflow: hidden,\n// it still scrolls the page in many situations:\n//\n// 1. When the bottom toolbar and address bar are collapsed, page scrolling is always allowed.\n// 2. When the keyboard is visible, the viewport does not resize. Instead, the keyboard covers part of\n// it, so it becomes scrollable.\n// 3. When tapping on an input, the page always scrolls so that the input is centered in the visual viewport.\n// This may cause even fixed position elements to scroll off the screen.\n// 4. When using the next/previous buttons in the keyboard to navigate between inputs, the whole page always\n// scrolls, even if the input is inside a nested scrollable element that could be scrolled instead.\n//\n// In order to work around these cases, and prevent scrolling without jankiness, we do a few things:\n//\n// 1. Prevent default on `touchmove` events that are not in a scrollable element. This prevents touch scrolling\n// on the window.\n// 2. Set `overscroll-behavior: contain` on nested scrollable regions so they do not scroll the page when at\n// the top or bottom. Work around a bug where this does not work when the element does not actually overflow\n// by preventing default in a `touchmove` event.\n// 3. Prevent default on `touchend` events on input elements and handle focusing the element ourselves.\n// 4. When focusing an input, apply a transform to trick Safari into thinking the input is at the top\n// of the page, which prevents it from scrolling the page. After the input is focused, scroll the element\n// into view ourselves, without scrolling the whole page.\n// 5. Offset the body by the scroll position using a negative margin and scroll to the top. This should appear the\n// same visually, but makes the actual scroll position always zero. This is required to make all of the\n// above work or Safari will still try to scroll the page when focusing an input.\n// 6. As a last resort, handle window scroll events, and scroll back to the top. This can happen when attempting\n// to navigate to an input with the next/previous buttons that's outside a modal.\nfunction $49c51c25361d4cd2$var$preventScrollMobileSafari() {\n let scrollable;\n let restoreScrollableStyles;\n let onTouchStart = (e)=>{\n // Store the nearest scrollable parent element from the element that the user touched.\n scrollable = (0, $7mMvr$getScrollParent)(e.target, true);\n if (scrollable === document.documentElement && scrollable === document.body) return;\n // Prevent scrolling up when at the top and scrolling down when at the bottom\n // of a nested scrollable area, otherwise mobile Safari will start scrolling\n // the window instead.\n if (scrollable instanceof HTMLElement && window.getComputedStyle(scrollable).overscrollBehavior === 'auto') restoreScrollableStyles = $49c51c25361d4cd2$var$setStyle(scrollable, 'overscrollBehavior', 'contain');\n };\n let onTouchMove = (e)=>{\n // Prevent scrolling the window.\n if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {\n e.preventDefault();\n return;\n }\n // overscroll-behavior should prevent scroll chaining, but currently does not\n // if the element doesn't actually overflow. https://bugs.webkit.org/show_bug.cgi?id=243452\n // This checks that both the width and height do not overflow, otherwise we might\n // block horizontal scrolling too. In that case, adding `touch-action: pan-x` to\n // the element will prevent vertical page scrolling. We can't add that automatically\n // because it must be set before the touchstart event.\n if (scrollable.scrollHeight === scrollable.clientHeight && scrollable.scrollWidth === scrollable.clientWidth) e.preventDefault();\n };\n let onTouchEnd = ()=>{\n if (restoreScrollableStyles) restoreScrollableStyles();\n };\n let onFocus = (e)=>{\n let target = e.target;\n if ($49c51c25361d4cd2$var$willOpenKeyboard(target)) {\n setupStyles();\n // Apply a transform to trick Safari into thinking the input is at the top of the page\n // so it doesn't try to scroll it into view.\n target.style.transform = 'translateY(-2000px)';\n requestAnimationFrame(()=>{\n target.style.transform = '';\n // This will have prevented the browser from scrolling the focused element into view,\n // so we need to do this ourselves in a way that doesn't cause the whole page to scroll.\n if ($49c51c25361d4cd2$var$visualViewport) {\n if ($49c51c25361d4cd2$var$visualViewport.height < window.innerHeight) // If the keyboard is already visible, do this after one additional frame\n // to wait for the transform to be removed.\n requestAnimationFrame(()=>{\n $49c51c25361d4cd2$var$scrollIntoView(target);\n });\n else // Otherwise, wait for the visual viewport to resize before scrolling so we can\n // measure the correct position to scroll to.\n $49c51c25361d4cd2$var$visualViewport.addEventListener('resize', ()=>$49c51c25361d4cd2$var$scrollIntoView(target), {\n once: true\n });\n }\n });\n }\n };\n let restoreStyles = null;\n let setupStyles = ()=>{\n if (restoreStyles) return;\n let onWindowScroll = ()=>{\n // Last resort. If the window scrolled, scroll it back to the top.\n // It should always be at the top because the body will have a negative margin (see below).\n window.scrollTo(0, 0);\n };\n // Record the original scroll position so we can restore it.\n // Then apply a negative margin to the body to offset it by the scroll position. This will\n // enable us to scroll the window to the top, which is required for the rest of this to work.\n let scrollX = window.pageXOffset;\n let scrollY = window.pageYOffset;\n restoreStyles = (0, $7mMvr$chain)($49c51c25361d4cd2$var$addEvent(window, 'scroll', onWindowScroll), $49c51c25361d4cd2$var$setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`), $49c51c25361d4cd2$var$setStyle(document.documentElement, 'overflow', 'hidden'), $49c51c25361d4cd2$var$setStyle(document.body, 'marginTop', `-${scrollY}px`), ()=>{\n window.scrollTo(scrollX, scrollY);\n });\n // Scroll to the top. The negative margin on the body will make this appear the same.\n window.scrollTo(0, 0);\n };\n let removeEvents = (0, $7mMvr$chain)($49c51c25361d4cd2$var$addEvent(document, 'touchstart', onTouchStart, {\n passive: false,\n capture: true\n }), $49c51c25361d4cd2$var$addEvent(document, 'touchmove', onTouchMove, {\n passive: false,\n capture: true\n }), $49c51c25361d4cd2$var$addEvent(document, 'touchend', onTouchEnd, {\n passive: false,\n capture: true\n }), $49c51c25361d4cd2$var$addEvent(document, 'focus', onFocus, true));\n return ()=>{\n // Restore styles and scroll the page back to where it was.\n restoreScrollableStyles === null || restoreScrollableStyles === void 0 ? void 0 : restoreScrollableStyles();\n restoreStyles === null || restoreStyles === void 0 ? void 0 : restoreStyles();\n removeEvents();\n };\n}\n// Sets a CSS property on an element, and returns a function to revert it to the previous value.\nfunction $49c51c25361d4cd2$var$setStyle(element, style, value) {\n let cur = element.style[style];\n element.style[style] = value;\n return ()=>{\n element.style[style] = cur;\n };\n}\n// Adds an event listener to an element, and returns a function to remove it.\nfunction $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {\n // internal function, so it's ok to ignore the difficult to fix type error\n // @ts-ignore\n target.addEventListener(event, handler, options);\n return ()=>{\n // @ts-ignore\n target.removeEventListener(event, handler, options);\n };\n}\nfunction $49c51c25361d4cd2$var$scrollIntoView(target) {\n let root = document.scrollingElement || document.documentElement;\n let nextTarget = target;\n while(nextTarget && nextTarget !== root){\n // Find the parent scrollable element and adjust the scroll position if the target is not already in view.\n let scrollable = (0, $7mMvr$getScrollParent)(nextTarget);\n if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {\n let scrollableTop = scrollable.getBoundingClientRect().top;\n let targetTop = nextTarget.getBoundingClientRect().top;\n if (targetTop > scrollableTop + nextTarget.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;\n }\n nextTarget = scrollable.parentElement;\n }\n}\nfunction $49c51c25361d4cd2$var$willOpenKeyboard(target) {\n return target instanceof HTMLInputElement && !$49c51c25361d4cd2$var$nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;\n}\n\n\nexport {$49c51c25361d4cd2$export$ee0f7cc6afcd1c18 as usePreventScroll};\n//# sourceMappingURL=usePreventScroll.module.js.map\n","import {getOwnerWindow as $fF94N$getOwnerWindow} 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 */ \nconst $5e3802645cc19319$var$supportsInert = typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\n// Keeps a ref count of all hidden elements. Added to when hiding an element, and\n// subtracted from when showing it again. When it reaches zero, aria-hidden is removed.\nlet $5e3802645cc19319$var$refCountMap = new WeakMap();\nlet $5e3802645cc19319$var$observerStack = [];\nfunction $5e3802645cc19319$export$1c3ebcada18427bf(targets, options) {\n let windowObj = (0, $fF94N$getOwnerWindow)(targets === null || targets === void 0 ? void 0 : targets[0]);\n let opts = options instanceof windowObj.Element ? {\n root: options\n } : options;\n var _opts_root;\n let root = (_opts_root = opts === null || opts === void 0 ? void 0 : opts.root) !== null && _opts_root !== void 0 ? _opts_root : document.body;\n let shouldUseInert = (opts === null || opts === void 0 ? void 0 : opts.shouldUseInert) && $5e3802645cc19319$var$supportsInert;\n let visibleNodes = new Set(targets);\n let hiddenNodes = new Set();\n let getHidden = (element)=>{\n return shouldUseInert && element instanceof windowObj.HTMLElement ? element.inert : element.getAttribute('aria-hidden') === 'true';\n };\n let setHidden = (element, hidden)=>{\n if (shouldUseInert && element instanceof windowObj.HTMLElement) element.inert = hidden;\n else if (hidden) element.setAttribute('aria-hidden', 'true');\n else element.removeAttribute('aria-hidden');\n };\n let walk = (root)=>{\n // Keep live announcer and top layer elements (e.g. toasts) visible.\n for (let element of root.querySelectorAll('[data-live-announcer], [data-react-aria-top-layer]'))visibleNodes.add(element);\n let acceptNode = (node)=>{\n // Skip this node and its children if it is one of the target nodes, or a live announcer.\n // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is\n // made for elements with role=\"row\" since VoiceOver on iOS has issues hiding elements with role=\"row\".\n // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).\n if (hiddenNodes.has(node) || visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row') return NodeFilter.FILTER_REJECT;\n // Skip this node but continue to children if one of the targets is inside the node.\n for (let target of visibleNodes){\n if (node.contains(target)) return NodeFilter.FILTER_SKIP;\n }\n return NodeFilter.FILTER_ACCEPT;\n };\n let walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: acceptNode\n });\n // TreeWalker does not include the root.\n let acceptRoot = acceptNode(root);\n if (acceptRoot === NodeFilter.FILTER_ACCEPT) hide(root);\n if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n let node = walker.nextNode();\n while(node != null){\n hide(node);\n node = walker.nextNode();\n }\n }\n };\n let hide = (node)=>{\n var _refCountMap_get;\n let refCount = (_refCountMap_get = $5e3802645cc19319$var$refCountMap.get(node)) !== null && _refCountMap_get !== void 0 ? _refCountMap_get : 0;\n // If already aria-hidden, and the ref count is zero, then this element\n // was already hidden and there's nothing for us to do.\n if (getHidden(node) && refCount === 0) return;\n if (refCount === 0) setHidden(node, true);\n hiddenNodes.add(node);\n $5e3802645cc19319$var$refCountMap.set(node, refCount + 1);\n };\n // If there is already a MutationObserver listening from a previous call,\n // disconnect it so the new on takes over.\n if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].disconnect();\n walk(root);\n let observer = new MutationObserver((changes)=>{\n for (let change of changes){\n if (change.type !== 'childList') continue;\n // If the parent element of the added nodes is not within one of the targets,\n // and not already inside a hidden node, hide all of the new children.\n if (![\n ...visibleNodes,\n ...hiddenNodes\n ].some((node)=>node.contains(change.target))) for (let node of change.addedNodes){\n if ((node instanceof HTMLElement || node instanceof SVGElement) && (node.dataset.liveAnnouncer === 'true' || node.dataset.reactAriaTopLayer === 'true')) visibleNodes.add(node);\n else if (node instanceof Element) walk(node);\n }\n }\n });\n observer.observe(root, {\n childList: true,\n subtree: true\n });\n let observerWrapper = {\n visibleNodes: visibleNodes,\n hiddenNodes: hiddenNodes,\n observe () {\n observer.observe(root, {\n childList: true,\n subtree: true\n });\n },\n disconnect () {\n observer.disconnect();\n }\n };\n $5e3802645cc19319$var$observerStack.push(observerWrapper);\n return ()=>{\n observer.disconnect();\n for (let node of hiddenNodes){\n let count = $5e3802645cc19319$var$refCountMap.get(node);\n if (count == null) continue;\n if (count === 1) {\n setHidden(node, false);\n $5e3802645cc19319$var$refCountMap.delete(node);\n } else $5e3802645cc19319$var$refCountMap.set(node, count - 1);\n }\n // Remove this observer from the stack, and start the previous one.\n if (observerWrapper === $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1]) {\n $5e3802645cc19319$var$observerStack.pop();\n if ($5e3802645cc19319$var$observerStack.length) $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1].observe();\n } else $5e3802645cc19319$var$observerStack.splice($5e3802645cc19319$var$observerStack.indexOf(observerWrapper), 1);\n };\n}\nfunction $5e3802645cc19319$export$1020fa7f77e17884(element) {\n let observer = $5e3802645cc19319$var$observerStack[$5e3802645cc19319$var$observerStack.length - 1];\n if (observer && !observer.visibleNodes.has(element)) {\n observer.visibleNodes.add(element);\n return ()=>{\n observer.visibleNodes.delete(element);\n };\n }\n}\n\n\nexport {$5e3802645cc19319$export$1c3ebcada18427bf as ariaHideOutside, $5e3802645cc19319$export$1020fa7f77e17884 as keepVisible};\n//# sourceMappingURL=ariaHideOutside.module.js.map\n","import {useUNSAFE_PortalContext as $96b38030c423d352$export$9fc1347d4195ccb3} from \"./PortalProvider.mjs\";\nimport {ClearPressResponder as $1CM7W$ClearPressResponder} from \"@react-aria/interactions\";\nimport {FocusScope as $1CM7W$FocusScope} from \"@react-aria/focus\";\nimport $1CM7W$react, {useState as $1CM7W$useState, useMemo as $1CM7W$useMemo, useContext as $1CM7W$useContext} from \"react\";\nimport $1CM7W$reactdom from \"react-dom\";\nimport {useIsSSR as $1CM7W$useIsSSR} from \"@react-aria/ssr\";\nimport {useLayoutEffect as $1CM7W$useLayoutEffect} from \"@react-aria/utils\";\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 $337b884510726a0d$export$a2200b96afd16271 = /*#__PURE__*/ (0, $1CM7W$react).createContext(null);\nfunction $337b884510726a0d$export$c6fdb837b070b4ff(props) {\n let isSSR = (0, $1CM7W$useIsSSR)();\n let { portalContainer: portalContainer = isSSR ? null : document.body, isExiting: isExiting } = props;\n let [contain, setContain] = (0, $1CM7W$useState)(false);\n let contextValue = (0, $1CM7W$useMemo)(()=>({\n contain: contain,\n setContain: setContain\n }), [\n contain,\n setContain\n ]);\n let { getContainer: getContainer } = (0, $96b38030c423d352$export$9fc1347d4195ccb3)();\n if (!props.portalContainer && getContainer) portalContainer = getContainer();\n if (!portalContainer) return null;\n let contents = props.children;\n if (!props.disableFocusManagement) contents = /*#__PURE__*/ (0, $1CM7W$react).createElement((0, $1CM7W$FocusScope), {\n restoreFocus: true,\n contain: (props.shouldContainFocus || contain) && !isExiting\n }, contents);\n contents = /*#__PURE__*/ (0, $1CM7W$react).createElement($337b884510726a0d$export$a2200b96afd16271.Provider, {\n value: contextValue\n }, /*#__PURE__*/ (0, $1CM7W$react).createElement((0, $1CM7W$ClearPressResponder), null, contents));\n return /*#__PURE__*/ (0, $1CM7W$reactdom).createPortal(contents, portalContainer);\n}\nfunction $337b884510726a0d$export$14c98a7594375490() {\n let ctx = (0, $1CM7W$useContext)($337b884510726a0d$export$a2200b96afd16271);\n let setContain = ctx === null || ctx === void 0 ? void 0 : ctx.setContain;\n (0, $1CM7W$useLayoutEffect)(()=>{\n setContain === null || setContain === void 0 ? void 0 : setContain(true);\n }, [\n setContain\n ]);\n}\n\n\nexport {$337b884510726a0d$export$a2200b96afd16271 as OverlayContext, $337b884510726a0d$export$c6fdb837b070b4ff as Overlay, $337b884510726a0d$export$14c98a7594375490 as useOverlayFocusContain};\n//# sourceMappingURL=Overlay.module.js.map\n","import {ariaHideOutside as $5e3802645cc19319$export$1c3ebcada18427bf} from \"./ariaHideOutside.mjs\";\nimport {useOverlay as $a11501f3d1d39e6c$export$ea8f71083e90600f} from \"./useOverlay.mjs\";\nimport {useOverlayFocusContain as $337b884510726a0d$export$14c98a7594375490} from \"./Overlay.mjs\";\nimport {usePreventScroll as $49c51c25361d4cd2$export$ee0f7cc6afcd1c18} from \"./usePreventScroll.mjs\";\nimport {mergeProps as $7Dhkr$mergeProps} from \"@react-aria/utils\";\nimport {useEffect as $7Dhkr$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\nfunction $8ac8429251c45e4b$export$dbc0f175b25fb0fb(props, state, ref) {\n let { overlayProps: overlayProps, underlayProps: underlayProps } = (0, $a11501f3d1d39e6c$export$ea8f71083e90600f)({\n ...props,\n isOpen: state.isOpen,\n onClose: state.close\n }, ref);\n (0, $49c51c25361d4cd2$export$ee0f7cc6afcd1c18)({\n isDisabled: !state.isOpen\n });\n (0, $337b884510726a0d$export$14c98a7594375490)();\n (0, $7Dhkr$useEffect)(()=>{\n if (state.isOpen && ref.current) return (0, $5e3802645cc19319$export$1c3ebcada18427bf)([\n ref.current\n ], {\n shouldUseInert: true\n });\n }, [\n state.isOpen,\n ref\n ]);\n return {\n modalProps: (0, $7Dhkr$mergeProps)(overlayProps),\n underlayProps: underlayProps\n };\n}\n\n\nexport {$8ac8429251c45e4b$export$dbc0f175b25fb0fb as useModalOverlay};\n//# sourceMappingURL=useModalOverlay.module.js.map\n","import {useSlotId as $i6df2$useSlotId, filterDOMProps as $i6df2$filterDOMProps} from \"@react-aria/utils\";\nimport {focusSafely as $i6df2$focusSafely} from \"@react-aria/interactions\";\nimport {useRef as $i6df2$useRef, useEffect as $i6df2$useEffect} from \"react\";\nimport {useOverlayFocusContain as $i6df2$useOverlayFocusContain} from \"@react-aria/overlays\";\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 $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {\n let { role: role = 'dialog' } = props;\n let titleId = (0, $i6df2$useSlotId)();\n titleId = props['aria-label'] ? undefined : titleId;\n let isRefocusing = (0, $i6df2$useRef)(false);\n // Focus the dialog itself on mount, unless a child element is already focused.\n (0, $i6df2$useEffect)(()=>{\n if (ref.current && !ref.current.contains(document.activeElement)) {\n (0, $i6df2$focusSafely)(ref.current);\n // Safari on iOS does not move the VoiceOver cursor to the dialog\n // or announce that it has opened until it has rendered. A workaround\n // is to wait for half a second, then blur and re-focus the dialog.\n let timeout = setTimeout(()=>{\n // Check that the dialog is still focused, or focused was lost to the body.\n if (document.activeElement === ref.current || document.activeElement === document.body) {\n isRefocusing.current = true;\n if (ref.current) {\n ref.current.blur();\n (0, $i6df2$focusSafely)(ref.current);\n }\n isRefocusing.current = false;\n }\n }, 500);\n return ()=>{\n clearTimeout(timeout);\n };\n }\n }, [\n ref\n ]);\n (0, $i6df2$useOverlayFocusContain)();\n // We do not use aria-modal due to a Safari bug which forces the first focusable element to be focused\n // on mount when inside an iframe, no matter which element we programmatically focus.\n // See https://bugs.webkit.org/show_bug.cgi?id=211934.\n // useModal sets aria-hidden on all elements outside the dialog, so the dialog will behave as a modal\n // even without aria-modal on the dialog itself.\n return {\n dialogProps: {\n ...(0, $i6df2$filterDOMProps)(props, {\n labelable: true\n }),\n role: role,\n tabIndex: -1,\n 'aria-labelledby': props['aria-labelledby'] || titleId,\n // Prevent blur events from reaching useOverlay, which may cause\n // popovers to close. Since focus is contained within the dialog,\n // we don't want this to occur due to the above useEffect.\n onBlur: (e)=>{\n if (isRefocusing.current) e.stopPropagation();\n }\n },\n titleProps: {\n id: titleId\n }\n };\n}\n\n\nexport {$40df3f8667284809$export$d55e7ee900f34e93 as useDialog};\n//# sourceMappingURL=useDialog.module.js.map\n","\"use client\";\n\nimport { useRef } from \"react\";\nimport { type AriaDialogProps, useDialog } from \"@react-aria/dialog\";\n\nimport \"./Dialog.css\";\n\ninterface DialogProps extends AriaDialogProps {\n title?: React.ReactNode;\n children: React.ReactNode;\n}\n\n/**\n * Intended use in overlay containers such as modals or popovers.\n *\n * API:\n * - {@link DialogProps}\n * - extends {@link AriaDialogProps}\n */\nexport function Dialog({ title, children, ...props }: DialogProps) {\n let ref = useRef(null);\n let { dialogProps, titleProps } = useDialog(props, ref);\n\n return (\n <div {...dialogProps} ref={ref} className=\"proton-Dialog\">\n {title && (\n <h3 {...titleProps} className=\"proton-Dialog__header\">\n {title}\n </h3>\n )}\n {children}\n </div>\n );\n}\n","\"use client\";\n\nimport \"../ScreenOverlay/ScreenOverlay.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { parseToRgba } from \"color2k\";\n\ninterface ImageBackgroundProps {\n /**\n * Manually display a background image. Useful for server-side rendering.\n * @important When using this prop, you must style your own image component appropriately.\n * The component will be placed directly in the background without additional styling.\n */\n image?: React.ReactNode;\n /**\n * The URL of the image to display in the background.\n * @important Client-side only. Cannot be used in Server Components.\n * When using this prop, the image will be automatically styled with the background effect.\n */\n imageUrl?: string;\n /**\n * Callback function to handle the image load event.\n * @important Client-side only. Cannot be used in Server Components.\n */\n onLoad?: (image: HTMLImageElement) => void;\n}\n\n/**\n * Calculates a background color with appropriate opacity based on the brightness of the base color.\n * For dark colors (sum of RGB values < 65), returns a white overlay with variable opacity.\n * For brighter colors, returns an empty string (no overlay needed).\n */\nconst getBgWhiteOverlayColor = (color: [number, number, number, number]) => {\n const [r, g, b] = color;\n const brightness = r + g + b;\n\n // Only apply white overlay for dark backgrounds\n if (brightness < 65) {\n // Calculate opacity inversely proportional to brightness\n // Brighter colors get less opacity, with a minimum of 0.1\n const brightnessPercentage = brightness / 100;\n const opacity = Math.max(0.14, 0.36 - brightnessPercentage);\n\n return `rgba(255, 255, 255, ${opacity})`;\n }\n\n return \"\";\n};\n\n/**\n * ImageOverlay component for displaying an image with a blur effect.\n *\n * API:\n * - {@link ImageBackgroundProps}\n */\nexport function ImageBackground({\n image,\n imageUrl = \"\",\n onLoad,\n}: ImageBackgroundProps) {\n const { palette } = useTheme();\n const baseColor = parseToRgba(palette.BASE_COLOR);\n const backgroundColor = getBgWhiteOverlayColor(baseColor);\n\n return (\n <div\n id=\"image-background\"\n aria-label=\"Background overlay\"\n role=\"dialog\"\n aria-modal=\"true\"\n className=\"proton-ScreenOverlay__background\"\n >\n {image ? (\n <div aria-hidden=\"true\">{image}</div>\n ) : (\n <img\n alt=\"\" // Decorative image\n src={imageUrl}\n className=\"proton-ScreenOverlay__image\"\n onLoad={(event) => onLoad?.(event.currentTarget)}\n aria-hidden=\"true\"\n />\n )}\n <div\n className=\"proton-ScreenOverlay__blur\"\n aria-hidden=\"true\"\n style={{\n background: backgroundColor,\n }}\n />\n </div>\n );\n}\n","\"use client\";\n\nimport React, { forwardRef, useEffect, useRef } from \"react\";\n\nimport { useTheme } from \"../../ThemeProvider\";\nimport { csx } from \"../../../utils\";\nimport \"./Input.css\";\nimport { copyTextToClipboard } from \"../../../utils/copy\";\n\nexport interface BaseInputProps {\n /**\n * onChange handler for the input\n */\n onChange?: (value: string) => void;\n\n /** Whether the input is disabled. */\n isDisabled?: boolean;\n\n /** Description text shown above the input. */\n description?: React.ReactNode | string;\n\n /**\n * The position of the description text.\n * @default \"top\"\n */\n descriptionPosition?: \"top\" | \"bottom\";\n\n /** Error state that changes the input's visual style and displays an error message. */\n error?: React.ReactNode | string;\n\n /**\n * Label for the input element.\n * @note When a label is provided, the input will have extra padding, and the label will float above the text input when focused or filled.\n */\n label?: string;\n\n /** Test ID for the component. */\n \"data-testid\"?: string;\n\n /** Content to display before the input. Typically used for icons. */\n prefix?: React.ReactNode;\n\n /** Content to display after the input. Typically used for icons. */\n suffix?: React.ReactNode;\n\n /**\n * Should the browser's autocomplete be enabled?\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n autoComplete?: boolean;\n\n /**\n * Should the input be autofocused?\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autofocus\n */\n autoFocus?: boolean;\n\n /**\n * The name attribute of the input element.\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/name\n */\n name: string;\n\n /**\n * The placeholder text to display when the input is empty.\n * @note label takes precedence over placeholder, if both are provided.\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder\n */\n placeholder?: string;\n\n /**\n * The type attribute of the input element.\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/type\n * @default \"text\"\n */\n type?: string;\n\n /**\n * The value of the input.\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value\n */\n value?: string;\n\n /**\n * Whether the input is required.\n * @default false\n */\n isRequired?: boolean;\n\n /**\n * Whether the input is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n\n /**\n * Called when the input is submitted (e.g. by pressing Enter).\n */\n onSubmit?: React.FormEventHandler<HTMLInputElement>;\n\n /**\n * Called when the input is cleared (e.g. by pressing Escape).\n */\n onClear?: () => void;\n}\n\n/**\n * A controlled and customizable input component with support for labels, prefixes, suffixes, and error states.\n *\n * API:\n * - {@link BaseInputProps}\n */\nexport const Input = forwardRef<HTMLInputElement, BaseInputProps>(\n (\n {\n prefix,\n suffix,\n description,\n descriptionPosition = \"top\",\n isDisabled,\n error,\n onChange,\n label,\n name,\n placeholder,\n type = \"text\",\n value,\n autoFocus,\n autoComplete,\n isRequired = false,\n isReadOnly = false,\n onSubmit,\n onClear,\n \"data-testid\": testId,\n },\n forwardedRef: React.RefObject<HTMLInputElement>\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const prefixRef = useRef<HTMLDivElement>(null);\n const suffixRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const { className } = useTheme();\n const ref = forwardedRef || inputRef;\n\n // Control dynamic prefix and suffix widths using ResizeObserver\n useEffect(() => {\n if (!containerRef.current) return;\n\n const updateSizes = () => {\n if (containerRef.current) {\n const containerWidth = containerRef.current.offsetWidth || 200;\n containerRef.current.style.setProperty(\n \"--container-width\",\n `${containerWidth}px`\n );\n }\n\n if (prefixRef.current) {\n const prefixWidth = prefixRef.current.offsetWidth || 32;\n containerRef.current?.style.setProperty(\n \"--prefix-width\",\n `${prefixWidth}px`\n );\n }\n\n if (suffixRef.current) {\n const suffixWidth = suffixRef.current.offsetWidth || 32;\n containerRef.current?.style.setProperty(\n \"--suffix-width\",\n `${suffixWidth}px`\n );\n }\n };\n\n updateSizes();\n\n const resizeObserver = new ResizeObserver(updateSizes);\n\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n if (prefixRef.current) {\n resizeObserver.observe(prefixRef.current);\n }\n if (suffixRef.current) {\n resizeObserver.observe(suffixRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [prefix, suffix]);\n\n const inputId = `${name}-input`;\n const errorId = `${name}-error`;\n const descriptionId = `${name}-description`;\n\n return (\n <div ref={containerRef}>\n {description && descriptionPosition === \"top\" && (\n <div\n id={descriptionId}\n className=\"proton-Input__text\"\n aria-live=\"polite\"\n >\n {description}\n </div>\n )}\n <div className={csx(\n \"proton-Input__container-inner\",\n prefix && \"proton-Input__has-prefix\",\n suffix && \"proton-Input__has-suffix\"\n )}>\n {prefix && (\n <div\n ref={prefixRef}\n className={csx(\n \"proton-Input__descriptor\",\n \"proton-Input__prefix\"\n )}\n >\n {prefix}\n </div>\n )}\n\n <input\n id={inputId}\n name={name}\n type={type}\n value={value}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.value);\n }}\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case \"Enter\":\n if (onSubmit) {\n e.preventDefault();\n onSubmit(e);\n }\n break;\n case \"Escape\":\n if (onClear) {\n e.preventDefault();\n onClear();\n }\n break;\n }\n }}\n onCopy={async () =>\n await copyTextToClipboard(inputRef.current?.value)\n }\n disabled={isDisabled}\n readOnly={isReadOnly}\n required={isRequired}\n autoFocus={autoFocus}\n autoComplete={autoComplete ? \"on\" : \"off\"}\n placeholder={label ? undefined : placeholder}\n aria-label={label || name}\n aria-invalid={Boolean(error)}\n aria-errormessage={typeof error === \"string\" ? error : errorId}\n aria-required={isRequired}\n aria-readonly={isReadOnly}\n aria-describedby={\n error ? errorId : description ? descriptionId : undefined\n }\n aria-disabled={isDisabled}\n data-testid={testId}\n ref={ref}\n className={csx(\n \"proton-Input\",\n error && \"proton-Input--error\",\n label && \"proton-Input__label-top\",\n className\n )}\n />\n\n <label\n htmlFor={inputId}\n className={csx(\n \"proton-Input__label\",\n value && \"proton-Input__label--filled\"\n )}\n >\n {label}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </label>\n\n {suffix && (\n <div\n ref={suffixRef}\n className={csx(\n \"proton-Input__descriptor\",\n \"proton-Input__suffix\"\n )}\n >\n {suffix}\n </div>\n )}\n </div>\n\n {error ? (\n <div\n role=\"alert\"\n className={csx(\"proton-Input__error\", \"proton-Input__text\")}\n id={errorId}\n >\n {error}\n </div>\n ) : description && descriptionPosition === \"bottom\" ? (\n <div\n id={descriptionId}\n className=\"proton-Input__text\"\n aria-live=\"polite\"\n >\n {description}\n </div>\n ) : null}\n </div>\n );\n }\n);\n\nInput.displayName = \"ProtonUIInput\";\n","import { useState } from \"react\";\nimport { csx } from \"../../../utils\";\nimport { copyTextToClipboard } from \"../../../utils/copy\";\nimport { Input } from \"../BaseInput/Input\";\nimport \"./CopyInput.css\";\n\nexport interface CopyInputProps {\n /** The name of the input field */\n name: string;\n\n /** The value to display in the input and copy to clipboard */\n value: string;\n\n /** Whether the input is disabled */\n isDisabled?: boolean;\n\n /** Optional callback when copy fails, receives the error object */\n onError?: (error: Error) => void;\n\n /** Optional callback when copy succeeds */\n onSuccess?: () => void;\n}\n\n/**\n * Input with a button to copy value to the clipboard.\n *\n * API:\n * - {@link CopyInputProps}\n */\nexport function CopyInput({\n name,\n value,\n isDisabled,\n onError,\n onSuccess,\n}: CopyInputProps) {\n const [isCopied, setCopied] = useState(false);\n\n return (\n <Input\n name={name}\n value={value}\n isDisabled={isDisabled}\n suffix={\n <CopyButton\n isCopied={isCopied}\n onClick={async () => {\n const copySuccess = await copyTextToClipboard(value, onError);\n if (!copySuccess) return;\n\n setCopied(true);\n onSuccess?.();\n setTimeout(() => setCopied(false), 5000);\n }}\n />\n }\n />\n );\n}\n\nconst CopyButton = ({ isCopied, onClick }) => {\n return (\n <div className=\"proton-CopyInput-button-container\" onClick={onClick}>\n <button\n data-testid=\"COPY_BUTTON\"\n className={csx(\n \"proton-CopyInput-button\",\n isCopied && \"proton-CopyInput-button--copied\"\n )}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 512 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M408 480H184a72 72 0 0 1-72-72V184a72 72 0 0 1 72-72h224a72 72 0 0 1 72 72v224a72 72 0 0 1-72 72\"\n />\n <path\n fill=\"currentColor\"\n d=\"M160 80h235.88A72.12 72.12 0 0 0 328 32H104a72 72 0 0 0-72 72v224a72.12 72.12 0 0 0 48 67.88V160a80 80 0 0 1 80-80\"\n />\n </svg>\n <span\n className={csx(\n \"proton-CopyInput-button-text\",\n isCopied && \"proton-CopyInput-button-text--copied\"\n )}\n >\n {isCopied ? \"Copied!\" : \"Copy\"}\n </span>\n </button>\n </div>\n );\n};\n","\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport \"./SearchInput.css\";\nimport { csx } from \"../../../utils\";\nimport { Input, type BaseInputProps } from \"../BaseInput/Input\";\n\nexport interface SearchInputProps\n extends Omit<\n BaseInputProps,\n | \"prefix\"\n | \"suffix\"\n | \"value\"\n | \"onChange\"\n | \"description\"\n | \"descriptionPosition\"\n | \"label\"\n > {\n /** The initial value of the input. */\n defaultValue?: string;\n\n /** Should the clear button be shown when there is text? */\n isClearable?: boolean;\n\n /** Called when the input value changes. */\n onChange?: (value: string) => void;\n\n /** Called when the clear button is clicked. */\n onClear?: () => void;\n\n /** The current value of the input (for controlled usage) */\n value?: string;\n}\n\n/**\n * A search input component with optional clear functionality and URL parameter sync.\n *\n * API:\n * - {@link SearchInputProps}\n * - extends {@link BaseInputProps}\n */\nexport const SearchInput = ({\n name = \"search\",\n placeholder = \"Search...\",\n autoComplete,\n isClearable = true,\n isDisabled = false,\n error,\n defaultValue,\n value: controlledValue,\n \"data-testid\": testId = \"proton-SearchInput\",\n onChange,\n onClear,\n}: SearchInputProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [value, setValue] = useState(controlledValue ?? defaultValue ?? \"\");\n\n // Sync with controlled value if provided\n useEffect(() => {\n if (controlledValue !== undefined) {\n setValue(controlledValue);\n }\n }, [controlledValue]);\n\n const handleChange = (newValue: string) => {\n setValue(newValue);\n onChange?.(newValue);\n };\n\n const handleClear = () => {\n setValue(\"\");\n onChange?.(\"\");\n onClear?.();\n inputRef.current?.focus();\n };\n\n return (\n <div\n className=\"proton-SearchInput__wrapper\"\n data-testid={testId}\n role=\"search\"\n >\n <Input\n type=\"search\"\n onChange={handleChange}\n value={value}\n name={name}\n placeholder={placeholder}\n autoComplete={autoComplete}\n error={error}\n ref={inputRef}\n isDisabled={isDisabled}\n prefix={\n <svg\n aria-hidden=\"true\"\n width=\"2.8em\"\n height=\"1.6em\"\n viewBox=\"0 0 24 24\"\n onClick={() => inputRef.current?.focus()}\n >\n <title>Magnifying Glass</title>\n <path\n fill=\"currentColor\"\n d=\"M10.5 18.5a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-1a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm5.25-.75 4.5 4.5-1.25 1.25-4.5-4.5 1.25-1.25Z\"\n />\n </svg>\n }\n suffix={\n isClearable && value.length > 0 ? (\n <button\n type=\"button\"\n className={csx(\n \"proton-SearchInput__button\",\n \"proton-Input__descriptor\",\n \"proton-Input__suffix\"\n )}\n data-testid={`${testId}-clear`}\n onClick={handleClear}\n aria-label=\"Clear search\"\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 50 50\"\n width=\"1.6em\"\n height=\"1.2em\"\n >\n <title>Clear</title>\n <path\n fill=\"currentColor\"\n d=\"m37.304 11.282l1.414 1.414l-26.022 26.02l-1.414-1.413z\"\n />\n <path\n fill=\"currentColor\"\n d=\"m12.696 11.282l26.022 26.02l-1.414 1.415l-26.022-26.02z\"\n />\n </svg>\n </button>\n ) : null\n }\n />\n </div>\n );\n};\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 })\n };\n}\n\n\nexport {$701a24aa0da5b062$export$ea18c227d4417cc3 as useButton};\n//# sourceMappingURL=useButton.module.js.map\n","import {useCallback as $hnMvi$useCallback} from \"react\";\nimport {useControlledState as $hnMvi$useControlledState} from \"@react-stately/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 $fc909762b330b746$export$61c6a8c84e605fb6(props) {\n let [isOpen, setOpen] = (0, $hnMvi$useControlledState)(props.isOpen, props.defaultOpen || false, props.onOpenChange);\n const open = (0, $hnMvi$useCallback)(()=>{\n setOpen(true);\n }, [\n setOpen\n ]);\n const close = (0, $hnMvi$useCallback)(()=>{\n setOpen(false);\n }, [\n setOpen\n ]);\n const toggle = (0, $hnMvi$useCallback)(()=>{\n setOpen(!isOpen);\n }, [\n setOpen,\n isOpen\n ]);\n return {\n isOpen: isOpen,\n setOpen: setOpen,\n open: open,\n close: close,\n toggle: toggle\n };\n}\n\n\nexport {$fc909762b330b746$export$61c6a8c84e605fb6 as useOverlayTriggerState};\n//# sourceMappingURL=useOverlayTriggerState.module.js.map\n","\"use client\";\n\nimport { useButton } from \"@react-aria/button\";\nimport { useDialog } from \"@react-aria/dialog\";\nimport { FocusScope } from \"@react-aria/focus\";\nimport { useModalOverlay, usePreventScroll } from \"@react-aria/overlays\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport { useRef } from \"react\";\nimport { useOverlayTriggerState } from \"@react-stately/overlays\";\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return (\n <FocusScope autoFocus>\n <div className=\"proton-Modal__actions\">{children}</div>\n </FocusScope>\n );\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const state = useOverlayTriggerState({ isOpen: true, onOpenChange: onClose });\n const { modalProps } = useModalOverlay(\n {\n isDismissable: false, //handle dismiss behavior in useIsClosing\n },\n state,\n ref\n );\n\n const { dialogProps } = useDialog({ role: \"dialog\" }, ref);\n usePreventScroll();\n\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const { buttonProps: closeButtonProps } = useButton(\n {\n onPress: onClose,\n \"aria-label\": \"Close\",\n },\n closeButtonRef\n );\n\n return (\n <FocusScope contain restoreFocus autoFocus>\n <div\n data-testid={dataTestId}\n className={csx(\"proton-Modal\", isClosing && \"proton-Modal--closing\")}\n {...mergeProps(modalProps, dialogProps)}\n ref={ref}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n {...closeButtonProps}\n ref={closeButtonRef}\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n </FocusScope>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay || isMobile ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n","\"use client\";\n\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport React, { CSSProperties } from \"react\";\nimport \"./Popover.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\n\nexport type PopoverSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type PopoverAlign = \"start\" | \"center\" | \"end\";\n\nexport interface PopoverProps {\n /**\n * The trigger element for the popover.\n */\n trigger: React.ReactNode;\n /**\n * The content of the popover.\n */\n children: React.ReactNode;\n /**\n * Constrain the width of the popover to the width of the trigger.\n */\n constrainWidth?: boolean;\n /**\n * Control open state (controlled mode).\n */\n open?: boolean;\n /**\n * Default open state (uncontrolled mode).\n */\n defaultOpen?: boolean;\n /**\n * Callback when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Popover side placement\n * {@link PopoverSide}\n */\n side?: PopoverSide;\n /**\n * Popover alignment\n * {@link PopoverAlign}\n */\n align?: PopoverAlign;\n /**\n * Show an arrow pointing to the trigger.\n */\n arrow?: boolean;\n /**\n * Test id for the popover content.\n */\n \"data-testid\"?: string;\n}\n\n/**\n * A popover component that handles positioning and supports controlled and uncontrolled modes.\n *\n * A popover displays interactive content in context with a trigger element.\n * A tooltip displays a description of an element on hover or focus.\n *\n * API:\n * - {@link PopoverProps}\n */\nexport function Popover({\n trigger,\n children,\n open,\n defaultOpen,\n onOpenChange,\n side = \"top\",\n align = \"center\",\n arrow = false,\n constrainWidth = false,\n \"data-testid\": testId,\n}: PopoverProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n return (\n <RadixPopover.Root\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <RadixPopover.Trigger asChild>\n <div>{trigger}</div>\n </RadixPopover.Trigger>\n\n <RadixPopover.Portal>\n <RadixPopover.Content\n side={side}\n sideOffset={2}\n align={align}\n style={themeStyle as CSSProperties}\n className={csx(\n \"proton-Popover\",\n constrainWidth && \"proton-Popover__constrained\",\n themeClass\n )}\n data-testid={testId}\n >\n {arrow && <RadixPopover.Arrow className=\"arrow\" />}\n {children}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n </RadixPopover.Root>\n );\n}\n\nPopover.displayName = \"Popover\";\n","\"use client\";\n\nimport {\n forwardRef,\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { Select as RadixSelect } from \"radix-ui\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { csx } from \"../../utils\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\n\nimport \"./Select.css\";\nimport \"../Menu/Menu.css\";\nimport { useTheme } from \"../ThemeProvider\";\n\ninterface SelectButtonProps {\n disabled?: boolean;\n isOpen?: boolean;\n children?: ReactNode;\n onClick?: () => void;\n isRounded?: boolean;\n}\n\nconst SelectButton = forwardRef<HTMLButtonElement, SelectButtonProps>(\n (\n { disabled, isOpen, children, onClick, isRounded, ...props },\n ref: RefObject<HTMLButtonElement>\n ) => {\n return (\n <button\n {...props}\n ref={ref}\n disabled={disabled}\n onClick={onClick}\n className={csx(\n \"proton-Select__trigger\",\n disabled && \"proton-Select__trigger--disabled\",\n !isOpen && \"proton-Select__trigger--closed\",\n isOpen && \"proton-Select__trigger--opened\",\n isRounded && \"proton-Select__trigger--rounded\"\n )}\n >\n {children}\n </button>\n );\n }\n);\nSelectButton.displayName = \"ProtonUISelectButton\";\n\nexport interface SelectItem {\n /** The label to display for the item */\n label: string;\n\n /** The key of the item */\n key: string;\n\n /** The URL to navigate to when the item is clicked, turns item into an a tag */\n to?: string;\n}\n\nexport interface SelectProps {\n /** Array of keys that should be disabled\n * @example [\"Thing 1\", \"Thing 2\"]\n */\n disabledKeys?: string[];\n\n /** The key of the default selected item */\n defaultSelectedKey?: string;\n\n /** Test ID for the select */\n \"data-testid\"?: string;\n\n /** Whether the select is disabled */\n isDisabled?: boolean;\n\n /** Array of items to display\n * @example [{ key: \"thing-1\", label: \"Thing 1\" }, { key: \"thing-2\", label: \"Thing 2\" }]\n * @see {@link SelectItem}\n */\n items: SelectItem[];\n\n /** Whether the select button is rounded\n * @default false\n */\n isRounded?: boolean;\n\n /** Label to display above the select\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text\n */\n label?: string;\n\n /** The name of the select field */\n name: string;\n\n /** Callback fired when the menu closes */\n onClose?: () => void;\n\n /** Callback fired when the menu opens */\n onOpen?: () => void;\n\n /** Callback fired when selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** Currently selected key */\n selectedKey?: string;\n}\n\n/**\n * A dropdown select menu that opens a popover on desktop and an action menu on mobile.\n * Supports controlled and uncontrolled modes.\n *\n * API:\n * - {@link SelectProps}\n */\nexport function Select({\n label,\n name,\n isDisabled,\n disabledKeys,\n selectedKey,\n onSelectionChange,\n defaultSelectedKey,\n onOpen, \n onClose,\n items,\n isRounded = false,\n \"data-testid\": testId,\n}: SelectProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [internalSelectedKey, setInternalSelectedKey] = useState(\n selectedKey || defaultSelectedKey || \"\"\n );\n const { className: themeClass, style: themeStyle } = useTheme();\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n\n // Handle controlled vs uncontrolled state\n const currentSelectedKey =\n selectedKey !== undefined ? selectedKey : internalSelectedKey;\n const selectedItem = items.find((item) => item.key === currentSelectedKey);\n\n const handleValueChange = (value: string) => {\n if (selectedKey === undefined) {\n setInternalSelectedKey(value);\n }\n onSelectionChange?.(value);\n\n // Update hidden input for form submission\n if (hiddenInputRef.current) {\n hiddenInputRef.current.value = value;\n hiddenInputRef.current.dispatchEvent(\n new Event(\"change\", { bubbles: true })\n );\n }\n };\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open);\n if (open) {\n onOpen?.();\n } else {\n onClose?.();\n }\n };\n\n // Update internal state when controlled selectedKey changes\n useEffect(() => {\n if (selectedKey !== undefined) {\n setInternalSelectedKey(selectedKey);\n }\n }, [selectedKey]);\n\n const actionItems: ActionMenuAction[] = items.map((item) => ({\n key: item.key,\n label: item.label,\n to: item.to,\n onAction: () => {\n handleValueChange(item.key);\n setIsOpen(false);\n },\n }));\n\n if (isMobile) {\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <SelectButton\n isOpen={isOpen}\n isRounded={isRounded}\n ref={triggerRef}\n disabled={isDisabled}\n data-testid={testId}\n onClick={() => setIsOpen(true)}\n >\n <div className=\"proton-Select__value\">\n {selectedItem ? selectedItem.label : \"Select an option\"}\n </div>\n <div\n className={csx(\n \"proton-Select__trigger_icon\",\n isOpen && \"proton-Select__trigger_icon--flipped\"\n )}\n aria-hidden=\"true\"\n >\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\n <title>{isOpen ? \"caret down\" : \"caret up\"}</title>\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n </div>\n </SelectButton>\n\n <ActionMenu\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n actions={actionItems}\n selectedKeys={[currentSelectedKey]}\n disabledKeys={disabledKeys}\n />\n </div>\n );\n }\n\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <RadixSelect.Root\n value={currentSelectedKey}\n onValueChange={handleValueChange}\n onOpenChange={handleOpenChange}\n disabled={isDisabled}\n >\n <RadixSelect.Trigger asChild>\n <SelectButton\n isRounded={isRounded}\n isOpen={isOpen}\n ref={triggerRef}\n disabled={isDisabled}\n data-testid={testId}\n >\n <RadixSelect.Value\n className=\"proton-Select__value\"\n placeholder=\"Select an option\"\n >\n {selectedItem ? selectedItem.label : \"Select an option\"}\n </RadixSelect.Value>\n <RadixSelect.Icon asChild>\n <div\n className={csx(\n \"proton-Select__trigger_icon\",\n isOpen && \"proton-Select__trigger_icon--flipped\"\n )}\n aria-hidden=\"true\"\n >\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\n <title>{isOpen ? \"caret down\" : \"caret up\"}</title>\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n </div>\n </RadixSelect.Icon>\n </SelectButton>\n </RadixSelect.Trigger>\n\n <RadixSelect.Portal>\n <RadixSelect.Content\n className={csx(\n \"proton-Menu\",\n \"proton-MenuTrigger__menu\",\n themeClass\n )}\n style={themeStyle as React.CSSProperties}\n position=\"popper\"\n >\n <RadixSelect.Viewport>\n {items.map((item) => (\n <RadixSelect.Item\n key={item.key}\n value={item.key}\n disabled={disabledKeys?.includes(item.key)}\n className=\"proton-Menu__item\"\n >\n <RadixSelect.ItemText>{item.label}</RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n </div>\n );\n}\n\nSelect.displayName = \"ProtonUISelect\";\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 {useToggle as $ifSyJ$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 */ \nfunction $b418ec0c85c52f27$export$d853f7095ae95f88(props, state, ref) {\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isPressed: isPressed, isDisabled: isDisabled, isReadOnly: isReadOnly } = (0, $ifSyJ$useToggle)(props, state, ref);\n return {\n labelProps: labelProps,\n inputProps: {\n ...inputProps,\n role: 'switch',\n checked: isSelected\n },\n isSelected: isSelected,\n isPressed: isPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly\n };\n}\n\n\nexport {$b418ec0c85c52f27$export$d853f7095ae95f88 as useSwitch};\n//# sourceMappingURL=useSwitch.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","\"use client\";\n\nimport { useRef } from \"react\";\nimport { useSwitch } from \"@react-aria/switch\";\nimport { VisuallyHidden } from \"@react-aria/visually-hidden\";\nimport { useToggleState } from \"@react-stately/toggle\";\n\nimport { csx } from \"../../utils\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps {\n /**\n * Whether the Switch is in the 'on' state (uncontrolled).\n */\n defaultOn?: boolean;\n\n /**\n * Whether the Switch is in the 'on' state. Providing this prop causes the\n * component to become controlled.\n */\n isOn?: boolean;\n\n /**\n * Should the input be non-interactive?\n */\n isDisabled?: boolean;\n\n /**\n * Called when the Switch's on state changes.\n */\n onChange?: (isOn: boolean) => void;\n\n /**\n * The string used for the input label. Forwarded to `aria-label`.\n */\n label?: string;\n\n /**\n * The text or component to be rendered as the Switch's description.\n */\n children?: React.ReactNode;\n}\n\n/**\n * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.\n *\n * API:\n * - {@link SwitchProps}\n */\nexport function Switch(props: SwitchProps) {\n let sanitizedProps = {\n ...props,\n isSelected: props.isOn,\n \"data-testid\": undefined,\n };\n\n let ref = useRef(null);\n\n let state = useToggleState(sanitizedProps);\n let { inputProps } = useSwitch(sanitizedProps, state, ref);\n\n return (\n <label\n className={csx(\n \"proton-Switch\",\n props.isDisabled && \"proton-Switch--disabled\",\n state.isSelected && \"proton-Switch--on\"\n )}\n data-on={state.isSelected || undefined}\n data-disabled={props.isDisabled || undefined}\n data-testid={props[\"data-testid\"] || undefined}\n aria-label={props.label || undefined}\n >\n <VisuallyHidden>\n <input {...inputProps} ref={ref} />\n </VisuallyHidden>\n {props.label && <div className=\"proton-Switch__label\">{props.label}</div>}\n <div className=\"proton-Switch__wrapper\">\n <div className=\"proton-Switch__toggle\">\n <div className=\"proton-Switch__slider\"></div>\n </div>\n {props.children && (\n <div className=\"proton-Switch__description\">{props.children}</div>\n )}\n </div>\n </label>\n );\n}\n","\"use client\";\n\nimport { ReactNode } from \"react\";\nimport { csx } from \"../../../utils\";\nimport \"./TextEllipsis.css\";\n\ninterface TextEllipsisProps {\n /**\n * The content to display within the text ellipsis.\n */\n children: ReactNode;\n\n /**\n * The maximum width of the text container in any valid CSS unit (px, rem, em, %, etc.).\n * When the container width is less than this value, text will be truncated with an ellipsis.\n */\n maxWidth?: string | number;\n\n /**\n * Whether to truncate the text to a single line. Default is true.\n * If false, the text will wrap to multiple lines.\n */\n singleLine?: boolean;\n\n /**\n * The number of lines to show before truncating with an ellipsis.\n * Only applies when singleLine is false.\n */\n lines?: number;\n\n /**\n * The title attribute to show on hover. If not provided and singleLine is true,\n * the children will be used as the title (if children is a string).\n */\n title?: string;\n\n /**\n * A test ID.\n */\n \"data-testid\"?: string;\n}\n\n/**\n * A component that displays text with an ellipsis when it overflows its container.\n *\n * API:\n * - {@link TextEllipsisProps}\n */\nexport const TextEllipsis = ({\n children,\n maxWidth,\n singleLine = true,\n lines = 1,\n title,\n \"data-testid\": testId,\n}: TextEllipsisProps) => {\n return (\n <div\n className={csx(\n \"proton-TextEllipsis\",\n singleLine || lines === 1\n ? \"proton-TextEllipsis--single-line\"\n : lines > 1\n ? \"proton-TextEllipsis--multi-line\"\n : \"\"\n )}\n style={{\n maxWidth: maxWidth,\n WebkitLineClamp: lines,\n }}\n title={title}\n data-testid={testId}\n >\n {children}\n </div>\n );\n};\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 // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\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","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {filterDOMProps as $8wt2Z$filterDOMProps} from \"@react-aria/utils\";\nimport $8wt2Z$react, {createContext as $8wt2Z$createContext, forwardRef as $8wt2Z$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\nconst $44f671af83e7d9e0$export$2de4954e8ae13b9f = /*#__PURE__*/ (0, $8wt2Z$createContext)({\n placement: 'bottom'\n});\nconst $44f671af83e7d9e0$export$746d02f47f4d381 = /*#__PURE__*/ (0, $8wt2Z$forwardRef)(function OverlayArrow(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $44f671af83e7d9e0$export$2de4954e8ae13b9f);\n let placement = props.placement;\n let style = {\n position: 'absolute',\n transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'\n };\n if (placement != null) style[placement] = '100%';\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-OverlayArrow',\n values: {\n placement: placement\n }\n });\n // remove undefined values from renderProps.style object so that it can be\n // spread merged with the other style object\n if (renderProps.style) Object.keys(renderProps.style).forEach((key)=>renderProps.style[key] === undefined && delete renderProps.style[key]);\n let DOMProps = (0, $8wt2Z$filterDOMProps)(props);\n return /*#__PURE__*/ (0, $8wt2Z$react).createElement(\"div\", {\n ...DOMProps,\n ...renderProps,\n style: {\n ...style,\n ...renderProps.style\n },\n ref: ref,\n \"data-placement\": placement\n });\n});\n\n\nexport {$44f671af83e7d9e0$export$2de4954e8ae13b9f as OverlayArrowContext, $44f671af83e7d9e0$export$746d02f47f4d381 as OverlayArrow};\n//# sourceMappingURL=OverlayArrow.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {useTooltipTrigger as $cCslV$useTooltipTrigger, OverlayContainer as $cCslV$OverlayContainer, useOverlayPosition as $cCslV$useOverlayPosition, mergeProps as $cCslV$mergeProps, useTooltip as $cCslV$useTooltip} from \"react-aria\";\nimport {useExitAnimation as $cCslV$useExitAnimation, useLayoutEffect as $cCslV$useLayoutEffect, useEnterAnimation as $cCslV$useEnterAnimation, filterDOMProps as $cCslV$filterDOMProps} from \"@react-aria/utils\";\nimport {FocusableProvider as $cCslV$FocusableProvider} from \"@react-aria/focus\";\nimport {useTooltipTriggerState as $cCslV$useTooltipTriggerState} from \"react-stately\";\nimport $cCslV$react, {createContext as $cCslV$createContext, useRef as $cCslV$useRef, forwardRef as $cCslV$forwardRef, useContext as $cCslV$useContext, useState as $cCslV$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\nconst $4e3b923658d69c60$export$7a7623236eec67fa = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nconst $4e3b923658d69c60$export$39ae08fa83328b12 = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nfunction $4e3b923658d69c60$export$8c610744efcf8a1d(props) {\n let state = (0, $cCslV$useTooltipTriggerState)(props);\n let ref = (0, $cCslV$useRef)(null);\n let { triggerProps: triggerProps, tooltipProps: tooltipProps } = (0, $cCslV$useTooltipTrigger)(props, state, ref);\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $4e3b923658d69c60$export$7a7623236eec67fa,\n state\n ],\n [\n $4e3b923658d69c60$export$39ae08fa83328b12,\n {\n ...tooltipProps,\n triggerRef: ref\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$FocusableProvider), {\n ...triggerProps,\n ref: ref\n }, props.children));\n}\nconst $4e3b923658d69c60$export$28c660c63b792dea = /*#__PURE__*/ (0, $cCslV$forwardRef)(function Tooltip({ UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);\n let contextState = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n let localState = (0, $cCslV$useTooltipTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $cCslV$useExitAnimation)(ref, state.isOpen) || props.isExiting || false;\n if (!state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$OverlayContainer), {\n portalContainer: UNSTABLE_portalContainer\n }, /*#__PURE__*/ (0, $cCslV$react).createElement($4e3b923658d69c60$var$TooltipInner, {\n ...props,\n tooltipRef: ref,\n isExiting: isExiting\n }));\n});\nfunction $4e3b923658d69c60$var$TooltipInner(props) {\n let state = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n // Calculate the arrow size internally\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $cCslV$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $cCslV$useState)(0);\n (0, $cCslV$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n let { overlayProps: overlayProps, arrowProps: arrowProps, placement: placement } = (0, $cCslV$useOverlayPosition)({\n placement: props.placement || 'top',\n targetRef: props.triggerRef,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen,\n arrowSize: arrowWidth,\n arrowBoundaryOffset: props.arrowBoundaryOffset,\n shouldFlip: props.shouldFlip,\n onClose: ()=>state.close(true)\n });\n let isEntering = (0, $cCslV$useEnterAnimation)(props.tooltipRef, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement: placement,\n isEntering: isEntering,\n isExiting: props.isExiting,\n state: state\n }\n });\n props = (0, $cCslV$mergeProps)(props, overlayProps);\n let { tooltipProps: tooltipProps } = (0, $cCslV$useTooltip)(props, state);\n let DOMProps = (0, $cCslV$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $cCslV$react).createElement(\"div\", {\n ...(0, $cCslV$mergeProps)(DOMProps, renderProps, tooltipProps),\n ref: props.tooltipRef,\n style: {\n ...overlayProps.style,\n ...renderProps.style\n },\n \"data-placement\": placement !== null && placement !== void 0 ? placement : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": props.isExiting || undefined\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children));\n}\n\n\nexport {$4e3b923658d69c60$export$7a7623236eec67fa as TooltipTriggerStateContext, $4e3b923658d69c60$export$39ae08fa83328b12 as TooltipContext, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger, $4e3b923658d69c60$export$28c660c63b792dea as Tooltip};\n//# sourceMappingURL=Tooltip.module.js.map\n","\"use client\";\n\nimport {\n Tooltip as AriaTooltip,\n TooltipProps as AriaTooltipProps,\n TooltipTrigger as AriaTooltipTrigger,\n Focusable,\n OverlayArrow,\n TooltipTriggerComponentProps,\n} from \"react-aria-components\";\n\nimport { useRef, useState } from \"react\";\nimport { useTheme } from \"../ThemeProvider\";\n\nimport { csx } from \"../../utils\";\nimport \"../Dialog/Dialog.css\";\nimport \"./Tooltip.css\";\n\nexport interface TooltipProps extends Omit<AriaTooltipProps, \"children\"> {\n children: React.ReactNode;\n arrow?: boolean;\n}\n\nfunction Tooltip({ children, arrow, ...props }: TooltipProps) {\n const { style, className } = useTheme();\n\n return (\n <AriaTooltip\n {...props}\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\n style={style as React.CSSProperties}\n >\n {arrow && (\n <OverlayArrow className={csx(\"proton__TooltipArrow\", className)}>\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\n <path d=\"M0 0 L4 4 L8 0\" />\n </svg>\n </OverlayArrow>\n )}\n\n {children}\n </AriaTooltip>\n );\n}\n\nexport interface TooltipTriggerProps\n extends TooltipProps,\n TooltipTriggerComponentProps {\n children: React.ReactNode;\n /**\n * The content to display in the tooltip. Zero-length titles string are never displayed.\n */\n content: string | React.ReactNode;\n /**\n * Whether to disable the trigger click feature.\n */\n disableTriggerClick?: boolean;\n}\n\n/**\n * Proton's TooltipTrigger component deviates from the Aria TooltipTrigger in that on mobile,\n * the trigger also opens the tooltip on click as well as hover & focus. This is to improve\n * accessibility and usability on mobile.\n *\n * If you wish to disable the trigger click feature, you can set the `disableTriggerClick` prop.\n * This is useful when using an info only Tooltip that might wrap a clickable element.\n *\n * API:\n * - {@link TooltipTriggerProps}\n * - extends {@link TooltipProps}\n * - extends {@link TooltipTriggerComponentProps}\n *\n * @example\n * ```tsx\n <TooltipTrigger content={...} placement=\"top\" arrow isDisabled={disabled}>\n {children}\n </TooltipTrigger>\n * ```\n */\nexport function TooltipTrigger({\n children,\n // trigger props\n delay = 500,\n closeDelay = 500,\n isDisabled,\n defaultOpen,\n onOpenChange,\n disableTriggerClick,\n // tooltip props\n content,\n ...tooltipProps\n}: TooltipTriggerProps) {\n const [isOpen, setIsOpen] = useState(false);\n const triggerClickRef = useRef<boolean>(false);\n const hasHovered = useRef<boolean>(false);\n\n if (content === \"\") return null;\n\n return (\n <AriaTooltipTrigger\n delay={delay}\n closeDelay={closeDelay}\n isDisabled={isDisabled}\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={(openState) => {\n // When opened via hover, we want to disable the trigger click feature as it causes\n // the tooltip state to get out of sync with the trigger state.\n if (openState && !triggerClickRef.current) hasHovered.current = true;\n\n if (onOpenChange) onOpenChange(openState);\n\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\n // it again here.\n if (!triggerClickRef.current) setIsOpen(openState);\n triggerClickRef.current = false;\n }}\n >\n {disableTriggerClick ? (\n <span className=\"proton__TooltipTrigger\" aria-label=\"Show tooltip\">\n {children}\n </span>\n ) : (\n <Focusable>\n <div\n role=\"button\"\n aria-label=\"Show tooltip\"\n className=\"proton__TooltipTrigger\"\n data-hovered={isOpen}\n onMouseEnter={() => {\n if (!isDisabled) {\n setIsOpen(true);\n }\n }}\n onMouseLeave={() => {\n if (!isDisabled) {\n setIsOpen(false);\n }\n }}\n onClick={() => {\n if (disableTriggerClick || isDisabled) return;\n\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\n // so we can safely disable the trigger click feature.\n if (hasHovered.current) return;\n\n triggerClickRef.current = true;\n setIsOpen(!isOpen);\n }}\n >\n {children}\n </div>\n </Focusable>\n )}\n <Tooltip {...tooltipProps}>{content}</Tooltip>\n </AriaTooltipTrigger>\n );\n}\n","\"use client\";\n\nimport { ReactNode } from \"react\";\nimport \"./TextEmphasis.css\";\n\nimport { csx } from \"../../../utils\";\nimport { useTheme } from \"../../ThemeProvider\";\nimport { TooltipTrigger, TooltipTriggerProps } from \"../../Tooltip/Tooltip\";\nimport {\n handleInternalNavigation,\n isUrlExternal,\n} from \"../../../utils/navigation\";\n\ninterface TextEmphasisProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\n */\n to?: string;\n /**\n * The content to display within the text emphasis.\n */\n children: ReactNode;\n /**\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\n */\n tooltipProps?: Omit<TooltipTriggerProps, \"children\">;\n /**\n * A test ID.\n */\n \"data-testid\"?: string;\n}\n\n/**\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\n *\n * API:\n * - {@link TextEmphasisProps}\n * - extends {@link React.HTMLAttributes}\n */\nexport const TextEmphasis = ({\n to,\n children,\n tooltipProps,\n \"data-testid\": testId,\n}: TextEmphasisProps) => {\n const { className: themeClassName } = useTheme();\n\n const content = tooltipProps ? (\n <TooltipTrigger delay={50} closeDelay={75} {...tooltipProps}>\n {children}\n </TooltipTrigger>\n ) : (\n children\n );\n\n if (to) {\n const isExternal = isUrlExternal(to);\n return (\n <span\n className={csx(\n \"proton-TextEmphasis\",\n tooltipProps && \"proton-TextEmphasis--tooltip\",\n themeClassName\n )}\n >\n <a\n data-testid={testId}\n href={to}\n target={isExternal ? \"_blank\" : undefined}\n rel={isExternal ? \"noopener noreferrer\" : undefined}\n onClick={\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\n }\n >\n {content}\n </a>\n </span>\n );\n }\n\n return (\n <span\n className={csx(\n \"proton-TextEmphasis\",\n tooltipProps && \"proton-TextEmphasis--tooltip\",\n themeClassName\n )}\n data-testid={testId}\n >\n {content}\n </span>\n );\n};\n","import { csx } from \"../../utils\";\n\ninterface WaveformBarProps {\n amplitude: number;\n isDisabled: boolean;\n isPlayed: boolean;\n isHovered: boolean;\n isVisible: boolean;\n hasAnimated: boolean;\n resolution: number;\n spacing: number;\n index: number;\n}\n\nexport function WaveformBar({\n amplitude,\n isDisabled,\n isPlayed,\n isHovered,\n isVisible,\n hasAnimated,\n resolution,\n spacing,\n index,\n}: WaveformBarProps) {\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\n\n return (\n <div\n className={csx(\"proton-Waveform__bar-wrapper\")}\n style={{\n width: `${resolution}px`,\n marginRight: `${spacing}px`,\n }}\n >\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--upper\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--lower\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n {isHovered && !isDisabled && !isPlayed && (\n <div\n className=\"proton-Waveform__bar--hover\"\n style={\n {\n \"--hover-height\": barHeight,\n } as React.CSSProperties\n }\n />\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { csx } from \"../../utils\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Waveform.css\";\nimport { WaveformBar } from \"./WaveformBar\";\n\nexport interface WaveformProps {\n /**\n * Array of normalized amplitude values (0-1) representing the waveform.\n * If not provided, uses a sample sine wave.\n */\n data?: number[];\n\n /**\n * Current playback position in seconds.\n */\n currentTime?: number;\n\n /**\n * Test ID for testing purposes.\n */\n \"data-testid\"?: string;\n\n /**\n * Whether the entire waveform is disabled.\n */\n disabled?: boolean;\n\n /**\n * Reason for the waveform being disabled.\n */\n disabledMessage?: string;\n\n /**\n * End time to display until in seconds.\n */\n endDuration?: number;\n\n /**\n * Click handler that receives the clicked position (0-1) and event.\n */\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Width in pixels of each waveform bar.\n */\n resolution?: number;\n\n /**\n * Whether to show timestamp markers.\n */\n showTimestamps?: boolean;\n\n /**\n * Start time to display from in seconds.\n */\n startDuration?: number;\n\n /**\n * Total duration of the audio in seconds.\n */\n totalDuration: number;\n}\n\nconst sampleWaveform = generateSampleWaveformData(100);\n\n/**\n * A waveform visualization component that displays audio data with interactive features.\n *\n * API:\n * - {@link WaveformProps}\n */\nexport function Waveform({\n data: waveformData,\n resolution = 2,\n startDuration,\n endDuration,\n currentTime = 0,\n showTimestamps = false,\n totalDuration,\n disabled,\n disabledMessage,\n onClick,\n \"data-testid\": testId,\n}: WaveformProps) {\n const { className } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [hasAnimated, setHasAnimated] = useState(false);\n\n const waveform = waveformData || sampleWaveform;\n\n const spacing = resolution;\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const processWaveform = (width: number) => {\n const numBars = Math.floor(width / (resolution + spacing));\n const processed = resampleData(waveform, numBars);\n setProcessedWaveform(processed);\n };\n\n const initialWidth = containerRef.current.clientWidth;\n processWaveform(initialWidth);\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0]) {\n processWaveform(entries[0].contentRect.width);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n return () => resizeObserver.disconnect();\n }, [waveform, resolution, spacing]);\n\n useEffect(() => {\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\n\n return () => {\n clearTimeout(visibilityTimer);\n clearTimeout(animationTimer);\n };\n }, []);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n setHoverPosition(position);\n };\n\n const handleMouseLeave = () => {\n setHoverPosition(null);\n };\n\n // Calculate the width of a single bar including spacing\n const barTotalWidth = resolution + spacing;\n\n // Find the nearest bar boundaries for start and end durations\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\n const position = (time / totalDuration) * 100;\n const barIndex =\n direction === \"start\"\n ? Math.floor((position / 100) * processedWaveform.length)\n : Math.ceil((position / 100) * processedWaveform.length);\n\n return (\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\n );\n };\n\n const containerWidth = containerRef.current?.clientWidth;\n const waveformMessage = useMemo(() => {\n if (disabled && disabledMessage) return disabledMessage;\n if (!waveformData) return \"Waveform Unavailable\";\n\n return null;\n }, [disabled, disabledMessage, waveformData]);\n\n return (\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\n {showTimestamps && (\n <TimestampBlock direction=\"left\" seconds={currentTime} />\n )}\n <div\n ref={containerRef}\n className=\"proton-Waveform__container\"\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n onClick={(e) => {\n if (!containerRef.current || disabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n onClick?.(position, e);\n }}\n data-disabled={disabled}\n data-testid=\"waveform-container\"\n >\n {startDuration !== undefined && endDuration !== undefined && (\n <div\n className=\"proton-Waveform__active-region\"\n style={{\n left: containerRef.current\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\n : \"0%\",\n right: containerRef.current\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\n : \"0%\",\n }}\n />\n )}\n {hoverPosition !== null && (\n <div\n className=\"proton-Waveform__hover-line\"\n style={{\n left: `${(hoverPosition / totalDuration) * 100}%`,\n }}\n />\n )}\n {processedWaveform.map((amplitude, index) => {\n const position = (index / processedWaveform.length) * totalDuration;\n const isBarOutsideActiveRegion =\n startDuration !== undefined &&\n endDuration !== undefined &&\n (position < startDuration || position > endDuration);\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\n const isHovered = hoverPosition !== null && position <= hoverPosition;\n\n return (\n <WaveformBar\n key={index}\n amplitude={amplitude}\n isDisabled={disabled || isBarOutsideActiveRegion}\n isPlayed={isPlayed}\n isHovered={isHovered}\n isVisible={isVisible}\n hasAnimated={hasAnimated}\n resolution={resolution}\n spacing={spacing}\n index={index}\n />\n );\n })}\n </div>\n\n {waveformMessage && (\n <div\n className=\"proton-Waveform__bar-unavailable\"\n style={{\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\n }}\n >\n {waveformMessage}\n </div>\n )}\n\n {showTimestamps && (\n <TimestampBlock direction=\"right\" seconds={totalDuration} />\n )}\n </div>\n );\n}\n\nfunction TimestampBlock({\n direction,\n seconds,\n}: {\n direction: \"left\" | \"right\";\n seconds: number;\n}) {\n return (\n <div\n className={csx(\n \"proton-Waveform__timestamp\",\n `proton-Waveform__timestamp--${direction}`\n )}\n >\n {formatTimestamp(seconds)}\n </div>\n );\n}\n\n/** Formats seconds into MM:SS timestamp string\n * @param {number} seconds - Number of seconds to format\n * @returns {string} Formatted timestamp string in MM:SS format\n */\n\nfunction formatTimestamp(seconds: number) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n return `${minutes}:${\n remainingSeconds < 10 ? \"0\" : \"\"\n }${remainingSeconds.toFixed(0)}`;\n}\n\n/** Takes an array of waveform data and rescales it to any length\n * @param {array} initialData - original waveform data\n * @param {number} finalArrayLength - How long do you want the returned array?\n * @param {number} height - Height of the waveform container\n */\n\nfunction resampleData(initialData: number[], finalArrayLength: number) {\n const initialArrayLength = initialData.length;\n // How many samples from the original data do we skip per new sample?\n const step = initialArrayLength / finalArrayLength;\n\n // Create new array with desired length\n const resampledData = new Array(finalArrayLength)\n .fill(0)\n .map((_, newIndex) => {\n // Calculate position in original array\n const position = newIndex * step;\n const leftIndex = Math.floor(position);\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\n\n // Calculate weights for interpolation\n const fraction = position - leftIndex;\n\n // Linear interpolation between adjacent samples\n const newVal =\n initialData[leftIndex] * (1 - fraction) +\n initialData[rightIndex] * fraction;\n\n return newVal;\n });\n\n return scaleData(resampledData);\n}\n\n/** Takes an array of waveform data and scales it based on the desired pixel height\n * @param {array} data – Array of waveform data\n * @param {number} height - Height of the waveform container\n */\nfunction scaleData(data: number[]) {\n const min = Math.min(...data);\n const max = Math.max(...data);\n\n return data.map((item) => {\n // Normalize to 0-1 range first\n const normalized = (item - min) / (max - min);\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\n return Math.max(normalized * 0.8 + 0.1, 0.1);\n });\n}\n\n/** Generates a sample sine wave waveform data array\n * @param {number} length - Length of the waveform data array\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\n */\n\nfunction generateSampleWaveformData(length: number) {\n return Array.from({ length }, (_, i) => {\n const cycles = 6;\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\n return Math.sin(phase) * 0.5 + 0.5;\n });\n}\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","value","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","owner","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","didWarnAboutKeySpread","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","beforeExample","afterExample","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","ButtonVariants","ButtonSizes","Button","forwardRef","variant","size","fullWidth","icon","to","target","onPress","isDisabled","testId","isExternal","isUrlExternal","buttonRef","useRef","useLayoutEffect","commonProps","csx","content","Fragment","handleInternalNavigation","generateStylesheet","palette","theme","themeVariables","THEMES","DARK_STYLESHEET","LIGHT_STYLESHEET","customVars","generateCustomStylesheet","ThemeContext","createContext","useTheme","useContext","ThemeProvider","LIGHT_PALETTE","containerRef","themeClass","THEME_CLASSES","useMemo","useEffect","ScreenOverlay","fadeIn","onClose","handleEscKey","event","Portal","iconURL","Icon","iconStyle","Chevron","direction","rotateMap","ActionMenu","isOpen","actions","showCancel","cancelButtonText","selectionMode","selectedKeys","disabledKeys","onSelectionChange","title","useLockBodyScroll","contentHeight","setContentHeight","useState","stackHistory","setStackHistory","currentActionStack","setCurrentActionStack","contentRef","menuRef","overlayRef","isClosing","handleClose","useIsClosing","currentActions","hasActions","hasContent","isInSubmenu","handleSubmenuOpen","action","prevStackHistory","prevStack","handleBack","previousStack","DropdownMenu","open","ActionMenuList","_a","previousMenuTitle","ActionMenuItemMap","itemProps","ActionMenuItem","isSubmenu","isSelected","radixItemProps","onSelect","createElement","checked","currentKeys","BadgeVariants","Badge","BANNER_ICONS","BANNER_VARIANTS","BannerContext","Banner","rounded","compact","dataTestId","BannerTitle","BannerContent","getIconContent","BannerIcon","iconContent","BannerAction","buttonProps","BannerActions","$884aeceb3d67f00f$export$37b65e5b5444d35c","$8a9cb279dc87e130$export$525bc4921d56d4a","nativeEvent","$8a9cb279dc87e130$export$c2b7abe5d61ec696","$8a9cb279dc87e130$export$715c682d09d639cc","onBlur","stateRef","$6dfIe$useRef","$6dfIe$useLayoutEffect","state","dispatchBlur","$6dfIe$useEffectEvent","$6dfIe$useCallback","onBlurHandler","_stateRef_current_observer","relatedTargetEl","$8a9cb279dc87e130$export$fda7da73ab5d4c48","$8a9cb279dc87e130$export$cabe61c495ee3649","$6dfIe$isFocusable","window","$6dfIe$getOwnerWindow","activeElement","isRefocusing","onFocusOut","$6dfIe$focusWithoutScrolling","cleanup","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","privateMap","_class_private_field_get","_check_private_redeclaration","obj","privateCollection","_class_private_field_init","_class_apply_descriptor_set","_class_private_field_set","$f6c31cce2adf654f$var$usePressResponderContext","$7mdmh$useContext","register","contextProps","$7mdmh$mergeProps","$7mdmh$useSyncRef","$f6c31cce2adf654f$var$_shouldStopPropagation","$f6c31cce2adf654f$var$PressEvent","$7mdmh$_2","$7mdmh$_","pointerType","originalEvent","$7mdmh$_1","_state_target","currentTarget","rect","y","clientX","clientY","$f6c31cce2adf654f$var$LINK_CLICKED","$f6c31cce2adf654f$var$STYLE_ID","$f6c31cce2adf654f$var$PRESSABLE_ATTRIBUTE","$f6c31cce2adf654f$export$45712eceda6fad21","onPressChange","onPressStart","onPressEnd","onPressUp","onClick","isPressedProp","preventFocusOnPress","shouldCancelOnPointerExit","allowTextSelectionOnPress","domRef","domProps","isPressed","setPressed","$7mdmh$useState","$7mdmh$useRef","addGlobalListener","removeAllGlobalListeners","$7mdmh$useGlobalListeners","triggerPressStart","$7mdmh$useEffectEvent","shouldStopPropagation","triggerPressEnd","wasPressed","triggerPressUp","cancel","$f6c31cce2adf654f$var$createEvent","dispose","cancelOnPointerExit","triggerClick","triggerSyntheticClick","pressProps","$7mdmh$useMemo","$f6c31cce2adf654f$var$isValidKeyboardEvent","$7mdmh$nodeContains","$7mdmh$getEventTarget","_state_metaKeyEvents","$f6c31cce2adf654f$var$shouldPreventDefaultKeyboard","originalTarget","pressUp","$7mdmh$getOwnerDocument","$7mdmh$chain","onKeyUp","$7mdmh$isMac","$7mdmh$openLink","$7mdmh$isVirtualClick","stopPressStart","stopPressUp","stopPressEnd","_state_metaKeyEvents1","$f6c31cce2adf654f$var$isHTMLAnchorLink","events","$7mdmh$isVirtualPointerEvent","onPointerUp","onPointerCancel","clicked","timeout","$7mdmh$focusWithoutScrolling","$7mdmh$flushSync","onMouseUp","touch","$f6c31cce2adf654f$var$getTouchFromEvent","$f6c31cce2adf654f$var$createTouchEvent","$7mdmh$getOwnerWindow","onScroll","$f6c31cce2adf654f$var$getTouchById","$f6c31cce2adf654f$var$isOverTarget","$7mdmh$useEffect","ownerDocument","style","code","role","$f6c31cce2adf654f$var$isValidInputKey","targetTouches","pointerId","changedTouches","$f6c31cce2adf654f$var$getPointClientRect","point","offsetX","offsetY","$f6c31cce2adf654f$var$areRectanglesOverlapping","pointRect","$f6c31cce2adf654f$var$shouldPreventDefaultUp","$f6c31cce2adf654f$var$nonTextInputTypes","$b5e257d569688ac6$var$IsSSRContext","$670gB$react","$b5e257d569688ac6$var$getSnapshot","$b5e257d569688ac6$var$getServerSnapshot","$b5e257d569688ac6$var$subscribe","onStoreChange","$b5e257d569688ac6$export$535bd6ca7f90a273","$670gB$useContext","$507fabe10e71c6fb$var$currentModality","$507fabe10e71c6fb$var$changeHandlers","$507fabe10e71c6fb$export$d90243b58daecda7","$507fabe10e71c6fb$var$hasEventBeforeFocus","$507fabe10e71c6fb$var$hasBlurredWindowRecently","$507fabe10e71c6fb$var$triggerChangeHandlers","modality","handler","$507fabe10e71c6fb$var$isValidKey","$28AnR$isMac","$507fabe10e71c6fb$var$handleKeyboardEvent","$507fabe10e71c6fb$var$handlePointerEvent","$507fabe10e71c6fb$var$handleClickEvent","$28AnR$isVirtualClick","$507fabe10e71c6fb$var$handleFocusEvent","$507fabe10e71c6fb$var$handleWindowBlur","$507fabe10e71c6fb$var$setupGlobalFocusEvents","$28AnR$getOwnerWindow","windowObject","$28AnR$getOwnerDocument","focus","$507fabe10e71c6fb$var$tearDownWindowFocusTracking","loadListener","$507fabe10e71c6fb$export$2f1888112f558a7d","$507fabe10e71c6fb$export$630ff653c5ada6a9","$507fabe10e71c6fb$export$8397ddfc504fdb9a","$3ad3f6e1647bc98d$export$80f3e147d781571c","$k50bp$getOwnerDocument","$k50bp$getActiveElement","lastFocusedElement","$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$13f3202a3e5ddd5","objRef","$fcPuG$useObjectRef","$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","$e0b6e0b68ec7f50f$export$872b660ac5a1ff98","onInteractOutside","onInteractOutsideStart","$ispOf$useRef","onPointerDown","$ispOf$useEffectEvent","$e0b6e0b68ec7f50f$var$isValidEvent","triggerInteractOutside","$ispOf$useEffect","$ispOf$getOwnerDocument","onTouchEnd","$e93e671b31057976$export$b8473d3665f3a75a","validationBehavior","$9Gacy$useLayoutEffect","errorMessage","$e93e671b31057976$var$getNativeValidity","isIgnoredReset","$9Gacy$useRef","onReset","$9Gacy$useEffectEvent","onInvalid","_ref_current","form","$e93e671b31057976$var$getFirstInvalidInput","_ref_current1","$9Gacy$setInteractionModality","onChange","$9Gacy$useEffect","input","reset","$e93e671b31057976$var$getValidity","validity","$0d5c49892c1215da$export$37b0961d2f4751e2","ariaLabel","ariaLabelledby","hasChildren","hasAriaLabel","$5jJ3f$usePress","labelProps","isLabelPressed","focusableProps","$5jJ3f$useFocusable","$5jJ3f$mergeProps","$5jJ3f$filterDOMProps","descriptionId","errorMessageId","$5jJ3f$useFormReset","$5jJ3f$useFormValidation","$9bf71ea28793e738$var$FocusContext","$cgawC$react","$9bf71ea28793e738$var$RESTORE_FOCUS_EVENT","$9bf71ea28793e738$var$activeScope","$9bf71ea28793e738$export$20e40289641fbbb6","contain","restoreFocus","autoFocus","startRef","$cgawC$useRef","endRef","scopeRef","parentNode","$cgawC$useContext","$cgawC$useMemo","$9bf71ea28793e738$var$TreeNode","$cgawC$useLayoutEffect","parent","$9bf71ea28793e738$export$d06fae2ee68b101e","$9bf71ea28793e738$var$isAncestorScope","activeNode","_startRef_current","nodes","stopPropagation","$9bf71ea28793e738$var$useActiveScopeTracker","$9bf71ea28793e738$var$useFocusContainment","$9bf71ea28793e738$var$useRestoreFocus","$9bf71ea28793e738$var$useAutoFocus","$cgawC$useEffect","$cgawC$getActiveElement","$cgawC$getOwnerDocument","scope","$9bf71ea28793e738$var$isElementInScope","_focusScopeTree_getTreeNode_parent","_focusScopeTree_getTreeNode","_focusScopeTree_getTreeNode_parent_scopeRef","parentScope","focusManager","$9bf71ea28793e738$var$createFocusManagerForScope","opts","from","tabbable","wrap","accept","_scope_","sentinel","scopeRoot","$9bf71ea28793e738$var$getScopeRoot","walker","$9bf71ea28793e738$export$2d6ec8fc375ceafa","nextNode","$9bf71ea28793e738$var$focusElement","previousNode","$9bf71ea28793e738$var$shouldContainFocus","$9bf71ea28793e738$var$isTabbableRadio","radios","radio","_element_form_elements","_element_form","radioList","focusedNode","onKeyDown","focusedElement","nextElement","$cgawC$getEventTarget","$9bf71ea28793e738$var$isElementInChildScope","$9bf71ea28793e738$var$focusFirstInScope","$cgawC$getInteractionModality","shouldSkipFocusRestore","$cgawC$isAndroid","$cgawC$isChrome","_focusedNode_current","$9bf71ea28793e738$var$isElementInAnyScope","$9bf71ea28793e738$export$1258395f99bf9cbf","ancestor","scroll","$cgawC$focusSafely","$9bf71ea28793e738$var$getFirstInScope","restore","$9bf71ea28793e738$var$shouldRestoreFocus","nodeToRestoreRef","treeNode","nodeToRestore","_nodeToRestoreRef_current","clonedTree","$9bf71ea28793e738$var$restoreFocusToElement","root","filter","$cgawC$isTabbable","$cgawC$isFocusable","rootElement","doc","$cgawC$createShadowTreeWalker","_opts_from","$9bf71ea28793e738$var$Tree","data","current","_node_parent","newTree","_node_parent_scopeRef","$d191a55c9702f145$export$8467354a121f1b9f","id","label","labelElementType","$83Elw$useId","labelId","fieldProps","$83Elw$useLabels","$2baaea4c71418dea$export$294aa081a6c6f55d","description","isInvalid","validationState","$2kC82$useSlotId","$2kC82$mergeProps","$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","listener","$1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a","isSSR","$ffhGL$useIsSSR","defaultLocale","setDefaultLocale","$ffhGL$useState","$ffhGL$useEffect","$18f2051aff69b9bf$var$I18nContext","$h9FiU$react","$18f2051aff69b9bf$export$43bb16f9c6d9e3f7","$h9FiU$useContext","$430f30ed08ec25fa$export$62b9571f283ff5c2","isReadOnly","isRequired","orientation","$czmJy$useLocale","validationErrors","validationDetails","descriptionProps","errorMessageProps","$czmJy$useField","$czmJy$filterDOMProps","focusWithinProps","$czmJy$useFocusWithin","_props_onBlur","nextDir","$czmJy$getFocusableTreeWalker","$czmJy$getOwnerWindow","nextElem","groupName","$czmJy$useId","$czmJy$mergeProps","$5c3e21d68f1c4674$var$styles","$5c3e21d68f1c4674$export$a966af930f325cab","isFocusable","isFocused","setFocused","$7JYt2$useState","$7JYt2$useFocusWithin","val","combinedStyles","$7JYt2$useMemo","$5c3e21d68f1c4674$export$439d29a4e110a164","Element","visuallyHiddenProps","$7JYt2$react","$7JYt2$mergeProps","$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","builtinValidation","validate","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","$e5be200c675c3b3a$var$isEqualValidation","$69F46$useEffect","v","errors","$458b0a5536c1a7cf$export$40bfa8c7b0832715","defaultValue","stateValue","setStateValue","$3whtM$useState","isControlledRef","$3whtM$useRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","setValue","$3whtM$useCallback","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$a54cdc5c1942b639$var$instance","$a54cdc5c1942b639$var$i","$a54cdc5c1942b639$export$bca9d026f8e704eb","$l55kx$useMemo","_props_defaultValue","selectedValue","setSelected","$l55kx$useControlledState","initialValue","$l55kx$useState","lastFocusedValue","setLastFocusedValue","validation","$l55kx$useFormValidationState","setSelectedValue","_props_defaultValue1","ButtonGroupContext","ButtonGroup","sanitizedProps","useRadioGroupState","radioGroupProps","useRadioGroup","inputProps","useRadio","VisuallyHidden","PopoverMenu","trigger","items","onOpenChange","selectedKey","themeStyle","renderMenuItem","className","RadixDropdownMenu","MenuTrigger","renderTrigger","disabled","triggerTestId","menuTestId","isMobile","useBreakpoint","BREAKPOINTS","setIsOpen","triggerRef","menuItems","handleSelectionChange","triggerButton","EllipsisIcon","nextKey","FIXED_TRIGGER_WIDTH","ButtonWithSelect","textShift","TriggerButton","TableHeader","TableColumn","TableBody","TableRow","TableCell","isComponentType","componentType","parseTableChildren","columns","rows","Children","headerProps","columnChild","TableColumnComp","columnProps","bodyProps","rowChild","TableRowComp","rowProps","cells","cellIndex","cellChild","TableCellComp","cellProps","columnKey","useTableCollection","keyToIndexMap","map","row","index","getItemByKey","getItemAfter","getItemBefore","getItemIndex","firstItem","lastItem","isHeaderHidden","hasVisibleHeader","getTotalRowCount","getRowAriaIndex","rowIndex","TableComponent","tableData","collection","column","colIndex","cell","Table","Elevation","hasPrimaryGradient","hasPalette","defaultBg","primaryDark","secondaryDark","transparentize","basePrimary","baseSecondary","mix","Tombstone","width","height","borderRadius","DataTable","loading","tombstoneComponent","onRowClick","emptyMessage","loadingRows","sortableColumns","sortedBy","sortDirection","onSort","visibleColumns","col","handleSortClick","newDirection","getSortState","columnId","message","EmptyState","isSortable","sortState","rowKey","isError","$a11501f3d1d39e6c$var$visibleOverlays","$a11501f3d1d39e6c$export$ea8f71083e90600f","shouldCloseOnBlur","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","$jtpZv$useEffect","onHide","$jtpZv$useInteractOutside","$jtpZv$useFocusWithin","$jtpZv$isElementInChildOfActiveScope","onPointerDownUnderlay","$49c51c25361d4cd2$var$visualViewport","$49c51c25361d4cd2$var$nonTextInputTypes","$49c51c25361d4cd2$var$preventScrollCount","$49c51c25361d4cd2$var$restore","$49c51c25361d4cd2$export$ee0f7cc6afcd1c18","options","$7mMvr$useLayoutEffect","$7mMvr$isIOS","$49c51c25361d4cd2$var$preventScrollMobileSafari","$49c51c25361d4cd2$var$preventScrollStandard","scrollbarWidth","$7mMvr$chain","$49c51c25361d4cd2$var$setStyle","scrollable","restoreScrollableStyles","onTouchStart","$7mMvr$getScrollParent","onTouchMove","$49c51c25361d4cd2$var$willOpenKeyboard","setupStyles","$49c51c25361d4cd2$var$scrollIntoView","restoreStyles","onWindowScroll","scrollX","scrollY","$49c51c25361d4cd2$var$addEvent","removeEvents","cur","nextTarget","scrollableTop","targetTop","$5e3802645cc19319$var$supportsInert","$5e3802645cc19319$var$refCountMap","$5e3802645cc19319$var$observerStack","$5e3802645cc19319$export$1c3ebcada18427bf","targets","windowObj","$fF94N$getOwnerWindow","_opts_root","shouldUseInert","visibleNodes","hiddenNodes","getHidden","setHidden","hidden","walk","acceptNode","acceptRoot","hide","_refCountMap_get","refCount","observer","changes","change","observerWrapper","count","$337b884510726a0d$export$a2200b96afd16271","$1CM7W$react","$337b884510726a0d$export$14c98a7594375490","ctx","$1CM7W$useContext","setContain","$1CM7W$useLayoutEffect","$8ac8429251c45e4b$export$dbc0f175b25fb0fb","overlayProps","underlayProps","$7Dhkr$useEffect","$7Dhkr$mergeProps","$40df3f8667284809$export$d55e7ee900f34e93","titleId","$i6df2$useSlotId","$i6df2$useRef","$i6df2$useEffect","$i6df2$focusSafely","$i6df2$useOverlayFocusContain","$i6df2$filterDOMProps","Dialog","dialogProps","titleProps","useDialog","getBgWhiteOverlayColor","color","r","brightness","brightnessPercentage","ImageBackground","image","imageUrl","onLoad","baseColor","parseToRgba","backgroundColor","Input","suffix","descriptionPosition","placeholder","autoComplete","onSubmit","onClear","forwardedRef","inputRef","prefixRef","suffixRef","updateSizes","containerWidth","prefixWidth","suffixWidth","_b","resizeObserver","inputId","errorId","copyTextToClipboard","CopyInput","onError","onSuccess","isCopied","setCopied","CopyButton","SearchInput","isClearable","controlledValue","handleChange","newValue","handleClear","$701a24aa0da5b062$export$ea18c227d4417cc3","elementType","allowFocusWhenDisabled","href","rel","additionalProps","$bwqiF$usePress","$bwqiF$useFocusable","$bwqiF$mergeProps","$bwqiF$filterDOMProps","$fc909762b330b746$export$61c6a8c84e605fb6","setOpen","$hnMvi$useControlledState","$hnMvi$useCallback","close","toggle","ModalTitle","ModalSubtitle","ModalBody","ModalAction","ModalActions","FocusScope","ModalContent","subtitle","body","useOverlayTriggerState","modalProps","useModalOverlay","usePreventScroll","closeButtonRef","closeButtonProps","useButton","mergeProps","ModalWrapper","isOverlay","modalContent","Modal","Popover","defaultOpen","side","align","arrow","constrainWidth","RadixPopover","SelectButton","isRounded","Select","defaultSelectedKey","onOpen","internalSelectedKey","setInternalSelectedKey","hiddenInputRef","currentSelectedKey","selectedItem","handleValueChange","handleOpenChange","actionItems","RadixSelect","$d2c8e2b0480f3f34$export$cbe85ee05b554577","$bvdLj$usePress","$bvdLj$useFocusable","$bvdLj$mergeProps","$bvdLj$filterDOMProps","$bvdLj$useFormReset","$b418ec0c85c52f27$export$d853f7095ae95f88","$ifSyJ$useToggle","$3017fa7ffdddec74$export$8042c6c013fd5226","$d8rik$useControlledState","$d8rik$useState","updateSelected","toggleState","_props_defaultSelected","Switch","useToggleState","useSwitch","TextEllipsis","maxWidth","singleLine","lines","$64fa3d84918910a7$export$c62b8e45d58ddad9","$64fa3d84918910a7$export$2881499e37b75b9a","Context","$iETbY$react","$64fa3d84918910a7$export$4d86445c2cf5e3","defaultClassName","defaultChildren","defaultStyle","$iETbY$useMemo","computedClassName","computedStyle","computedChildren","$64fa3d84918910a7$export$fabf2dc03a41866e","slot","$iETbY$useContext","slotKey","availableSlots","$64fa3d84918910a7$export$29f1550f4b0d4415","contextRef","mergedRef","$iETbY$useObjectRef","$iETbY$mergeRefs","mergedProps","$iETbY$mergeProps","renderProps","contextStyle","$44f671af83e7d9e0$export$2de4954e8ae13b9f","$8wt2Z$createContext","$44f671af83e7d9e0$export$746d02f47f4d381","$8wt2Z$forwardRef","placement","DOMProps","$8wt2Z$filterDOMProps","$8wt2Z$react","$4e3b923658d69c60$export$7a7623236eec67fa","$cCslV$createContext","$4e3b923658d69c60$export$39ae08fa83328b12","$4e3b923658d69c60$export$8c610744efcf8a1d","$cCslV$useTooltipTriggerState","$cCslV$useRef","triggerProps","tooltipProps","$cCslV$useTooltipTrigger","$cCslV$react","$cCslV$FocusableProvider","$4e3b923658d69c60$export$28c660c63b792dea","$cCslV$forwardRef","UNSTABLE_portalContainer","contextState","$cCslV$useContext","localState","isExiting","$cCslV$useExitAnimation","$cCslV$OverlayContainer","$4e3b923658d69c60$var$TooltipInner","arrowRef","arrowWidth","setArrowWidth","$cCslV$useState","$cCslV$useLayoutEffect","arrowProps","$cCslV$useOverlayPosition","isEntering","$cCslV$useEnterAnimation","$cCslV$mergeProps","$cCslV$useTooltip","$cCslV$filterDOMProps","Tooltip","AriaTooltip","OverlayArrow","TooltipTrigger","delay","closeDelay","disableTriggerClick","triggerClickRef","hasHovered","AriaTooltipTrigger","openState","Focusable","TextEmphasis","themeClassName","WaveformBar","amplitude","isPlayed","isHovered","isVisible","hasAnimated","resolution","spacing","barHeight","sampleWaveform","generateSampleWaveformData","Waveform","waveformData","startDuration","endDuration","currentTime","showTimestamps","totalDuration","disabledMessage","processedWaveform","setProcessedWaveform","hoverPosition","setHoverPosition","setIsVisible","setHasAnimated","waveform","processWaveform","numBars","processed","resampleData","initialWidth","entries","visibilityTimer","animationTimer","handleMouseMove","position","handleMouseLeave","barTotalWidth","getBarPosition","time","waveformMessage","TimestampBlock","isBarOutsideActiveRegion","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","resampledData","newIndex","leftIndex","rightIndex","fraction","scaleData","min","max","normalized","length","phase"],"mappings":"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","x_google_ignoreList":[0,1,2,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,57,58,59,60,61,62,68,69,73,74,75,78,79,80]}
|