{"version":3,"file":"static/chunks/4934-afcb40ba4e13c52a.js","mappings":"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","sources":["webpack://_N_E/../src/accordion.tsx","webpack://_N_E/../src/alert-dialog.tsx","webpack://_N_E/../src/avatar.tsx","webpack://_N_E/../src/collapsible.tsx","webpack://_N_E/../src/context-menu.tsx","webpack://_N_E/../src/dialog.tsx","webpack://_N_E/../src/form.tsx","webpack://_N_E/../src/hover-card.tsx","webpack://_N_E/../src/label.tsx","webpack://_N_E/../src/menubar.tsx","webpack://_N_E/../src/navigation-menu.tsx","webpack://_N_E/../src/progress.tsx","webpack://_N_E/../src/radio-group.tsx","webpack://_N_E/../src/radio.tsx","webpack://_N_E/../src/select.tsx","webpack://_N_E/../src/switch.tsx","webpack://_N_E/../src/tabs.tsx","webpack://_N_E/../src/toast.tsx","webpack://_N_E/../src/toggle-group.tsx","webpack://_N_E/../src/toggle.tsx","webpack://_N_E/../../node_modules/@radix-ui/react-separator/dist/index.mjs","webpack://_N_E/../src/toolbar.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/_internal/base-checkbox.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/_internal/base-menu.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/avatar.props.js","webpack://_N_E/../../../src/components/avatar.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/callout.props.js","webpack://_N_E/../../../src/components/callout.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/checkbox-cards.props.js","webpack://_N_E/../../../src/components/checkbox-cards.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/checkbox-group.props.js","webpack://_N_E/../../../src/components/checkbox-group.tsx","webpack://_N_E/../../node_modules/radix-ui/dist/internal.mjs","webpack://_N_E/../../../src/components/checkbox-group.primitive.tsx","webpack://_N_E/../../../src/components/checkbox.tsx","webpack://_N_E/../../../src/components/context-menu.tsx","webpack://_N_E/../../../src/components/dropdown-menu.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/grid.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/grid.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/icons.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/progress.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/progress.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/radio-group.props.js","webpack://_N_E/../../../src/components/radio-group.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/_internal/base-radio.props.js","webpack://_N_E/../../../src/components/radio.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/segmented-control.props.js","webpack://_N_E/../../../src/components/segmented-control.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/select.props.js","webpack://_N_E/../../../src/components/select.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/text-field.props.js","webpack://_N_E/../../../src/components/text-field.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/text.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/text.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/box.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/box.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/tooltip.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/tooltip.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/kbd.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/kbd.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/heading.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/heading.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/popover.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/popover.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/icon-button.js","webpack://_N_E/../../node_modules/@radix-ui/react-accessible-icon/dist/index.mjs","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/accessible-icon.js","webpack://_N_E/../../../src/components/theme-panel.tsx","webpack://_N_E/../../../src/components/theme.tsx","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/theme.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/helpers/get-matching-gray-color.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/helpers/require-react-element.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/props/leading-trim.prop.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/props/text-align.prop.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/props/text-wrap.prop.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/props/truncate.prop.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/props/weight.prop.js"],"sourcesContent":["import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection(ACCORDION_NAME);\n\ntype ScopedProps

= P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n \n {type === 'multiple' ? (\n \n ) : (\n \n )}\n \n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n collapsible && setValue(''), [collapsible, setValue])}\n >\n \n \n \n \n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n \n \n \n \n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n direction: AccordionImplProps['dir'];\n orientation: AccordionImplProps['orientation'];\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * The layout in which the Accordion operates.\n * @default vertical\n */\n orientation?: React.AriaAttributes['aria-orientation'];\n /**\n * The language read direction.\n */\n dir?: Direction;\n}\n\nconst AccordionImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = 'vertical', ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === 'ltr';\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n\n switch (event.key) {\n case 'Home':\n nextIndex = homeIndex;\n break;\n case 'End':\n nextIndex = endIndex;\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n moveNext();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n movePrev();\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n \n \n \n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef;\ntype CollapsibleProps = React.ComponentPropsWithoutRef;\ninterface AccordionItemProps\n extends Omit {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n \n {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n \n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef;\ntype PrimitiveHeading3Props = React.ComponentPropsWithoutRef;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n \n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef;\ntype CollapsibleTriggerProps = React.ComponentPropsWithoutRef;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n \n \n \n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef;\ntype CollapsibleContentProps = React.ComponentPropsWithoutRef;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n \n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { createDialogScope } from '@radix-ui/react-dialog';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Slottable } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst ROOT_NAME = 'AlertDialog';\n\ntype ScopedProps

= P & { __scopeAlertDialog?: Scope };\nconst [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope,\n]);\nconst useDialogScope = createDialogScope();\n\ntype DialogProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogProps extends Omit {}\n\nconst AlertDialog: React.FC = (props: ScopedProps) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n};\n\nAlertDialog.displayName = ROOT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTrigger\n * -----------------------------------------------------------------------------------------------*/\nconst TRIGGER_NAME = 'AlertDialogTrigger';\n\ntype AlertDialogTriggerElement = React.ElementRef;\ntype DialogTriggerProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogTriggerProps extends DialogTriggerProps {}\n\nconst AlertDialogTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n }\n);\n\nAlertDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'AlertDialogPortal';\n\ntype DialogPortalProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogPortalProps extends DialogPortalProps {}\n\nconst AlertDialogPortal: React.FC = (\n props: ScopedProps\n) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n};\n\nAlertDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'AlertDialogOverlay';\n\ntype AlertDialogOverlayElement = React.ElementRef;\ntype DialogOverlayProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogOverlayProps extends DialogOverlayProps {}\n\nconst AlertDialogOverlay = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n }\n);\n\nAlertDialogOverlay.displayName = OVERLAY_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AlertDialogContent';\n\ntype AlertDialogContentContextValue = {\n cancelRef: React.MutableRefObject;\n};\n\nconst [AlertDialogContentProvider, useAlertDialogContentContext] =\n createAlertDialogContext(CONTENT_NAME);\n\ntype AlertDialogContentElement = React.ElementRef;\ntype DialogContentProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogContentProps\n extends Omit {}\n\nconst AlertDialogContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n\n return (\n \n \n {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n })}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n >\n {/**\n * We have to use `Slottable` here as we cannot wrap the `AlertDialogContentProvider`\n * around everything, otherwise the `DescriptionWarning` would be rendered straight away.\n * This is because we want the accessibility checks to run only once the content is actually\n * open and that behaviour is already encapsulated in `DialogContent`.\n */}\n {children}\n {process.env.NODE_ENV === 'development' && (\n \n )}\n \n \n \n );\n }\n);\n\nAlertDialogContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'AlertDialogTitle';\n\ntype AlertDialogTitleElement = React.ElementRef;\ntype DialogTitleProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogTitleProps extends DialogTitleProps {}\n\nconst AlertDialogTitle = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n }\n);\n\nAlertDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'AlertDialogDescription';\n\ntype AlertDialogDescriptionElement = React.ElementRef;\ntype DialogDescriptionProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogDescriptionProps extends DialogDescriptionProps {}\n\nconst AlertDialogDescription = React.forwardRef<\n AlertDialogDescriptionElement,\n AlertDialogDescriptionProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n});\n\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogAction\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACTION_NAME = 'AlertDialogAction';\n\ntype AlertDialogActionElement = React.ElementRef;\ntype DialogCloseProps = React.ComponentPropsWithoutRef;\ninterface AlertDialogActionProps extends DialogCloseProps {}\n\nconst AlertDialogAction = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return ;\n }\n);\n\nAlertDialogAction.displayName = ACTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AlertDialogCancel\n * -----------------------------------------------------------------------------------------------*/\n\nconst CANCEL_NAME = 'AlertDialogCancel';\n\ntype AlertDialogCancelElement = React.ElementRef;\ninterface AlertDialogCancelProps extends DialogCloseProps {}\n\nconst AlertDialogCancel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return ;\n }\n);\n\nAlertDialogCancel.displayName = CANCEL_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject;\n};\n\nconst DescriptionWarning: React.FC = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute('aria-describedby')!\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n\n return null;\n};\n\nconst Root = AlertDialog;\nconst Trigger = AlertDialogTrigger;\nconst Portal = AlertDialogPortal;\nconst Overlay = AlertDialogOverlay;\nconst Content = AlertDialogContent;\nconst Action = AlertDialogAction;\nconst Cancel = AlertDialogCancel;\nconst Title = AlertDialogTitle;\nconst Description = AlertDialogDescription;\n\nexport {\n createAlertDialogScope,\n //\n AlertDialog,\n AlertDialogTrigger,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogContent,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogTitle,\n AlertDialogDescription,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Action,\n Cancel,\n Title,\n Description,\n};\nexport type {\n AlertDialogProps,\n AlertDialogTriggerProps,\n AlertDialogPortalProps,\n AlertDialogOverlayProps,\n AlertDialogContentProps,\n AlertDialogActionProps,\n AlertDialogCancelProps,\n AlertDialogTitleProps,\n AlertDialogDescriptionProps,\n};\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Avatar\n * -----------------------------------------------------------------------------------------------*/\n\nconst AVATAR_NAME = 'Avatar';\n\ntype ScopedProps

= P & { __scopeAvatar?: Scope };\nconst [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);\n\ntype ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\ntype AvatarContextValue = {\n imageLoadingStatus: ImageLoadingStatus;\n onImageLoadingStatusChange(status: ImageLoadingStatus): void;\n};\n\nconst [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);\n\ntype AvatarElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface AvatarProps extends PrimitiveSpanProps {}\n\nconst Avatar = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAvatar, ...avatarProps } = props;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState('idle');\n return (\n \n \n \n );\n }\n);\n\nAvatar.displayName = AVATAR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AvatarImage\n * -----------------------------------------------------------------------------------------------*/\n\nconst IMAGE_NAME = 'AvatarImage';\n\ntype AvatarImageElement = React.ElementRef;\ntype PrimitiveImageProps = React.ComponentPropsWithoutRef;\ninterface AvatarImageProps extends PrimitiveImageProps {\n onLoadingStatusChange?: (status: ImageLoadingStatus) => void;\n}\n\nconst AvatarImage = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAvatar, src, onLoadingStatusChange = () => {}, ...imageProps } = props;\n const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);\n const imageLoadingStatus = useImageLoadingStatus(src, imageProps.referrerPolicy);\n const handleLoadingStatusChange = useCallbackRef((status: ImageLoadingStatus) => {\n onLoadingStatusChange(status);\n context.onImageLoadingStatusChange(status);\n });\n\n useLayoutEffect(() => {\n if (imageLoadingStatus !== 'idle') {\n handleLoadingStatusChange(imageLoadingStatus);\n }\n }, [imageLoadingStatus, handleLoadingStatusChange]);\n\n return imageLoadingStatus === 'loaded' ? (\n \n ) : null;\n }\n);\n\nAvatarImage.displayName = IMAGE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AvatarFallback\n * -----------------------------------------------------------------------------------------------*/\n\nconst FALLBACK_NAME = 'AvatarFallback';\n\ntype AvatarFallbackElement = React.ElementRef;\ninterface AvatarFallbackProps extends PrimitiveSpanProps {\n delayMs?: number;\n}\n\nconst AvatarFallback = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAvatar, delayMs, ...fallbackProps } = props;\n const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);\n const [canRender, setCanRender] = React.useState(delayMs === undefined);\n\n React.useEffect(() => {\n if (delayMs !== undefined) {\n const timerId = window.setTimeout(() => setCanRender(true), delayMs);\n return () => window.clearTimeout(timerId);\n }\n }, [delayMs]);\n\n return canRender && context.imageLoadingStatus !== 'loaded' ? (\n \n ) : null;\n }\n);\n\nAvatarFallback.displayName = FALLBACK_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useImageLoadingStatus(src?: string, referrerPolicy?: React.HTMLAttributeReferrerPolicy) {\n const [loadingStatus, setLoadingStatus] = React.useState('idle');\n\n useLayoutEffect(() => {\n if (!src) {\n setLoadingStatus('error');\n return;\n }\n\n let isMounted = true;\n const image = new window.Image();\n\n const updateStatus = (status: ImageLoadingStatus) => () => {\n if (!isMounted) return;\n setLoadingStatus(status);\n };\n\n setLoadingStatus('loading');\n image.onload = updateStatus('loaded');\n image.onerror = updateStatus('error');\n image.src = src;\n if (referrerPolicy) {\n image.referrerPolicy = referrerPolicy;\n }\n\n return () => {\n isMounted = false;\n };\n }, [src, referrerPolicy]);\n\n return loadingStatus;\n}\nconst Root = Avatar;\nconst Image = AvatarImage;\nconst Fallback = AvatarFallback;\n\nexport {\n createAvatarScope,\n //\n Avatar,\n AvatarImage,\n AvatarFallback,\n //\n Root,\n Image,\n Fallback,\n};\nexport type { AvatarProps, AvatarImageProps, AvatarFallbackProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/\n\nconst COLLAPSIBLE_NAME = 'Collapsible';\n\ntype ScopedProps

= P & { __scopeCollapsible?: Scope };\nconst [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n\ntype CollapsibleContextValue = {\n contentId: string;\n disabled?: boolean;\n open: boolean;\n onOpenToggle(): void;\n};\n\nconst [CollapsibleProvider, useCollapsibleContext] =\n createCollapsibleContext(COLLAPSIBLE_NAME);\n\ntype CollapsibleElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface CollapsibleProps extends PrimitiveDivProps {\n defaultOpen?: boolean;\n open?: boolean;\n disabled?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst Collapsible = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n setOpen((prevOpen) => !prevOpen), [setOpen])}\n >\n \n \n );\n }\n);\n\nCollapsible.displayName = COLLAPSIBLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CollapsibleTrigger';\n\ntype CollapsibleTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface CollapsibleTriggerProps extends PrimitiveButtonProps {}\n\nconst CollapsibleTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return (\n \n );\n }\n);\n\nCollapsibleTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'CollapsibleContent';\n\ntype CollapsibleContentElement = CollapsibleContentImplElement;\ninterface CollapsibleContentProps extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CollapsibleContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return (\n \n {({ present }) => (\n \n )}\n \n );\n }\n);\n\nCollapsibleContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype CollapsibleContentImplElement = React.ElementRef;\ninterface CollapsibleContentImplProps extends PrimitiveDivProps {\n present: boolean;\n}\n\nconst CollapsibleContentImpl = React.forwardRef<\n CollapsibleContentImplElement,\n CollapsibleContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef>(undefined);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n };\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none';\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */\n }, [context.open, present]);\n\n return (\n

= P & { __scopeContextMenu?: Scope };\nconst [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope,\n]);\nconst useMenuScope = createMenuScope();\n\ntype ContextMenuContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n modal: boolean;\n};\n\nconst [ContextMenuProvider, useContextMenuContext] =\n createContextMenuContext(CONTEXT_MENU_NAME);\n\ninterface ContextMenuProps {\n children?: React.ReactNode;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n}\n\nconst ContextMenu: React.FC = (props: ScopedProps) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n setOpen(open);\n handleOpenChangeProp(open);\n },\n [handleOpenChangeProp]\n );\n\n return (\n \n \n {children}\n \n \n );\n};\n\nContextMenu.displayName = CONTEXT_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'ContextMenuTrigger';\n\ntype ContextMenuTriggerElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuTriggerProps extends PrimitiveSpanProps {\n disabled?: boolean;\n}\n\nconst ContextMenuTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current }),\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event: React.MouseEvent | React.PointerEvent) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n\n return (\n <>\n \n {\n // clearing the long press here because some platforms already support\n // long press to trigger a `contextmenu` event\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n })\n }\n onPointerDown={\n disabled\n ? props.onPointerDown\n : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n // clear the long press here in case there's multiple touch points\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n )\n }\n onPointerMove={\n disabled\n ? props.onPointerMove\n : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress))\n }\n onPointerCancel={\n disabled\n ? props.onPointerCancel\n : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress))\n }\n onPointerUp={\n disabled\n ? props.onPointerUp\n : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n />\n \n );\n }\n);\n\nContextMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'ContextMenuPortal';\n\ntype MenuPortalProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuPortalProps extends MenuPortalProps {}\n\nconst ContextMenuPortal: React.FC = (\n props: ScopedProps\n) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n};\n\nContextMenuPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'ContextMenuContent';\n\ntype ContextMenuContentElement = React.ElementRef;\ntype MenuContentProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuContentProps\n extends Omit {}\n\nconst ContextMenuContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n }}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-context-menu-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-context-menu-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-context-menu-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-context-menu-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-context-menu-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n }\n);\n\nContextMenuContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'ContextMenuGroup';\n\ntype ContextMenuGroupElement = React.ElementRef;\ntype MenuGroupProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuGroupProps extends MenuGroupProps {}\n\nconst ContextMenuGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n }\n);\n\nContextMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'ContextMenuLabel';\n\ntype ContextMenuLabelElement = React.ElementRef;\ntype MenuLabelProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuLabelProps extends MenuLabelProps {}\n\nconst ContextMenuLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n }\n);\n\nContextMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ContextMenuItem';\n\ntype ContextMenuItemElement = React.ElementRef;\ntype MenuItemProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuItemProps extends MenuItemProps {}\n\nconst ContextMenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n }\n);\n\nContextMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'ContextMenuCheckboxItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef;\ntype MenuCheckboxItemProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'ContextMenuRadioGroup';\n\ntype ContextMenuRadioGroupElement = React.ElementRef;\ntype MenuRadioGroupProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'ContextMenuRadioItem';\n\ntype ContextMenuRadioItemElement = React.ElementRef;\ntype MenuRadioItemProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ContextMenuItemIndicator';\n\ntype ContextMenuItemIndicatorElement = React.ElementRef;\ntype MenuItemIndicatorProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst ContextMenuItemIndicator = React.forwardRef<\n ContextMenuItemIndicatorElement,\n ContextMenuItemIndicatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'ContextMenuSeparator';\n\ntype ContextMenuSeparatorElement = React.ElementRef;\ntype MenuSeparatorProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'ContextMenuArrow';\n\ntype ContextMenuArrowElement = React.ElementRef;\ntype MenuArrowProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuArrowProps extends MenuArrowProps {}\n\nconst ContextMenuArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n }\n);\n\nContextMenuArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'ContextMenuSub';\n\ninterface ContextMenuSubProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst ContextMenuSub: React.FC = (props: ScopedProps) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n \n {children}\n \n );\n};\n\nContextMenuSub.displayName = SUB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'ContextMenuSubTrigger';\n\ntype ContextMenuSubTriggerElement = React.ElementRef;\ntype MenuSubTriggerProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuSubTriggerProps extends MenuSubTriggerProps {}\n\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return ;\n});\n\nContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ContextMenuSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'ContextMenuSubContent';\n\ntype ContextMenuSubContentElement = React.ElementRef;\ntype MenuSubContentProps = React.ComponentPropsWithoutRef;\ninterface ContextMenuSubContentProps extends MenuSubContentProps {}\n\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n\n return (\n \n );\n});\n\nContextMenuSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction whenTouchOrPen(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType !== 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = ContextMenu;\nconst Trigger = ContextMenuTrigger;\nconst Portal = ContextMenuPortal;\nconst Content = ContextMenuContent;\nconst Group = ContextMenuGroup;\nconst Label = ContextMenuLabel;\nconst Item = ContextMenuItem;\nconst CheckboxItem = ContextMenuCheckboxItem;\nconst RadioGroup = ContextMenuRadioGroup;\nconst RadioItem = ContextMenuRadioItem;\nconst ItemIndicator = ContextMenuItemIndicator;\nconst Separator = ContextMenuSeparator;\nconst Arrow = ContextMenuArrow;\nconst Sub = ContextMenuSub;\nconst SubTrigger = ContextMenuSubTrigger;\nconst SubContent = ContextMenuSubContent;\n\nexport {\n createContextMenuScope,\n //\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuPortal,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuLabel,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuItemIndicator,\n ContextMenuSeparator,\n ContextMenuArrow,\n ContextMenuSub,\n ContextMenuSubTrigger,\n ContextMenuSubContent,\n //\n Root,\n Trigger,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n ContextMenuProps,\n ContextMenuTriggerProps,\n ContextMenuPortalProps,\n ContextMenuContentProps,\n ContextMenuGroupProps,\n ContextMenuLabelProps,\n ContextMenuItemProps,\n ContextMenuCheckboxItemProps,\n ContextMenuRadioGroupProps,\n ContextMenuRadioItemProps,\n ContextMenuItemIndicatorProps,\n ContextMenuSeparatorProps,\n ContextMenuArrowProps,\n ContextMenuSubProps,\n ContextMenuSubTriggerProps,\n ContextMenuSubContentProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps

= P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject;\n contentRef: React.RefObject;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC = (props: ScopedProps) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n \n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n \n );\n }\n);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogPortal: React.FC = (props: ScopedProps) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n \n {React.Children.map(children, (child) => (\n \n \n {child}\n \n \n ))}\n \n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogOverlay = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n \n \n \n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n \n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n \n {context.modal ? (\n \n ) : (\n \n )}\n \n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit {}\n\nconst DialogContentModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype FocusScopeProps = React.ComponentPropsWithoutRef;\ninterface DialogContentImplProps extends Omit {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n \n context.onOpenChange(false)}\n />\n \n {process.env.NODE_ENV !== 'production' && (\n <>\n \n \n \n )}\n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return ;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return ;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Label as LabelPrimitive } from '@radix-ui/react-label';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype ScopedProps

= P & { __scopeForm?: Scope };\nconst [createFormContext, createFormScope] = createContextScope('Form');\n\n/* -------------------------------------------------------------------------------------------------\n * Form\n * -----------------------------------------------------------------------------------------------*/\n\nconst FORM_NAME = 'Form';\n\ntype ValidityMap = { [fieldName: string]: ValidityState | undefined };\ntype CustomMatcherEntriesMap = { [fieldName: string]: CustomMatcherEntry[] };\ntype CustomErrorsMap = { [fieldName: string]: Record };\n\ntype ValidationContextValue = {\n getFieldValidity(fieldName: string): ValidityState | undefined;\n onFieldValidityChange(fieldName: string, validity: ValidityState): void;\n\n getFieldCustomMatcherEntries(fieldName: string): CustomMatcherEntry[];\n onFieldCustomMatcherEntryAdd(fieldName: string, matcherEntry: CustomMatcherEntry): void;\n onFieldCustomMatcherEntryRemove(fieldName: string, matcherEntryId: string): void;\n\n getFieldCustomErrors(fieldName: string): Record;\n onFieldCustomErrorsChange(fieldName: string, errors: Record): void;\n\n onFieldValiditionClear(fieldName: string): void;\n};\nconst [ValidationProvider, useValidationContext] =\n createFormContext(FORM_NAME);\n\ntype MessageIdsMap = { [fieldName: string]: Set };\n\ntype AriaDescriptionContextValue = {\n onFieldMessageIdAdd(fieldName: string, id: string): void;\n onFieldMessageIdRemove(fieldName: string, id: string): void;\n getFieldDescription(fieldName: string): string | undefined;\n};\nconst [AriaDescriptionProvider, useAriaDescriptionContext] =\n createFormContext(FORM_NAME);\n\ntype FormElement = React.ElementRef;\ntype PrimitiveFormProps = React.ComponentPropsWithoutRef;\ninterface FormProps extends PrimitiveFormProps {\n onClearServerErrors?(): void;\n}\n\nconst Form = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, onClearServerErrors = () => {}, ...rootProps } = props;\n const formRef = React.useRef(null);\n const composedFormRef = useComposedRefs(forwardedRef, formRef);\n\n // native validity per field\n const [validityMap, setValidityMap] = React.useState({});\n const getFieldValidity: ValidationContextValue['getFieldValidity'] = React.useCallback(\n (fieldName) => validityMap[fieldName],\n [validityMap]\n );\n const handleFieldValidityChange: ValidationContextValue['onFieldValidityChange'] =\n React.useCallback(\n (fieldName, validity) =>\n setValidityMap((prevValidityMap) => ({\n ...prevValidityMap,\n [fieldName]: { ...(prevValidityMap[fieldName] ?? {}), ...validity },\n })),\n []\n );\n const handleFieldValiditionClear: ValidationContextValue['onFieldValiditionClear'] =\n React.useCallback((fieldName) => {\n setValidityMap((prevValidityMap) => ({ ...prevValidityMap, [fieldName]: undefined }));\n setCustomErrorsMap((prevCustomErrorsMap) => ({ ...prevCustomErrorsMap, [fieldName]: {} }));\n }, []);\n\n // custom matcher entries per field\n const [customMatcherEntriesMap, setCustomMatcherEntriesMap] =\n React.useState({});\n const getFieldCustomMatcherEntries: ValidationContextValue['getFieldCustomMatcherEntries'] =\n React.useCallback(\n (fieldName) => customMatcherEntriesMap[fieldName] ?? [],\n [customMatcherEntriesMap]\n );\n const handleFieldCustomMatcherAdd: ValidationContextValue['onFieldCustomMatcherEntryAdd'] =\n React.useCallback((fieldName, matcherEntry) => {\n setCustomMatcherEntriesMap((prevCustomMatcherEntriesMap) => ({\n ...prevCustomMatcherEntriesMap,\n [fieldName]: [...(prevCustomMatcherEntriesMap[fieldName] ?? []), matcherEntry],\n }));\n }, []);\n const handleFieldCustomMatcherRemove: ValidationContextValue['onFieldCustomMatcherEntryRemove'] =\n React.useCallback((fieldName, matcherEntryId) => {\n setCustomMatcherEntriesMap((prevCustomMatcherEntriesMap) => ({\n ...prevCustomMatcherEntriesMap,\n [fieldName]: (prevCustomMatcherEntriesMap[fieldName] ?? []).filter(\n (matcherEntry) => matcherEntry.id !== matcherEntryId\n ),\n }));\n }, []);\n\n // custom errors per field\n const [customErrorsMap, setCustomErrorsMap] = React.useState({});\n const getFieldCustomErrors: ValidationContextValue['getFieldCustomErrors'] = React.useCallback(\n (fieldName) => customErrorsMap[fieldName] ?? {},\n [customErrorsMap]\n );\n const handleFieldCustomErrorsChange: ValidationContextValue['onFieldCustomErrorsChange'] =\n React.useCallback((fieldName, customErrors) => {\n setCustomErrorsMap((prevCustomErrorsMap) => ({\n ...prevCustomErrorsMap,\n [fieldName]: { ...(prevCustomErrorsMap[fieldName] ?? {}), ...customErrors },\n }));\n }, []);\n\n // messageIds per field\n const [messageIdsMap, setMessageIdsMap] = React.useState({});\n const handleFieldMessageIdAdd: AriaDescriptionContextValue['onFieldMessageIdAdd'] =\n React.useCallback((fieldName, id) => {\n setMessageIdsMap((prevMessageIdsMap) => {\n const fieldDescriptionIds = new Set(prevMessageIdsMap[fieldName]).add(id);\n return { ...prevMessageIdsMap, [fieldName]: fieldDescriptionIds };\n });\n }, []);\n const handleFieldMessageIdRemove: AriaDescriptionContextValue['onFieldMessageIdRemove'] =\n React.useCallback((fieldName, id) => {\n setMessageIdsMap((prevMessageIdsMap) => {\n const fieldDescriptionIds = new Set(prevMessageIdsMap[fieldName]);\n fieldDescriptionIds.delete(id);\n return { ...prevMessageIdsMap, [fieldName]: fieldDescriptionIds };\n });\n }, []);\n const getFieldDescription: AriaDescriptionContextValue['getFieldDescription'] =\n React.useCallback(\n (fieldName) => Array.from(messageIdsMap[fieldName] ?? []).join(' ') || undefined,\n [messageIdsMap]\n );\n\n return (\n \n \n {\n const firstInvalidControl = getFirstInvalidControl(event.currentTarget);\n if (firstInvalidControl === event.target) firstInvalidControl.focus();\n\n // prevent default browser UI for form validation\n event.preventDefault();\n })}\n // clear server errors when the form is re-submitted\n onSubmit={composeEventHandlers(props.onSubmit, onClearServerErrors, {\n checkForDefaultPrevented: false,\n })}\n // clear server errors when the form is reset\n onReset={composeEventHandlers(props.onReset, onClearServerErrors)}\n />\n \n \n );\n }\n);\n\nForm.displayName = FORM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * FormField\n * -----------------------------------------------------------------------------------------------*/\n\nconst FIELD_NAME = 'FormField';\n\ntype FormFieldContextValue = {\n id: string;\n name: string;\n serverInvalid: boolean;\n};\nconst [FormFieldProvider, useFormFieldContext] =\n createFormContext(FIELD_NAME);\n\ntype FormFieldElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface FormFieldProps extends PrimitiveDivProps {\n name: string;\n serverInvalid?: boolean;\n}\n\nconst FormField = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, name, serverInvalid = false, ...fieldProps } = props;\n const validationContext = useValidationContext(FIELD_NAME, __scopeForm);\n const validity = validationContext.getFieldValidity(name);\n const id = useId();\n\n return (\n \n \n \n );\n }\n);\n\nFormField.displayName = FIELD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * FormLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'FormLabel';\n\ntype FormLabelElement = React.ElementRef;\ntype LabelProps = React.ComponentPropsWithoutRef;\ninterface FormLabelProps extends LabelProps {}\n\nconst FormLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, ...labelProps } = props;\n const validationContext = useValidationContext(LABEL_NAME, __scopeForm);\n const fieldContext = useFormFieldContext(LABEL_NAME, __scopeForm);\n const htmlFor = labelProps.htmlFor || fieldContext.id;\n const validity = validationContext.getFieldValidity(fieldContext.name);\n\n return (\n \n );\n }\n);\n\nFormLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * FormControl\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTROL_NAME = 'FormControl';\n\ntype FormControlElement = React.ElementRef;\ntype PrimitiveInputProps = React.ComponentPropsWithoutRef;\ninterface FormControlProps extends PrimitiveInputProps {}\n\nconst FormControl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, ...controlProps } = props;\n\n const validationContext = useValidationContext(CONTROL_NAME, __scopeForm);\n const fieldContext = useFormFieldContext(CONTROL_NAME, __scopeForm);\n const ariaDescriptionContext = useAriaDescriptionContext(CONTROL_NAME, __scopeForm);\n\n const ref = React.useRef(null);\n const composedRef = useComposedRefs(forwardedRef, ref);\n const name = controlProps.name || fieldContext.name;\n const id = controlProps.id || fieldContext.id;\n const customMatcherEntries = validationContext.getFieldCustomMatcherEntries(name);\n\n const { onFieldValidityChange, onFieldCustomErrorsChange, onFieldValiditionClear } =\n validationContext;\n const updateControlValidity = React.useCallback(\n async (control: FormControlElement) => {\n //------------------------------------------------------------------------------------------\n // 1. first, if we have built-in errors we stop here\n\n if (hasBuiltInError(control.validity)) {\n const controlValidity = validityStateToObject(control.validity);\n onFieldValidityChange(name, controlValidity);\n return;\n }\n\n //------------------------------------------------------------------------------------------\n // 2. then gather the form data to give to custom matchers for cross-comparisons\n\n const formData = control.form ? new FormData(control.form) : new FormData();\n const matcherArgs: CustomMatcherArgs = [control.value, formData];\n\n //------------------------------------------------------------------------------------------\n // 3. split sync and async custom matcher entries\n\n const syncCustomMatcherEntries: Array = [];\n const ayncCustomMatcherEntries: Array = [];\n customMatcherEntries.forEach((customMatcherEntry) => {\n if (isAsyncCustomMatcherEntry(customMatcherEntry, matcherArgs)) {\n ayncCustomMatcherEntries.push(customMatcherEntry);\n } else if (isSyncCustomMatcherEntry(customMatcherEntry)) {\n syncCustomMatcherEntries.push(customMatcherEntry);\n }\n });\n\n //------------------------------------------------------------------------------------------\n // 4. run sync custom matchers and update control validity / internal validity + errors\n\n const syncCustomErrors = syncCustomMatcherEntries.map(({ id, match }) => {\n return [id, match(...matcherArgs)] as const;\n });\n const syncCustomErrorsById = Object.fromEntries(syncCustomErrors);\n const hasSyncCustomErrors = Object.values(syncCustomErrorsById).some(Boolean);\n const hasCustomError = hasSyncCustomErrors;\n control.setCustomValidity(hasCustomError ? DEFAULT_INVALID_MESSAGE : '');\n const controlValidity = validityStateToObject(control.validity);\n onFieldValidityChange(name, controlValidity);\n onFieldCustomErrorsChange(name, syncCustomErrorsById);\n\n //------------------------------------------------------------------------------------------\n // 5. run async custom matchers and update control validity / internal validity + errors\n\n if (!hasSyncCustomErrors && ayncCustomMatcherEntries.length > 0) {\n const promisedCustomErrors = ayncCustomMatcherEntries.map(({ id, match }) =>\n match(...matcherArgs).then((matches) => [id, matches] as const)\n );\n const asyncCustomErrors = await Promise.all(promisedCustomErrors);\n const asyncCustomErrorsById = Object.fromEntries(asyncCustomErrors);\n const hasAsyncCustomErrors = Object.values(asyncCustomErrorsById).some(Boolean);\n const hasCustomError = hasAsyncCustomErrors;\n control.setCustomValidity(hasCustomError ? DEFAULT_INVALID_MESSAGE : '');\n const controlValidity = validityStateToObject(control.validity);\n onFieldValidityChange(name, controlValidity);\n onFieldCustomErrorsChange(name, asyncCustomErrorsById);\n }\n },\n [customMatcherEntries, name, onFieldCustomErrorsChange, onFieldValidityChange]\n );\n\n React.useEffect(() => {\n const control = ref.current;\n if (control) {\n // We only want validate on change (native `change` event, not React's `onChange`). This is primarily\n // a UX decision, we don't want to validate on every keystroke and React's `onChange` is the `input` event.\n const handleChange = () => updateControlValidity(control);\n control.addEventListener('change', handleChange);\n return () => control.removeEventListener('change', handleChange);\n }\n }, [updateControlValidity]);\n\n const resetControlValidity = React.useCallback(() => {\n const control = ref.current;\n if (control) {\n control.setCustomValidity('');\n onFieldValiditionClear(name);\n }\n }, [name, onFieldValiditionClear]);\n\n // reset validity and errors when the form is reset\n React.useEffect(() => {\n const form = ref.current?.form;\n if (form) {\n form.addEventListener('reset', resetControlValidity);\n return () => form.removeEventListener('reset', resetControlValidity);\n }\n }, [resetControlValidity]);\n\n // focus first invalid control when fields are set as invalid by server\n React.useEffect(() => {\n const control = ref.current;\n const form = control?.closest('form');\n if (form && fieldContext.serverInvalid) {\n const firstInvalidControl = getFirstInvalidControl(form);\n if (firstInvalidControl === control) firstInvalidControl.focus();\n }\n }, [fieldContext.serverInvalid]);\n\n const validity = validationContext.getFieldValidity(name);\n\n return (\n {\n const control = event.currentTarget;\n updateControlValidity(control);\n })}\n onChange={composeEventHandlers(props.onChange, (_event) => {\n // reset validity when user changes value\n resetControlValidity();\n })}\n />\n );\n }\n);\n\nFormControl.displayName = CONTROL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * FormMessage\n * -----------------------------------------------------------------------------------------------*/\n\nconst _validityMatchers = [\n 'badInput',\n 'patternMismatch',\n 'rangeOverflow',\n 'rangeUnderflow',\n 'stepMismatch',\n 'tooLong',\n 'tooShort',\n 'typeMismatch',\n 'valid',\n 'valueMissing',\n] as const;\ntype ValidityMatcher = (typeof _validityMatchers)[number];\n\nconst DEFAULT_INVALID_MESSAGE = 'This value is not valid';\nconst DEFAULT_BUILT_IN_MESSAGES: Record = {\n badInput: DEFAULT_INVALID_MESSAGE,\n patternMismatch: 'This value does not match the required pattern',\n rangeOverflow: 'This value is too large',\n rangeUnderflow: 'This value is too small',\n stepMismatch: 'This value does not match the required step',\n tooLong: 'This value is too long',\n tooShort: 'This value is too short',\n typeMismatch: 'This value does not match the required type',\n valid: undefined,\n valueMissing: 'This value is missing',\n};\n\nconst MESSAGE_NAME = 'FormMessage';\n\ntype FormMessageElement = FormMessageImplElement;\ninterface FormMessageProps extends Omit {\n match?: ValidityMatcher | CustomMatcher;\n forceMatch?: boolean;\n name?: string;\n}\n\nconst FormMessage = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { match, name: nameProp, ...messageProps } = props;\n const fieldContext = useFormFieldContext(MESSAGE_NAME, props.__scopeForm);\n const name = nameProp ?? fieldContext.name;\n\n if (match === undefined) {\n return (\n \n {props.children || DEFAULT_INVALID_MESSAGE}\n \n );\n } else if (typeof match === 'function') {\n return ;\n } else {\n return ;\n }\n }\n);\n\nFormMessage.displayName = MESSAGE_NAME;\n\ntype FormBuiltInMessageElement = FormMessageImplElement;\ninterface FormBuiltInMessageProps extends FormMessageImplProps {\n match: ValidityMatcher;\n forceMatch?: boolean;\n name: string;\n}\n\nconst FormBuiltInMessage = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { match, forceMatch = false, name, children, ...messageProps } = props;\n const validationContext = useValidationContext(MESSAGE_NAME, messageProps.__scopeForm);\n const validity = validationContext.getFieldValidity(name);\n const matches = forceMatch || validity?.[match];\n\n if (matches) {\n return (\n \n {children ?? DEFAULT_BUILT_IN_MESSAGES[match]}\n \n );\n }\n\n return null;\n }\n);\n\ntype FormCustomMessageElement = React.ElementRef;\ninterface FormCustomMessageProps extends React.ComponentPropsWithoutRef {\n match: CustomMatcher;\n forceMatch?: boolean;\n name: string;\n}\n\nconst FormCustomMessage = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { match, forceMatch = false, name, id: idProp, children, ...messageProps } = props;\n const validationContext = useValidationContext(MESSAGE_NAME, messageProps.__scopeForm);\n const ref = React.useRef(null);\n const composedRef = useComposedRefs(forwardedRef, ref);\n const _id = useId();\n const id = idProp ?? _id;\n\n const customMatcherEntry = React.useMemo(() => ({ id, match }), [id, match]);\n const { onFieldCustomMatcherEntryAdd, onFieldCustomMatcherEntryRemove } = validationContext;\n React.useEffect(() => {\n onFieldCustomMatcherEntryAdd(name, customMatcherEntry);\n return () => onFieldCustomMatcherEntryRemove(name, customMatcherEntry.id);\n }, [customMatcherEntry, name, onFieldCustomMatcherEntryAdd, onFieldCustomMatcherEntryRemove]);\n\n const validity = validationContext.getFieldValidity(name);\n const customErrors = validationContext.getFieldCustomErrors(name);\n const hasMatchingCustomError = customErrors[id];\n const matches =\n forceMatch || (validity && !hasBuiltInError(validity) && hasMatchingCustomError);\n\n if (matches) {\n return (\n \n {children ?? DEFAULT_INVALID_MESSAGE}\n \n );\n }\n\n return null;\n }\n);\n\ntype FormMessageImplElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface FormMessageImplProps extends PrimitiveSpanProps {\n name: string;\n}\n\nconst FormMessageImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, id: idProp, name, ...messageProps } = props;\n const ariaDescriptionContext = useAriaDescriptionContext(MESSAGE_NAME, __scopeForm);\n const _id = useId();\n const id = idProp ?? _id;\n\n const { onFieldMessageIdAdd, onFieldMessageIdRemove } = ariaDescriptionContext;\n React.useEffect(() => {\n onFieldMessageIdAdd(name, id);\n return () => onFieldMessageIdRemove(name, id);\n }, [name, id, onFieldMessageIdAdd, onFieldMessageIdRemove]);\n\n return ;\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * FormValidityState\n * -----------------------------------------------------------------------------------------------*/\n\nconst VALIDITY_STATE_NAME = 'FormValidityState';\n\ninterface FormValidityStateProps {\n children(validity: ValidityState | undefined): React.ReactNode;\n name?: string;\n}\n\nconst FormValidityState = (props: ScopedProps) => {\n const { __scopeForm, name: nameProp, children } = props;\n const validationContext = useValidationContext(VALIDITY_STATE_NAME, __scopeForm);\n const fieldContext = useFormFieldContext(VALIDITY_STATE_NAME, __scopeForm);\n const name = nameProp ?? fieldContext.name;\n const validity = validationContext.getFieldValidity(name);\n return <>{children(validity)};\n};\n\nFormValidityState.displayName = VALIDITY_STATE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * FormSubmit\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUBMIT_NAME = 'FormSubmit';\n\ntype FormSubmitElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface FormSubmitProps extends PrimitiveButtonProps {}\n\nconst FormSubmit = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeForm, ...submitProps } = props;\n return ;\n }\n);\n\nFormSubmit.displayName = SUBMIT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ValidityStateKey = keyof ValidityState;\ntype SyncCustomMatcher = (value: string, formData: FormData) => boolean;\ntype AsyncCustomMatcher = (value: string, formData: FormData) => Promise;\ntype CustomMatcher = SyncCustomMatcher | AsyncCustomMatcher;\ntype CustomMatcherEntry = { id: string; match: CustomMatcher };\ntype SyncCustomMatcherEntry = { id: string; match: SyncCustomMatcher };\ntype AsyncCustomMatcherEntry = { id: string; match: AsyncCustomMatcher };\ntype CustomMatcherArgs = [string, FormData];\n\nfunction validityStateToObject(validity: ValidityState) {\n const object: any = {};\n for (const key in validity) {\n object[key] = validity[key as ValidityStateKey];\n }\n return object as Record;\n}\n\nfunction isHTMLElement(element: any): element is HTMLElement {\n return element instanceof HTMLElement;\n}\n\nfunction isFormControl(element: any): element is { validity: ValidityState } {\n return 'validity' in element;\n}\n\nfunction isInvalid(control: HTMLElement) {\n return (\n isFormControl(control) &&\n (control.validity.valid === false || control.getAttribute('aria-invalid') === 'true')\n );\n}\n\nfunction getFirstInvalidControl(form: HTMLFormElement): HTMLElement | undefined {\n const elements = form.elements;\n const [firstInvalidControl] = Array.from(elements).filter(isHTMLElement).filter(isInvalid);\n return firstInvalidControl;\n}\n\nfunction isAsyncCustomMatcherEntry(\n entry: CustomMatcherEntry,\n args: CustomMatcherArgs\n): entry is AsyncCustomMatcherEntry {\n return entry.match.constructor.name === 'AsyncFunction' || returnsPromise(entry.match, args);\n}\n\nfunction isSyncCustomMatcherEntry(entry: CustomMatcherEntry): entry is SyncCustomMatcherEntry {\n return entry.match.constructor.name === 'Function';\n}\n\nfunction returnsPromise(func: Function, args: Array) {\n return func(...args) instanceof Promise;\n}\n\nfunction hasBuiltInError(validity: ValidityState) {\n let error = false;\n for (const validityKey in validity) {\n const key = validityKey as ValidityStateKey;\n if (key !== 'valid' && key !== 'customError' && validity[key]) {\n error = true;\n break;\n }\n }\n return error;\n}\n\nfunction getValidAttribute(validity: ValidityState | undefined, serverInvalid: boolean) {\n if (validity?.valid === true && !serverInvalid) return true;\n return undefined;\n}\nfunction getInvalidAttribute(validity: ValidityState | undefined, serverInvalid: boolean) {\n if (validity?.valid === false || serverInvalid) return true;\n return undefined;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Form;\nconst Field = FormField;\nconst Label = FormLabel;\nconst Control = FormControl;\nconst Message = FormMessage;\nconst ValidityState = FormValidityState;\nconst Submit = FormSubmit;\n\nexport {\n createFormScope,\n //\n Form,\n FormField,\n FormLabel,\n FormControl,\n FormMessage,\n FormValidityState,\n FormSubmit,\n //\n Root,\n Field,\n Label,\n Control,\n Message,\n ValidityState,\n Submit,\n};\n\nexport type {\n FormProps,\n FormFieldProps,\n FormLabelProps,\n FormControlProps,\n FormMessageProps,\n FormValidityStateProps,\n FormSubmitProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCard\n * -----------------------------------------------------------------------------------------------*/\n\nlet originalBodyUserSelect: string;\n\nconst HOVERCARD_NAME = 'HoverCard';\n\ntype ScopedProps

= P & { __scopeHoverCard?: Scope };\nconst [createHoverCardContext, createHoverCardScope] = createContextScope(HOVERCARD_NAME, [\n createPopperScope,\n]);\nconst usePopperScope = createPopperScope();\n\ntype HoverCardContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpen(): void;\n onClose(): void;\n onDismiss(): void;\n hasSelectionRef: React.MutableRefObject;\n isPointerDownOnContentRef: React.MutableRefObject;\n};\n\nconst [HoverCardProvider, useHoverCardContext] =\n createHoverCardContext(HOVERCARD_NAME);\n\ninterface HoverCardProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n}\n\nconst HoverCard: React.FC = (props: ScopedProps) => {\n const {\n __scopeHoverCard,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n } = props;\n const popperScope = usePopperScope(__scopeHoverCard);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const hasSelectionRef = React.useRef(false);\n const isPointerDownOnContentRef = React.useRef(false);\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }\n }, [closeDelay, setOpen]);\n\n const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);\n\n // cleanup any queued state updates on unmount\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nHoverCard.displayName = HOVERCARD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'HoverCardTrigger';\n\ntype HoverCardTriggerElement = React.ElementRef;\ntype PrimitiveLinkProps = React.ComponentPropsWithoutRef;\ninterface HoverCardTriggerProps extends PrimitiveLinkProps {}\n\nconst HoverCardTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeHoverCard, ...triggerProps } = props;\n const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);\n const popperScope = usePopperScope(__scopeHoverCard);\n return (\n \n event.preventDefault())}\n />\n \n );\n }\n);\n\nHoverCardTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'HoverCardPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface HoverCardPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardPortal: React.FC = (\n props: ScopedProps\n) => {\n const { __scopeHoverCard, forceMount, children, container } = props;\n const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nHoverCardPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'HoverCardContent';\n\ntype HoverCardContentElement = HoverCardContentImplElement;\ninterface HoverCardContentProps extends HoverCardContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);\n return (\n \n \n \n );\n }\n);\n\nHoverCardContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype HoverCardContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype PopperContentProps = React.ComponentPropsWithoutRef;\ninterface HoverCardContentImplProps extends Omit {\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `HoverCard`.\n * Can be prevented.\n */\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n /**\n * Event handler called when the focus moves outside of the `HoverCard`.\n * Can be prevented.\n */\n onFocusOutside?: DismissableLayerProps['onFocusOutside'];\n /**\n * Event handler called when an interaction happens outside the `HoverCard`.\n * Specifically, when a `pointerdown` event happens outside or focus moves outside of it.\n * Can be prevented.\n */\n onInteractOutside?: DismissableLayerProps['onInteractOutside'];\n}\n\nconst HoverCardContentImpl = React.forwardRef<\n HoverCardContentImplElement,\n HoverCardContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeHoverCard,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);\n const popperScope = usePopperScope(__scopeHoverCard);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [containSelection, setContainSelection] = React.useState(false);\n\n React.useEffect(() => {\n if (containSelection) {\n const body = document.body;\n\n // Safari requires prefix\n originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;\n\n body.style.userSelect = 'none';\n body.style.webkitUserSelect = 'none';\n return () => {\n body.style.userSelect = originalBodyUserSelect;\n body.style.webkitUserSelect = originalBodyUserSelect;\n };\n }\n }, [containSelection]);\n\n React.useEffect(() => {\n if (ref.current) {\n const handlePointerUp = () => {\n setContainSelection(false);\n context.isPointerDownOnContentRef.current = false;\n\n // Delay a frame to ensure we always access the latest selection\n setTimeout(() => {\n const hasSelection = document.getSelection()?.toString() !== '';\n if (hasSelection) context.hasSelectionRef.current = true;\n });\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n return () => {\n document.removeEventListener('pointerup', handlePointerUp);\n context.hasSelectionRef.current = false;\n context.isPointerDownOnContentRef.current = false;\n };\n }\n }, [context.isPointerDownOnContentRef, context.hasSelectionRef]);\n\n React.useEffect(() => {\n if (ref.current) {\n const tabbables = getTabbableNodes(ref.current);\n tabbables.forEach((tabbable) => tabbable.setAttribute('tabindex', '-1'));\n }\n });\n\n return (\n {\n event.preventDefault();\n })}\n onDismiss={context.onDismiss}\n >\n {\n // Contain selection to current layer\n if (event.currentTarget.contains(event.target as HTMLElement)) {\n setContainSelection(true);\n }\n context.hasSelectionRef.current = false;\n context.isPointerDownOnContentRef.current = true;\n })}\n ref={composedRefs}\n style={{\n ...contentProps.style,\n userSelect: containSelection ? 'text' : undefined,\n // Safari requires prefix\n WebkitUserSelect: containSelection ? 'text' : undefined,\n // re-namespace exposed content custom properties\n ...{\n '--radix-hover-card-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-hover-card-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-hover-card-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-hover-card-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-hover-card-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n \n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'HoverCardArrow';\n\ntype HoverCardArrowElement = React.ElementRef;\ntype PopperArrowProps = React.ComponentPropsWithoutRef;\ninterface HoverCardArrowProps extends PopperArrowProps {}\n\nconst HoverCardArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeHoverCard, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeHoverCard);\n return ;\n }\n);\n\nHoverCardArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction excludeTouch(eventHandler: () => void) {\n return (event: React.PointerEvent) =>\n event.pointerType === 'touch' ? undefined : eventHandler();\n}\n\n/**\n * Returns a list of nodes that can be in the tab sequence.\n * @see: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n */\nfunction getTabbableNodes(container: HTMLElement) {\n const nodes: HTMLElement[] = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node: any) => {\n // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n },\n });\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement);\n return nodes;\n}\n\nconst Root = HoverCard;\nconst Trigger = HoverCardTrigger;\nconst Portal = HoverCardPortal;\nconst Content = HoverCardContent;\nconst Arrow = HoverCardArrow;\n\nexport {\n createHoverCardScope,\n //\n HoverCard,\n HoverCardTrigger,\n HoverCardPortal,\n HoverCardContent,\n HoverCardArrow,\n //\n Root,\n Trigger,\n Portal,\n Content,\n Arrow,\n};\nexport type {\n HoverCardProps,\n HoverCardTriggerProps,\n HoverCardPortalProps,\n HoverCardContentProps,\n HoverCardArrowProps,\n};\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Label';\n\ntype LabelElement = React.ElementRef;\ntype PrimitiveLabelProps = React.ComponentPropsWithoutRef;\ninterface LabelProps extends PrimitiveLabelProps {}\n\nconst Label = React.forwardRef((props, forwardedRef) => {\n return (\n {\n // only prevent text selection if clicking inside the label itself\n const target = event.target as HTMLElement;\n if (target.closest('button, input, select, textarea')) return;\n\n props.onMouseDown?.(event);\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }}\n />\n );\n});\n\nLabel.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Label;\n\nexport {\n Label,\n //\n Root,\n};\nexport type { LabelProps };\n","import * as React from 'react';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * Menubar\n * -----------------------------------------------------------------------------------------------*/\n\nconst MENUBAR_NAME = 'Menubar';\n\ntype ItemData = { value: string; disabled: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n MenubarTriggerElement,\n ItemData\n>(MENUBAR_NAME);\n\ntype ScopedProps

= P & { __scopeMenubar?: Scope };\nconst [createMenubarContext, createMenubarScope] = createContextScope(MENUBAR_NAME, [\n createCollectionScope,\n createRovingFocusGroupScope,\n]);\n\nconst useMenuScope = createMenuScope();\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype MenubarContextValue = {\n value: string;\n dir: Direction;\n loop: boolean;\n onMenuOpen(value: string): void;\n onMenuClose(): void;\n onMenuToggle(value: string): void;\n};\n\nconst [MenubarContextProvider, useMenubarContext] =\n createMenubarContext(MENUBAR_NAME);\n\ntype MenubarElement = React.ElementRef;\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface MenubarProps extends PrimitiveDivProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n loop?: RovingFocusGroupProps['loop'];\n dir?: RovingFocusGroupProps['dir'];\n}\n\nconst Menubar = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeMenubar,\n value: valueProp,\n onValueChange,\n defaultValue,\n loop = true,\n dir,\n ...menubarProps\n } = props;\n const direction = useDirection(dir);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue,\n });\n\n // We need to manage tab stop id manually as `RovingFocusGroup` updates the stop\n // based on focus, and in some situations our triggers won't ever be given focus\n // (e.g. click to open and then outside to close)\n const [currentTabStopId, setCurrentTabStopId] = React.useState(null);\n\n return (\n {\n setValue(value);\n setCurrentTabStopId(value);\n },\n [setValue]\n )}\n onMenuClose={React.useCallback(() => setValue(''), [setValue])}\n onMenuToggle={React.useCallback(\n (value) => {\n setValue((prevValue) => (prevValue ? '' : value));\n // `openMenuOpen` and `onMenuToggle` are called exclusively so we\n // need to update the id in either case.\n setCurrentTabStopId(value);\n },\n [setValue]\n )}\n dir={direction}\n loop={loop}\n >\n \n \n \n \n \n \n \n \n );\n }\n);\n\nMenubar.displayName = MENUBAR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst MENU_NAME = 'MenubarMenu';\n\ntype MenubarMenuContextValue = {\n value: string;\n triggerId: string;\n triggerRef: React.RefObject;\n contentId: string;\n wasKeyboardTriggerOpenRef: React.MutableRefObject;\n};\n\nconst [MenubarMenuProvider, useMenubarMenuContext] =\n createMenubarContext(MENU_NAME);\n\ninterface MenubarMenuProps {\n value?: string;\n children?: React.ReactNode;\n}\n\nconst MenubarMenu = (props: ScopedProps) => {\n const { __scopeMenubar, value: valueProp, ...menuProps } = props;\n const autoValue = useId();\n // We need to provide an initial deterministic value as `useId` will return\n // empty string on the first render and we don't want to match our internal \"closed\" value.\n const value = valueProp || autoValue || 'LEGACY_REACT_AUTO_VALUE';\n const context = useMenubarContext(MENU_NAME, __scopeMenubar);\n const menuScope = useMenuScope(__scopeMenubar);\n const triggerRef = React.useRef(null);\n const wasKeyboardTriggerOpenRef = React.useRef(false);\n const open = context.value === value;\n\n React.useEffect(() => {\n if (!open) wasKeyboardTriggerOpenRef.current = false;\n }, [open]);\n\n return (\n \n {\n // Menu only calls `onOpenChange` when dismissing so we\n // want to close our MenuBar based on the same events.\n if (!open) context.onMenuClose();\n }}\n modal={false}\n dir={context.dir}\n {...menuProps}\n />\n \n );\n};\n\nMenubarMenu.displayName = MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'MenubarTrigger';\n\ntype MenubarTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface MenubarTriggerProps extends PrimitiveButtonProps {}\n\nconst MenubarTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, disabled = false, ...triggerProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenubar);\n const menuScope = useMenuScope(__scopeMenubar);\n const context = useMenubarContext(TRIGGER_NAME, __scopeMenubar);\n const menuContext = useMenubarMenuContext(TRIGGER_NAME, __scopeMenubar);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, menuContext.triggerRef);\n const [isFocused, setIsFocused] = React.useState(false);\n const open = context.value === menuContext.value;\n\n return (\n \n \n \n {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onMenuOpen(menuContext.value);\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n if (!open) event.preventDefault();\n }\n })}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, () => {\n const menubarOpen = Boolean(context.value);\n if (menubarOpen && !open) {\n context.onMenuOpen(menuContext.value);\n ref.current?.focus();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if (['Enter', ' '].includes(event.key)) context.onMenuToggle(menuContext.value);\n if (event.key === 'ArrowDown') context.onMenuOpen(menuContext.value);\n // prevent keydown from scrolling window / first focused item to execute\n // that keydown (inadvertently closing the menu)\n if (['Enter', ' ', 'ArrowDown'].includes(event.key)) {\n menuContext.wasKeyboardTriggerOpenRef.current = true;\n event.preventDefault();\n }\n })}\n onFocus={composeEventHandlers(props.onFocus, () => setIsFocused(true))}\n onBlur={composeEventHandlers(props.onBlur, () => setIsFocused(false))}\n />\n \n \n \n );\n }\n);\n\nMenubarTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'MenubarPortal';\n\ntype MenuPortalProps = React.ComponentPropsWithoutRef;\ninterface MenubarPortalProps extends MenuPortalProps {}\n\nconst MenubarPortal: React.FC = (props: ScopedProps) => {\n const { __scopeMenubar, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n};\n\nMenubarPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'MenubarContent';\n\ntype MenubarContentElement = React.ElementRef;\ntype MenuContentProps = React.ComponentPropsWithoutRef;\ninterface MenubarContentProps extends Omit {}\n\nconst MenubarContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, align = 'start', ...contentProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n const context = useMenubarContext(CONTENT_NAME, __scopeMenubar);\n const menuContext = useMenubarMenuContext(CONTENT_NAME, __scopeMenubar);\n const getItems = useCollection(__scopeMenubar);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n {\n const menubarOpen = Boolean(context.value);\n if (!menubarOpen && !hasInteractedOutsideRef.current) {\n menuContext.triggerRef.current?.focus();\n }\n\n hasInteractedOutsideRef.current = false;\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n })}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n const target = event.target as HTMLElement;\n const isMenubarTrigger = getItems().some((item) => item.ref.current?.contains(target));\n if (isMenubarTrigger) event.preventDefault();\n })}\n onInteractOutside={composeEventHandlers(props.onInteractOutside, () => {\n hasInteractedOutsideRef.current = true;\n })}\n onEntryFocus={(event) => {\n if (!menuContext.wasKeyboardTriggerOpenRef.current) event.preventDefault();\n }}\n onKeyDown={composeEventHandlers(\n props.onKeyDown,\n (event) => {\n if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {\n const target = event.target as HTMLElement;\n const targetIsSubTrigger = target.hasAttribute('data-radix-menubar-subtrigger');\n const isKeyDownInsideSubMenu =\n target.closest('[data-radix-menubar-content]') !== event.currentTarget;\n\n const prevMenuKey = context.dir === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n const isPrevKey = prevMenuKey === event.key;\n const isNextKey = !isPrevKey;\n\n // Prevent navigation when we're opening a submenu\n if (isNextKey && targetIsSubTrigger) return;\n // or we're inside a submenu and are moving backwards to close it\n if (isKeyDownInsideSubMenu && isPrevKey) return;\n\n const items = getItems().filter((item) => !item.disabled);\n let candidateValues = items.map((item) => item.value);\n if (isPrevKey) candidateValues.reverse();\n\n const currentIndex = candidateValues.indexOf(menuContext.value);\n\n candidateValues = context.loop\n ? wrapArray(candidateValues, currentIndex + 1)\n : candidateValues.slice(currentIndex + 1);\n\n const [nextValue] = candidateValues;\n if (nextValue) context.onMenuOpen(nextValue);\n }\n },\n { checkForDefaultPrevented: false }\n )}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-menubar-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-menubar-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-menubar-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-menubar-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-menubar-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n }\n);\n\nMenubarContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'MenubarGroup';\n\ntype MenubarGroupElement = React.ElementRef;\ntype MenuGroupProps = React.ComponentPropsWithoutRef;\ninterface MenubarGroupProps extends MenuGroupProps {}\n\nconst MenubarGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'MenubarLabel';\n\ntype MenubarLabelElement = React.ElementRef;\ntype MenuLabelProps = React.ComponentPropsWithoutRef;\ninterface MenubarLabelProps extends MenuLabelProps {}\n\nconst MenubarLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'MenubarItem';\n\ntype MenubarItemElement = React.ElementRef;\ntype MenuItemProps = React.ComponentPropsWithoutRef;\ninterface MenubarItemProps extends MenuItemProps {}\n\nconst MenubarItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'MenubarCheckboxItem';\n\ntype MenubarCheckboxItemElement = React.ElementRef;\ntype MenuCheckboxItemProps = React.ComponentPropsWithoutRef;\ninterface MenubarCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst MenubarCheckboxItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'MenubarRadioGroup';\n\ntype MenubarRadioGroupElement = React.ElementRef;\ntype MenuRadioGroupProps = React.ComponentPropsWithoutRef;\ninterface MenubarRadioGroupProps extends MenuRadioGroupProps {}\n\nconst MenubarRadioGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'MenubarRadioItem';\n\ntype MenubarRadioItemElement = React.ElementRef;\ntype MenuRadioItemProps = React.ComponentPropsWithoutRef;\ninterface MenubarRadioItemProps extends MenuRadioItemProps {}\n\nconst MenubarRadioItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'MenubarItemIndicator';\n\ntype MenubarItemIndicatorElement = React.ElementRef;\ntype MenuItemIndicatorProps = React.ComponentPropsWithoutRef;\ninterface MenubarItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst MenubarItemIndicator = React.forwardRef<\n MenubarItemIndicatorElement,\n MenubarItemIndicatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n});\n\nMenubarItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'MenubarSeparator';\n\ntype MenubarSeparatorElement = React.ElementRef;\ntype MenuSeparatorProps = React.ComponentPropsWithoutRef;\ninterface MenubarSeparatorProps extends MenuSeparatorProps {}\n\nconst MenubarSeparator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'MenubarArrow';\n\ntype MenubarArrowElement = React.ElementRef;\ntype MenuArrowProps = React.ComponentPropsWithoutRef;\ninterface MenubarArrowProps extends MenuArrowProps {}\n\nconst MenubarArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return ;\n }\n);\n\nMenubarArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'MenubarSub';\n\ninterface MenubarSubProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst MenubarSub: React.FC = (props: ScopedProps) => {\n const { __scopeMenubar, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n \n {children}\n \n );\n};\n\nMenubarSub.displayName = SUB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'MenubarSubTrigger';\n\ntype MenubarSubTriggerElement = React.ElementRef;\ntype MenuSubTriggerProps = React.ComponentPropsWithoutRef;\ninterface MenubarSubTriggerProps extends MenuSubTriggerProps {}\n\nconst MenubarSubTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n return (\n \n );\n }\n);\n\nMenubarSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenubarSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'MenubarSubContent';\n\ntype MenubarSubContentElement = React.ElementRef;\ntype MenuSubContentProps = React.ComponentPropsWithoutRef;\ninterface MenubarSubContentProps extends MenuSubContentProps {}\n\nconst MenubarSubContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenubar, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeMenubar);\n\n return (\n \n );\n }\n);\n\nMenubarSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\nconst Root = Menubar;\nconst Menu = MenubarMenu;\nconst Trigger = MenubarTrigger;\nconst Portal = MenubarPortal;\nconst Content = MenubarContent;\nconst Group = MenubarGroup;\nconst Label = MenubarLabel;\nconst Item = MenubarItem;\nconst CheckboxItem = MenubarCheckboxItem;\nconst RadioGroup = MenubarRadioGroup;\nconst RadioItem = MenubarRadioItem;\nconst ItemIndicator = MenubarItemIndicator;\nconst Separator = MenubarSeparator;\nconst Arrow = MenubarArrow;\nconst Sub = MenubarSub;\nconst SubTrigger = MenubarSubTrigger;\nconst SubContent = MenubarSubContent;\n\nexport {\n createMenubarScope,\n //\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarPortal,\n MenubarContent,\n MenubarGroup,\n MenubarLabel,\n MenubarItem,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarItemIndicator,\n MenubarSeparator,\n MenubarArrow,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n //\n Root,\n Menu,\n Trigger,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n MenubarProps,\n MenubarMenuProps,\n MenubarTriggerProps,\n MenubarPortalProps,\n MenubarContentProps,\n MenubarGroupProps,\n MenubarLabelProps,\n MenubarItemProps,\n MenubarCheckboxItemProps,\n MenubarRadioGroupProps,\n MenubarRadioItemProps,\n MenubarItemIndicatorProps,\n MenubarSeparatorProps,\n MenubarArrowProps,\n MenubarSubProps,\n MenubarSubTriggerProps,\n MenubarSubContentProps,\n};\n","/// \n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { composeRefs, useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Orientation = 'vertical' | 'horizontal';\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAVIGATION_MENU_NAME = 'NavigationMenu';\n\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n NavigationMenuTriggerElement,\n { value: string }\n>(NAVIGATION_MENU_NAME);\n\nconst [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] =\n createCollection(NAVIGATION_MENU_NAME);\n\ntype ScopedProps

= P & { __scopeNavigationMenu?: Scope };\nconst [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope, createFocusGroupCollectionScope]\n);\n\ntype ContentData = {\n ref?: React.Ref;\n} & ViewportContentMounterProps;\n\ntype NavigationMenuContextValue = {\n isRootMenu: boolean;\n value: string;\n previousValue: string;\n baseId: string;\n dir: Direction;\n orientation: Orientation;\n rootNavigationMenu: NavigationMenuElement | null;\n indicatorTrack: HTMLDivElement | null;\n onIndicatorTrackChange(indicatorTrack: HTMLDivElement | null): void;\n viewport: NavigationMenuViewportElement | null;\n onViewportChange(viewport: NavigationMenuViewportElement | null): void;\n onViewportContentChange(contentValue: string, contentData: ContentData): void;\n onViewportContentRemove(contentValue: string): void;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave(): void;\n onContentEnter(): void;\n onContentLeave(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n};\n\nconst [NavigationMenuProviderImpl, useNavigationMenuContext] =\n createNavigationMenuContext(NAVIGATION_MENU_NAME);\n\nconst [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext<{\n items: Map;\n}>(NAVIGATION_MENU_NAME);\n\ntype NavigationMenuElement = React.ElementRef;\ntype PrimitiveNavProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuProps\n extends Omit,\n PrimitiveNavProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n dir?: Direction;\n orientation?: Orientation;\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened.\n * @defaultValue 200\n */\n delayDuration?: number;\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @defaultValue 300\n */\n skipDelayDuration?: number;\n}\n\nconst NavigationMenu = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = 'horizontal',\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: (value) => {\n const isOpen = value !== '';\n const hasSkipDelayDuration = skipDelayDuration > 0;\n\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n\n onValueChange?.(value);\n },\n defaultProp: defaultValue,\n });\n\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(''), 150);\n }, [setValue]);\n\n const handleOpen = React.useCallback(\n (itemValue: string) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n\n const handleDelayedOpen = React.useCallback(\n (itemValue: string) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n // If the item is already open (e.g. we're transitioning from the content to the trigger)\n // then we want to clear the close timer immediately.\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n\n return (\n {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n }}\n onTriggerLeave={() => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n }}\n onContentEnter={() => window.clearTimeout(closeTimerRef.current)}\n onContentLeave={startCloseTimer}\n onItemSelect={(itemValue) => {\n setValue((prevValue) => (prevValue === itemValue ? '' : itemValue));\n }}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'NavigationMenuSub';\n\ntype NavigationMenuSubElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuSubProps\n extends Omit,\n PrimitiveDivProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n orientation?: Orientation;\n}\n\nconst NavigationMenuSub = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue,\n });\n\n return (\n setValue(itemValue)}\n onItemSelect={(itemValue) => setValue(itemValue)}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenuSub.displayName = SUB_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ninterface NavigationMenuProviderPrivateProps {\n isRootMenu: boolean;\n scope: Scope;\n children: React.ReactNode;\n orientation: Orientation;\n dir: Direction;\n rootNavigationMenu: NavigationMenuElement | null;\n value: string;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave?(): void;\n onContentEnter?(): void;\n onContentLeave?(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n}\n\ninterface NavigationMenuProviderProps extends NavigationMenuProviderPrivateProps {}\n\nconst NavigationMenuProvider: React.FC = (\n props: ScopedProps\n) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave,\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState>(new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n\n return (\n {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, [])}\n onViewportContentRemove={React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, [])}\n >\n \n \n {children}\n \n \n \n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuList\n * -----------------------------------------------------------------------------------------------*/\n\nconst LIST_NAME = 'NavigationMenuList';\n\ntype NavigationMenuListElement = React.ElementRef;\ntype PrimitiveUnorderedListProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuListProps extends PrimitiveUnorderedListProps {}\n\nconst NavigationMenuList = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n\n const list = (\n \n );\n\n return (\n \n \n {context.isRootMenu ? {list} : list}\n \n \n );\n }\n);\n\nNavigationMenuList.displayName = LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'NavigationMenuItem';\n\ntype FocusProxyElement = React.ElementRef;\n\ntype NavigationMenuItemContextValue = {\n value: string;\n triggerRef: React.RefObject;\n contentRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onEntryKeyDown(): void;\n onFocusProxyEnter(side: 'start' | 'end'): void;\n onRootContentClose(): void;\n onContentFocusOutside(): void;\n};\n\nconst [NavigationMenuItemContextProvider, useNavigationMenuItemContext] =\n createNavigationMenuContext(ITEM_NAME);\n\ntype NavigationMenuItemElement = React.ElementRef;\ntype PrimitiveListItemProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuItemProps extends PrimitiveListItemProps {\n value?: string;\n}\n\nconst NavigationMenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n // We need to provide an initial deterministic value as `useId` will return\n // empty string on the first render and we don't want to match our internal \"closed\" value.\n const value = valueProp || autoValue || 'LEGACY_REACT_AUTO_VALUE';\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {});\n const wasEscapeCloseRef = React.useRef(false);\n\n const handleContentEntry = React.useCallback((side = 'start') => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === 'start' ? candidates : candidates.reverse());\n }\n }, []);\n\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n\n return (\n \n \n \n );\n }\n);\n\nNavigationMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'NavigationMenuTrigger';\n\ntype NavigationMenuTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuTriggerProps extends PrimitiveButtonProps {}\n\nconst NavigationMenuTrigger = React.forwardRef<\n NavigationMenuTriggerElement,\n NavigationMenuTriggerProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n\n return (\n <>\n \n \n {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n })}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (\n disabled ||\n wasClickCloseRef.current ||\n itemContext.wasEscapeCloseRef.current ||\n hasPointerMoveOpenedRef.current\n )\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n )}\n onClick={composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === 'rtl' ? 'ArrowLeft' : 'ArrowRight';\n const entryKey = { horizontal: 'ArrowDown', vertical: verticalEntryKey }[\n context.orientation\n ];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n // Prevent FocusGroupItem from handling the event\n event.preventDefault();\n }\n })}\n />\n \n \n\n {/* Proxy tab order between trigger and content */}\n {open && (\n <>\n {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget as HTMLElement | null;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? 'start' : 'end');\n }\n }}\n />\n\n {/* Restructure a11y tree to make content accessible to screen reader when using the viewport */}\n {context.viewport && }\n \n )}\n \n );\n});\n\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuLink\n * -----------------------------------------------------------------------------------------------*/\n\nconst LINK_NAME = 'NavigationMenuLink';\nconst LINK_SELECT = 'navigationMenu.linkSelect';\n\ntype NavigationMenuLinkElement = React.ElementRef;\ntype PrimitiveLinkProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuLinkProps extends Omit {\n active?: boolean;\n onSelect?: (event: Event) => void;\n}\n\nconst NavigationMenuLink = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n\n return (\n \n {\n const target = event.target as HTMLElement;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true,\n });\n target.addEventListener(LINK_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nNavigationMenuLink.displayName = LINK_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'NavigationMenuIndicator';\n\ntype NavigationMenuIndicatorElement = NavigationMenuIndicatorImplElement;\ninterface NavigationMenuIndicatorProps extends NavigationMenuIndicatorImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuIndicator = React.forwardRef<\n NavigationMenuIndicatorElement,\n NavigationMenuIndicatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n\n return context.indicatorTrack\n ? ReactDOM.createPortal(\n \n \n ,\n context.indicatorTrack\n )\n : null;\n});\n\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\n\ntype NavigationMenuIndicatorImplElement = React.ElementRef;\ninterface NavigationMenuIndicatorImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuIndicatorImpl = React.forwardRef<\n NavigationMenuIndicatorImplElement,\n NavigationMenuIndicatorImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState<{ size: number; offset: number } | null>(null);\n const isHorizontal = context.orientation === 'horizontal';\n const isVisible = Boolean(context.value);\n\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n\n /**\n * Update position when the indicator or parent track size changes\n */\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop,\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n\n // We need to wait for the indicator position to be available before rendering to\n // snap immediately into position rather than transitioning from initial\n return position ? (\n \n ) : null;\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'NavigationMenuContent';\n\ntype NavigationMenuContentElement = NavigationMenuContentImplElement;\ninterface NavigationMenuContentProps\n extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuContent = React.forwardRef<\n NavigationMenuContentElement,\n NavigationMenuContentProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps,\n };\n\n return !context.viewport ? (\n \n \n \n ) : (\n \n );\n});\n\nNavigationMenuContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ViewportContentMounterElement = NavigationMenuContentImplElement;\ninterface ViewportContentMounterProps extends NavigationMenuContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst ViewportContentMounter = React.forwardRef<\n ViewportContentMounterElement,\n ViewportContentMounterProps\n>((props: ScopedProps, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n\n useLayoutEffect(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props,\n });\n }, [props, forwardedRef, onViewportContentChange]);\n\n useLayoutEffect(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n\n // Content is proxied into the viewport\n return null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ROOT_CONTENT_DISMISS = 'navigationMenu.rootContentDismiss';\n\ntype MotionAttribute = 'to-start' | 'to-end' | 'from-start' | 'from-end';\ntype NavigationMenuContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\n\ninterface NavigationMenuContentImplPrivateProps {\n value: string;\n triggerRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onContentFocusOutside(): void;\n onRootContentClose(): void;\n}\ninterface NavigationMenuContentImplProps\n extends Omit,\n NavigationMenuContentImplPrivateProps {}\n\nconst NavigationMenuContentImpl = React.forwardRef<\n NavigationMenuContentImplElement,\n NavigationMenuContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n\n const { onItemDismiss } = context;\n\n React.useEffect(() => {\n const content = ref.current;\n\n // Bubble dismiss to the root content node and focus its trigger\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === 'rtl') values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n\n // We only want to update selected and the last selected content\n // this avoids animations being interrupted outside of that range\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n\n const attribute = (() => {\n // Don't provide a direction on the initial open\n if (index !== prevIndex) {\n // If we're moving to this item from another\n if (isSelected && prevIndex !== -1) return index > prevIndex ? 'from-end' : 'from-start';\n // If we're leaving this item for another\n if (wasSelected && index !== -1) return index > prevIndex ? 'to-start' : 'to-end';\n }\n // Otherwise we're entering from closed or leaving the list\n // entirely and should not animate in any direction\n return null;\n })();\n\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n\n return (\n \n {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n }}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target as HTMLElement;\n // Only dismiss content when focus moves outside of the menu\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target as HTMLElement;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === 'Tab' && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards\n ? candidates.slice(0, index).reverse()\n : candidates.slice(index + 1, candidates.length);\n\n if (focusFirst(nextCandidates)) {\n // prevent browser tab keydown because we've handled focus\n event.preventDefault();\n } else {\n // If we can't focus that means we're at the edges\n // so focus the proxy and let browser handle\n // tab/shift+tab keypress on the proxy instead\n focusProxyRef.current?.focus();\n }\n }\n })}\n onEscapeKeyDown={composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n // prevent the dropdown from reopening\n // after the escape key has been pressed\n wasEscapeCloseRef.current = true;\n })}\n />\n \n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'NavigationMenuViewport';\n\ntype NavigationMenuViewportElement = NavigationMenuViewportImplElement;\ninterface NavigationMenuViewportProps\n extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuViewport = React.forwardRef<\n NavigationMenuViewportElement,\n NavigationMenuViewportProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n\n return (\n \n \n \n );\n});\n\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype NavigationMenuViewportImplElement = React.ElementRef;\ninterface NavigationMenuViewportImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuViewportImpl = React.forwardRef<\n NavigationMenuViewportImplElement,\n NavigationMenuViewportImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState<{ width: number; height: number } | null>(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + 'px' : undefined;\n const viewportHeight = size ? size?.height + 'px' : undefined;\n const open = Boolean(context.value);\n // We persist the last active content value as the viewport may be animating out\n // and we want the content to remain mounted for the lifecycle of the viewport.\n const activeContentValue = open ? context.value : context.previousValue;\n\n /**\n * Update viewport size to match the active content node.\n * We prefer offset dimensions over `getBoundingClientRect` as the latter respects CSS transform.\n * For example, if content animates in from `scale(0.5)` the dimensions would be anything\n * from `0.5` to `1` of the intended size.\n */\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n\n return (\n \n {Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props }]) => {\n const isActive = activeContentValue === value;\n return (\n \n {\n // We only want to update the stored node when another is available\n // as we need to smoothly transition between them.\n if (isActive && node) setContent(node);\n })}\n />\n \n );\n })}\n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst FOCUS_GROUP_NAME = 'FocusGroup';\n\ntype FocusGroupElement = React.ElementRef;\ninterface FocusGroupProps extends PrimitiveDivProps {}\n\nconst FocusGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n\n return (\n \n \n \n \n \n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_KEYS = ['ArrowRight', 'ArrowLeft', 'ArrowUp', 'ArrowDown'];\nconst FOCUS_GROUP_ITEM_NAME = 'FocusGroupItem';\n\ntype FocusGroupItemElement = React.ElementRef;\ninterface FocusGroupItemProps extends PrimitiveButtonProps {}\n\nconst FocusGroupItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n\n return (\n \n {\n const isFocusNavigationKey = ['Home', 'End', ...ARROW_KEYS].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current!);\n const prevItemKey = context.dir === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n const prevKeys = [prevItemKey, 'ArrowUp', 'End'];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n\n // Prevent page scroll while navigating\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */\nfunction getTabbableCandidates(container: HTMLElement) {\n const nodes: HTMLElement[] = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node: any) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n },\n });\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement);\n // we do not take into account the order of nodes with positive `tabIndex` as it\n // hinders accessibility to have tab order different from visual order.\n return nodes;\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\n\nfunction removeFromTabOrder(candidates: HTMLElement[]) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute('tabindex') || '';\n candidate.setAttribute('tabindex', '-1');\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex as string;\n candidate.setAttribute('tabindex', prevTabIndex);\n });\n };\n}\n\nfunction useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n /**\n * Resize Observer will throw an often benign error that says `ResizeObserver loop\n * completed with undelivered notifications`. This means that ResizeObserver was not\n * able to deliver all observations within a single animation frame, so we use\n * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n * Further reading: https://github.com/WICG/resize-observer/issues/38\n */\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\n\nfunction getOpenState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nfunction whenMouse(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType === 'mouse' ? handler(event) : undefined);\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = NavigationMenu;\nconst Sub = NavigationMenuSub;\nconst List = NavigationMenuList;\nconst Item = NavigationMenuItem;\nconst Trigger = NavigationMenuTrigger;\nconst Link = NavigationMenuLink;\nconst Indicator = NavigationMenuIndicator;\nconst Content = NavigationMenuContent;\nconst Viewport = NavigationMenuViewport;\n\nexport {\n createNavigationMenuScope,\n //\n NavigationMenu,\n NavigationMenuSub,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuContent,\n NavigationMenuViewport,\n //\n Root,\n Sub,\n List,\n Item,\n Trigger,\n Link,\n Indicator,\n Content,\n Viewport,\n};\nexport type {\n NavigationMenuProps,\n NavigationMenuSubProps,\n NavigationMenuListProps,\n NavigationMenuItemProps,\n NavigationMenuTriggerProps,\n NavigationMenuLinkProps,\n NavigationMenuIndicatorProps,\n NavigationMenuContentProps,\n NavigationMenuViewportProps,\n};\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Progress\n * -----------------------------------------------------------------------------------------------*/\n\nconst PROGRESS_NAME = 'Progress';\nconst DEFAULT_MAX = 100;\n\ntype ScopedProps

= P & { __scopeProgress?: Scope };\nconst [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\n\ntype ProgressState = 'indeterminate' | 'complete' | 'loading';\ntype ProgressContextValue = { value: number | null; max: number };\nconst [ProgressProvider, useProgressContext] =\n createProgressContext(PROGRESS_NAME);\n\ntype ProgressElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface ProgressProps extends PrimitiveDivProps {\n value?: number | null | undefined;\n max?: number;\n getValueLabel?(value: number, max: number): string;\n}\n\nconst Progress = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, 'Progress'));\n }\n\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, 'Progress'));\n }\n\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : undefined;\n\n return (\n \n \n \n );\n }\n);\n\nProgress.displayName = PROGRESS_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * ProgressIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'ProgressIndicator';\n\ntype ProgressIndicatorElement = React.ElementRef;\ninterface ProgressIndicatorProps extends PrimitiveDivProps {}\n\nconst ProgressIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return (\n \n );\n }\n);\n\nProgressIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction defaultGetValueLabel(value: number, max: number) {\n return `${Math.round((value / max) * 100)}%`;\n}\n\nfunction getProgressState(value: number | undefined | null, maxValue: number): ProgressState {\n return value == null ? 'indeterminate' : value === maxValue ? 'complete' : 'loading';\n}\n\nfunction isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nfunction isValidMaxNumber(max: any): max is number {\n // prettier-ignore\n return (\n isNumber(max) &&\n !isNaN(max) &&\n max > 0\n );\n}\n\nfunction isValidValueNumber(value: any, max: number): value is number {\n // prettier-ignore\n return (\n isNumber(value) &&\n !isNaN(value) &&\n value <= max &&\n value >= 0\n );\n}\n\n// Split this out for clearer readability of the error message.\nfunction getInvalidMaxError(propValue: string, componentName: string) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\n\nfunction getInvalidValueError(propValue: string, componentName: string) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\n\nconst Root = Progress;\nconst Indicator = ProgressIndicator;\n\nexport {\n createProgressScope,\n //\n Progress,\n ProgressIndicator,\n //\n Root,\n Indicator,\n};\nexport type { ProgressProps, ProgressIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Radio, RadioIndicator, createRadioScope } from './radio';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps

= P & { __scopeRadioGroup?: Scope };\nconst [createRadioGroupContext, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useRadioScope = createRadioScope();\n\ntype RadioGroupContextValue = {\n name?: string;\n required: boolean;\n disabled: boolean;\n value?: string;\n onValueChange(value: string): void;\n};\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContext(RADIO_GROUP_NAME);\n\ntype RadioGroupElement = React.ElementRef;\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface RadioGroupProps extends PrimitiveDivProps {\n name?: RadioGroupContextValue['name'];\n required?: React.ComponentPropsWithoutRef['required'];\n disabled?: React.ComponentPropsWithoutRef['disabled'];\n dir?: RovingFocusGroupProps['dir'];\n orientation?: RovingFocusGroupProps['orientation'];\n loop?: RovingFocusGroupProps['loop'];\n defaultValue?: string;\n value?: RadioGroupContextValue['value'];\n onValueChange?: RadioGroupContextValue['onValueChange'];\n}\n\nconst RadioGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n \n \n \n \n \n );\n }\n);\n\nRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RadioGroupItem';\n\ntype RadioGroupItemElement = React.ElementRef;\ntype RadioProps = React.ComponentPropsWithoutRef;\ninterface RadioGroupItemProps extends Omit {\n value: string;\n}\n\nconst RadioGroupItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => (isArrowKeyPressedRef.current = false);\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n\n return (\n \n context.onValueChange(itemProps.value)}\n onKeyDown={composeEventHandlers((event) => {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onFocus={composeEventHandlers(itemProps.onFocus, () => {\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })}\n />\n \n );\n }\n);\n\nRadioGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioGroupIndicator';\n\ntype RadioGroupIndicatorElement = React.ElementRef;\ntype RadioIndicatorProps = React.ComponentPropsWithoutRef;\ninterface RadioGroupIndicatorProps extends RadioIndicatorProps {}\n\nconst RadioGroupIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return ;\n }\n);\n\nRadioGroupIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst Root = RadioGroup;\nconst Item = RadioGroupItem;\nconst Indicator = RadioGroupIndicator;\n\nexport {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n};\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_NAME = 'Radio';\n\ntype ScopedProps

= P & { __scopeRadio?: Scope };\nconst [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n\ntype RadioContextValue = { checked: boolean; disabled?: boolean };\nconst [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\n\ntype RadioElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface RadioProps extends PrimitiveButtonProps {\n checked?: boolean;\n required?: boolean;\n onCheck?(): void;\n}\n\nconst Radio = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = 'on',\n onCheck,\n form,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? form || !!button.closest('form') : true;\n\n return (\n \n {\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n {isFormControl && (\n \n )}\n \n );\n }\n);\n\nRadio.displayName = RADIO_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioIndicator';\n\ntype RadioIndicatorElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\nexport interface RadioIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst RadioIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return (\n \n \n \n );\n }\n);\n\nRadioIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = React.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit {\n checked: boolean;\n control: HTMLElement | null;\n bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = ref.current!;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n\n return (\n \n );\n};\n\nfunction getState(checked: boolean) {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createRadioScope,\n //\n Radio,\n RadioIndicator,\n};\nexport type { RadioProps };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { clamp } from '@radix-ui/number';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { useId } from '@radix-ui/react-id';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Slot } from '@radix-ui/react-slot';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport { hideOthers } from 'aria-hidden';\nimport { RemoveScroll } from 'react-remove-scroll';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\nconst OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown'];\nconst SELECTION_KEYS = [' ', 'Enter'];\n\n/* -------------------------------------------------------------------------------------------------\n * Select\n * -----------------------------------------------------------------------------------------------*/\n\nconst SELECT_NAME = 'Select';\n\ntype ItemData = { value: string; disabled: boolean; textValue: string };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n SelectItemElement,\n ItemData\n>(SELECT_NAME);\n\ntype ScopedProps

= P & { __scopeSelect?: Scope };\nconst [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope,\n]);\nconst usePopperScope = createPopperScope();\n\ntype SelectContextValue = {\n trigger: SelectTriggerElement | null;\n onTriggerChange(node: SelectTriggerElement | null): void;\n valueNode: SelectValueElement | null;\n onValueNodeChange(node: SelectValueElement): void;\n valueNodeHasChildren: boolean;\n onValueNodeHasChildrenChange(hasChildren: boolean): void;\n contentId: string;\n value?: string;\n onValueChange(value: string): void;\n open: boolean;\n required?: boolean;\n onOpenChange(open: boolean): void;\n dir: SelectProps['dir'];\n triggerPointerDownPosRef: React.MutableRefObject<{ x: number; y: number } | null>;\n disabled?: boolean;\n};\n\nconst [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\n\ntype NativeOption = React.ReactElement>;\n\ntype SelectNativeOptionsContextValue = {\n onNativeOptionAdd(option: NativeOption): void;\n onNativeOptionRemove(option: NativeOption): void;\n};\nconst [SelectNativeOptionsProvider, useSelectNativeOptionsContext] =\n createSelectContext(SELECT_NAME);\n\ninterface SelectProps {\n children?: React.ReactNode;\n value?: string;\n defaultValue?: string;\n onValueChange?(value: string): void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n name?: string;\n autoComplete?: string;\n disabled?: boolean;\n required?: boolean;\n form?: string;\n}\n\nconst Select: React.FC = (props: ScopedProps) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form,\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n const triggerPointerDownPosRef = React.useRef<{ x: number; y: number } | null>(null);\n\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = trigger ? form || !!trigger.closest('form') : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(new Set());\n\n // The native `select` only associates the correct default value if the corresponding\n // `option` is rendered as a child **at the same time** as itself.\n // Because it might take a few renders for our items to gather the information to build\n // the native `option`(s), we generate a key on the `select` to make sure React re-builds it\n // each time the options change.\n const nativeSelectKey = Array.from(nativeOptionsSet)\n .map((option) => option.props.value)\n .join(';');\n\n return (\n \n \n \n {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, [])}\n onNativeOptionRemove={React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, [])}\n >\n {children}\n \n \n\n {isFormControl ? (\n setValue(event.target.value)}\n disabled={disabled}\n form={form}\n >\n {value === undefined ? \n );\n};\n\nSelect.displayName = SELECT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'SelectTrigger';\n\ntype SelectTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface SelectTriggerProps extends PrimitiveButtonProps {}\n\nconst SelectTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef('touch');\n\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== undefined) {\n context.onValueChange(nextItem.value);\n }\n });\n\n const handleOpen = (pointerEvent?: React.MouseEvent | React.PointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n // reset typeahead when we open\n resetTypeahead();\n }\n\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY),\n };\n }\n };\n\n return (\n \n {\n // Whilst browsers generally have no issue focusing the trigger when clicking\n // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n // We force `focus` in this case. Note: this doesn't create any other side-effect\n // because we are preventing default in `onPointerDown` so effectively\n // this only runs for a label \"click\"\n event.currentTarget.focus();\n\n // Open on click when using a touch or pen device\n if (pointerTypeRef.current !== 'mouse') {\n handleOpen(event);\n }\n })}\n onPointerDown={composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click); also not for touch\n // devices because that would open the menu on scroll. (pen devices behave as touch on iOS).\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === 'mouse') {\n handleOpen(event);\n // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== '';\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === ' ') return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\nSelectTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectValue\n * -----------------------------------------------------------------------------------------------*/\n\nconst VALUE_NAME = 'SelectValue';\n\ntype SelectValueElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface SelectValueProps extends Omit {\n placeholder?: React.ReactNode;\n}\n\nconst SelectValue = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect, className, style, children, placeholder = '', ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== undefined;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n\n return (\n \n {shouldShowPlaceholder(context.value) ? <>{placeholder} : children}\n \n );\n }\n);\n\nSelectValue.displayName = VALUE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectIcon\n * -----------------------------------------------------------------------------------------------*/\n\nconst ICON_NAME = 'SelectIcon';\n\ntype SelectIconElement = React.ElementRef;\ninterface SelectIconProps extends PrimitiveSpanProps {}\n\nconst SelectIcon = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return (\n \n {children || '▼'}\n \n );\n }\n);\n\nSelectIcon.displayName = ICON_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'SelectPortal';\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface SelectPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n}\n\nconst SelectPortal: React.FC = (props: ScopedProps) => {\n return ;\n};\n\nSelectPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'SelectContent';\n\ntype SelectContentElement = SelectContentImplElement;\ninterface SelectContentProps extends SelectContentImplProps {}\n\nconst SelectContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n\n // setting the fragment in `useLayoutEffect` as `DocumentFragment` doesn't exist on the server\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n\n if (!context.open) {\n const frag = fragment as Element | undefined;\n return frag\n ? ReactDOM.createPortal(\n \n \n

{props.children}
\n \n ,\n frag\n )\n : null;\n }\n\n return ;\n }\n);\n\nSelectContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectContentImpl\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_MARGIN = 10;\n\ntype SelectContentContextValue = {\n content?: SelectContentElement | null;\n viewport?: SelectViewportElement | null;\n onViewportChange?: (node: SelectViewportElement | null) => void;\n itemRefCallback?: (node: SelectItemElement | null, value: string, disabled: boolean) => void;\n selectedItem?: SelectItemElement | null;\n onItemLeave?: () => void;\n itemTextRefCallback?: (\n node: SelectItemTextElement | null,\n value: string,\n disabled: boolean\n ) => void;\n focusSelectedItem?: () => void;\n selectedItemText?: SelectItemTextElement | null;\n position?: SelectContentProps['position'];\n isPositioned?: boolean;\n searchRef?: React.RefObject;\n};\n\nconst [SelectContentProvider, useSelectContentContext] =\n createSelectContext(CONTENT_NAME);\n\nconst CONTENT_IMPL_NAME = 'SelectContentImpl';\n\ntype SelectContentImplElement = SelectPopperPositionElement | SelectItemAlignedPositionElement;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype FocusScopeProps = React.ComponentPropsWithoutRef;\n\ntype SelectPopperPrivateProps = { onPlaced?: PopperContentProps['onPlaced'] };\n\ninterface SelectContentImplProps\n extends Omit,\n Omit {\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n\n position?: 'item-aligned' | 'popper';\n}\n\nconst SelectContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n position = 'item-aligned',\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n\n // Make sure the whole tree has focus guards as our `Select` may be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n const focusFirst = React.useCallback(\n (candidates: Array) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: 'nearest' });\n // viewport might have padding so scroll to its edges when focusing first/last items.\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n\n // Since this is not dependent on layout, we want to ensure this runs at the same time as\n // other effects across components. Hence why we don't call `focusSelectedItem` inside `position`.\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n\n // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`\n // and close on `pointerup` outside.\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n\n const handlePointerMove = (event: PointerEvent) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0)),\n };\n };\n const handlePointerUp = (event: PointerEvent) => {\n // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n // otherwise, if the event was outside the content, close.\n if (!content.contains(event.target as HTMLElement)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener('pointermove', handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, { capture: true, once: true });\n }\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener('blur', close);\n window.addEventListener('resize', close);\n return () => {\n window.removeEventListener('blur', close);\n window.removeEventListener('resize', close);\n };\n }, [onOpenChange]);\n\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => (nextItem.ref.current as HTMLElement).focus());\n }\n });\n\n const itemRefCallback = React.useCallback(\n (node: SelectItemElement | null, value: string, disabled: boolean) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node: SelectItemTextElement | null, value: string, disabled: boolean) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n\n const SelectPosition = position === 'popper' ? SelectPopperPosition : SelectItemAlignedPosition;\n\n // Silently ignore props that are not supported by `SelectItemAlignedPosition`\n const popperContentProps =\n SelectPosition === SelectPopperPosition\n ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n }\n : {};\n\n return (\n \n \n {\n // we prevent open autofocus because we manually focus the selected item\n event.preventDefault();\n }}\n onUnmountAutoFocus={composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n })}\n >\n event.preventDefault()}\n onDismiss={() => context.onOpenChange(false)}\n >\n event.preventDefault()}\n {...contentProps}\n {...popperContentProps}\n onPlaced={() => setIsPositioned(true)}\n ref={composedRefs}\n style={{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...contentProps.style,\n }}\n onKeyDown={composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n\n // select should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (['ArrowUp', 'End'].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if (['ArrowUp', 'ArrowDown'].includes(event.key)) {\n const currentElement = event.target as SelectItemElement;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n\n event.preventDefault();\n }\n })}\n />\n \n \n \n \n );\n }\n);\n\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemAlignedPosition\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_ALIGNED_POSITION_NAME = 'SelectItemAlignedPosition';\n\ntype SelectItemAlignedPositionElement = React.ElementRef;\ninterface SelectItemAlignedPositionProps extends PrimitiveDivProps, SelectPopperPrivateProps {}\n\nconst SelectItemAlignedPosition = React.forwardRef<\n SelectItemAlignedPositionElement,\n SelectItemAlignedPositionProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (\n context.trigger &&\n context.valueNode &&\n contentWrapper &&\n content &&\n viewport &&\n selectedItem &&\n selectedItemText\n ) {\n const triggerRect = context.trigger.getBoundingClientRect();\n\n // -----------------------------------------------------------------------------------------\n // Horizontal positioning\n // -----------------------------------------------------------------------------------------\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n\n if (context.dir !== 'rtl') {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth),\n ]);\n\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.left = clampedLeft + 'px';\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth),\n ]);\n\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.right = clampedRight + 'px';\n }\n\n // -----------------------------------------------------------------------------------------\n // Vertical positioning\n // -----------------------------------------------------------------------------------------\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = 0 + 'px';\n const viewportOffsetBottom =\n content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight +\n // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) +\n viewportOffsetBottom +\n contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + 'px';\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = 0 + 'px';\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth +\n viewport.offsetTop +\n // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) +\n selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + 'px';\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + 'px';\n contentWrapper.style.maxHeight = availableHeight + 'px';\n // -----------------------------------------------------------------------------------------\n\n onPlaced?.();\n\n // we don't want the initial scroll position adjustment to trigger \"expand on scroll\"\n // so we explicitly turn it on only after they've registered.\n requestAnimationFrame(() => (shouldExpandOnScrollRef.current = true));\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced,\n ]);\n\n useLayoutEffect(() => position(), [position]);\n\n // copy z-index from content to wrapper\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n // When the viewport becomes scrollable at the top, the scroll up button will mount.\n // Because it is part of the normal flow, it will push down the viewport, thus throwing our\n // trigger => selectedItem alignment off by the amount the viewport was pushed down.\n // We wait for this to happen and then re-run the positining logic one more time to account for it.\n const handleScrollButtonChange = React.useCallback(\n (node: SelectScrollButtonImplElement | null) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n\n return (\n \n \n \n \n \n );\n});\n\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectPopperPosition\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_POSITION_NAME = 'SelectPopperPosition';\n\ntype SelectPopperPositionElement = React.ElementRef;\ntype PopperContentProps = React.ComponentPropsWithoutRef;\ninterface SelectPopperPositionProps extends PopperContentProps, SelectPopperPrivateProps {}\n\nconst SelectPopperPosition = React.forwardRef<\n SelectPopperPositionElement,\n SelectPopperPositionProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n align = 'start',\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n\n return (\n \n );\n});\n\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectViewport\n * -----------------------------------------------------------------------------------------------*/\n\ntype SelectViewportContextValue = {\n contentWrapper?: HTMLDivElement | null;\n shouldExpandOnScrollRef?: React.RefObject;\n onScrollButtonChange?: (node: SelectScrollButtonImplElement | null) => void;\n};\n\nconst [SelectViewportProvider, useSelectViewportContext] =\n createSelectContext(CONTENT_NAME, {});\n\nconst VIEWPORT_NAME = 'SelectViewport';\n\ntype SelectViewportElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface SelectViewportProps extends PrimitiveDivProps {\n nonce?: string;\n}\n\nconst SelectViewport = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return (\n <>\n {/* Hide scrollbars cross-browser and enable momentum scroll for touch devices */}\n \n \n {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n\n contentWrapper.style.height = clampedNextHeight + 'px';\n if (contentWrapper.style.bottom === '0px') {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n // ensure the content stays pinned to the bottom\n contentWrapper.style.justifyContent = 'flex-end';\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })}\n />\n \n \n );\n }\n);\n\nSelectViewport.displayName = VIEWPORT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'SelectGroup';\n\ntype SelectGroupContextValue = { id: string };\n\nconst [SelectGroupContextProvider, useSelectGroupContext] =\n createSelectContext(GROUP_NAME);\n\ntype SelectGroupElement = React.ElementRef;\ninterface SelectGroupProps extends PrimitiveDivProps {}\n\nconst SelectGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return (\n \n \n \n );\n }\n);\n\nSelectGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'SelectLabel';\n\ntype SelectLabelElement = React.ElementRef;\ninterface SelectLabelProps extends PrimitiveDivProps {}\n\nconst SelectLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return ;\n }\n);\n\nSelectLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'SelectItem';\n\ntype SelectItemContextValue = {\n value: string;\n disabled: boolean;\n textId: string;\n isSelected: boolean;\n onItemTextChange(node: SelectItemTextElement | null): void;\n};\n\nconst [SelectItemContextProvider, useSelectItemContext] =\n createSelectContext(ITEM_NAME);\n\ntype SelectItemElement = React.ElementRef;\ninterface SelectItemProps extends PrimitiveDivProps {\n value: string;\n disabled?: boolean;\n textValue?: string;\n}\n\nconst SelectItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? '');\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) =>\n contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef('touch');\n\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n\n if (value === '') {\n throw new Error(\n 'A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.'\n );\n }\n\n return (\n {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? '').trim());\n }, [])}\n >\n \n setIsFocused(true))}\n onBlur={composeEventHandlers(itemProps.onBlur, () => setIsFocused(false))}\n onClick={composeEventHandlers(itemProps.onClick, () => {\n // Open on click when using a touch or pen device\n if (pointerTypeRef.current !== 'mouse') handleSelect();\n })}\n onPointerUp={composeEventHandlers(itemProps.onPointerUp, () => {\n // Using a mouse you should be able to do pointer down, move through\n // the list, and release the pointer over the item to select it.\n if (pointerTypeRef.current === 'mouse') handleSelect();\n })}\n onPointerDown={composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n })}\n onPointerMove={composeEventHandlers(itemProps.onPointerMove, (event) => {\n // Remember pointer type when sliding over to this item from another one\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === 'mouse') {\n // even though safari doesn't support this option, it's acceptable\n // as it only means it might scroll a few pixels when using the pointer.\n event.currentTarget.focus({ preventScroll: true });\n }\n })}\n onPointerLeave={composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n })}\n onKeyDown={composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== '';\n if (isTypingAhead && event.key === ' ') return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n // prevent page scroll if using the space key to select an item\n if (event.key === ' ') event.preventDefault();\n })}\n />\n \n \n );\n }\n);\n\nSelectItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemText\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_TEXT_NAME = 'SelectItemText';\n\ntype SelectItemTextElement = React.ElementRef;\ninterface SelectItemTextProps extends PrimitiveSpanProps {}\n\nconst SelectItemText = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => (\n \n ),\n [itemContext.disabled, itemContext.value, textContent]\n );\n\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n\n return (\n <>\n \n\n {/* Portal the select item text into the trigger value node */}\n {itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren\n ? ReactDOM.createPortal(itemTextProps.children, context.valueNode)\n : null}\n \n );\n }\n);\n\nSelectItemText.displayName = ITEM_TEXT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_INDICATOR_NAME = 'SelectItemIndicator';\n\ntype SelectItemIndicatorElement = React.ElementRef;\ninterface SelectItemIndicatorProps extends PrimitiveSpanProps {}\n\nconst SelectItemIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? (\n \n ) : null;\n }\n);\n\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollUpButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';\n\ntype SelectScrollUpButtonElement = SelectScrollButtonImplElement;\ninterface SelectScrollUpButtonProps extends Omit {}\n\nconst SelectScrollUpButton = React.forwardRef<\n SelectScrollUpButtonElement,\n SelectScrollUpButtonProps\n>((props: ScopedProps, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const canScrollUp = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n\n return canScrollUp ? (\n {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }}\n />\n ) : null;\n});\n\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollDownButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';\n\ntype SelectScrollDownButtonElement = SelectScrollButtonImplElement;\ninterface SelectScrollDownButtonProps extends Omit {}\n\nconst SelectScrollDownButton = React.forwardRef<\n SelectScrollDownButtonElement,\n SelectScrollDownButtonProps\n>((props: ScopedProps, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n // we use Math.ceil here because if the UI is zoomed-in\n // `scrollTop` is not always reported as an integer\n const canScrollDown = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n\n return canScrollDown ? (\n {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }}\n />\n ) : null;\n});\n\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\n\ntype SelectScrollButtonImplElement = React.ElementRef;\ninterface SelectScrollButtonImplProps extends PrimitiveDivProps {\n onAutoScroll(): void;\n}\n\nconst SelectScrollButtonImpl = React.forwardRef<\n SelectScrollButtonImplElement,\n SelectScrollButtonImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext('SelectScrollButton', __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n\n // When the viewport becomes scrollable on either side, the relevant scroll button will mount.\n // Because it is part of the normal flow, it will push down (top button) or shrink (bottom button)\n // the viewport, potentially causing the active item to now be partially out of view.\n // We re-run the `scrollIntoView` logic to make sure it stays within the viewport.\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: 'nearest' });\n }, [getItems]);\n\n return (\n {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n })}\n onPointerMove={composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n })}\n onPointerLeave={composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * SelectSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'SelectSeparator';\n\ntype SelectSeparatorElement = React.ElementRef;\ninterface SelectSeparatorProps extends PrimitiveDivProps {}\n\nconst SelectSeparator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return ;\n }\n);\n\nSelectSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'SelectArrow';\n\ntype SelectArrowElement = React.ElementRef;\ntype PopperArrowProps = React.ComponentPropsWithoutRef;\ninterface SelectArrowProps extends PopperArrowProps {}\n\nconst SelectArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === 'popper' ? (\n \n ) : null;\n }\n);\n\nSelectArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction shouldShowPlaceholder(value?: string) {\n return value === '' || value === undefined;\n}\n\nconst BubbleSelect = React.forwardRef>(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n\n // Bubble value change to parents (e.g form change event)\n React.useEffect(() => {\n const select = ref.current!;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n 'value'\n ) as PropertyDescriptor;\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event('change', { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n\n /**\n * We purposefully use a `select` here to support form autofill as much\n * as possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programmatically and bubble to any parent form `onChange` event.\n * Adding the `value` will cause React to consider the programmatic\n * dispatch a duplicate and it will get swallowed.\n *\n * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n * won't work otherwise.\n */\n return (\n \n