`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(props, ref) {\n const {\n lockScroll = false,\n ...rest\n } = props;\n index(() => {\n if (!lockScroll) return;\n lockCount++;\n if (lockCount === 1) {\n cleanup = enableScrollLock();\n }\n return () => {\n lockCount--;\n if (lockCount === 0) {\n cleanup();\n }\n };\n }, [lockScroll]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true,\n stickIfOpen = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) return;\n if (eventOption === 'click') return;\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domElement || undefined,\n getBoundingClientRect() {\n var _data$dataRef$current;\n const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n dataRef,\n elements: {\n floating,\n domReference\n },\n refs\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(floating);\n function handleMouseMove(event) {\n const target = getTarget(event);\n if (!contains(floating, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(domReference);\n }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n index(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n const reference = React.useMemo(() => {\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n };\n }, [handleReferenceEnterOrMove]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n elements,\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const isComposingRef = React.useRef(false);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n var _dataRef$current$floa;\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n var _dataRef$current$floa2;\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument(elements.floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, elements.floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n // elements.\n const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = getComputedStyle(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n let compositionTimeout = -1;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n function handleCompositionStart() {\n window.clearTimeout(compositionTimeout);\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout = window.setTimeout(() => {\n isComposingRef.current = false;\n },\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n isWebKit() ? 5 : 0);\n }\n const doc = getDocument(elements.floating);\n if (escapeKey) {\n doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.addEventListener('compositionstart', handleCompositionStart);\n doc.addEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(elements.domReference)) {\n ancestors = getOverflowAncestors(elements.domReference);\n }\n if (isElement(elements.floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n }\n if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n if (escapeKey) {\n doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.removeEventListener('compositionstart', handleCompositionStart);\n doc.removeEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n window.clearTimeout(compositionTimeout);\n };\n }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n if (referencePress) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n }\n }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }), [closeOnEscapeKeyDown, outsidePressEvent]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange: onOpenChangeProp,\n elements: elementsProp\n } = options;\n const floatingId = useId();\n const dataRef = React.useRef({});\n const [events] = React.useState(() => createPubSub());\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== \"production\") {\n const optionDomReference = elementsProp.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n }\n }\n const [positionReference, setPositionReference] = React.useState(elementsProp.reference);\n const onOpenChange = useEffectEvent((open, event, reason) => {\n dataRef.current.openEvent = open ? event : undefined;\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n });\n const refs = React.useMemo(() => ({\n setPositionReference\n }), []);\n const elements = React.useMemo(() => ({\n reference: positionReference || elementsProp.reference || null,\n floating: elementsProp.floating || null,\n domReference: elementsProp.reference\n }), [positionReference, elementsProp.reference, elementsProp.floating]);\n return React.useMemo(() => ({\n dataRef,\n open,\n onOpenChange,\n elements,\n events,\n floatingId,\n refs\n }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n nodeId\n } = options;\n const internalRootContext = useFloatingRootContext({\n ...options,\n elements: {\n reference: null,\n floating: null,\n ...options.elements\n }\n });\n const rootContext = options.rootContext || internalRootContext;\n const computedElements = rootContext.elements;\n const [_domReference, setDomReference] = React.useState(null);\n const [positionReference, _setPositionReference] = React.useState(null);\n const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;\n const domReference = optionDomReference || _domReference;\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree();\n index(() => {\n if (domReference) {\n domReferenceRef.current = domReference;\n }\n }, [domReference]);\n const position = useFloating$1({\n ...options,\n elements: {\n ...computedElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n _setPositionReference(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n ...rootContext,\n refs,\n elements,\n nodeId\n }), [position, refs, elements, nodeId, rootContext]);\n index(() => {\n rootContext.dataRef.current.floatingContext = context;\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef();\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) return;\n const win = getWindow(elements.domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n win.addEventListener('blur', onBlur);\n win.addEventListener('keydown', onKeyDown, true);\n return () => {\n win.removeEventListener('blur', onBlur);\n win.removeEventListener('keydown', onKeyDown, true);\n };\n }, [elements.domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n if (isVirtualPointerEvent(event.nativeEvent)) return;\n keyboardModalityRef.current = false;\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n try {\n // Mac Safari unreliably matches `:focus-visible` on the reference\n // if focus was outside the page initially - use the fallback\n // instead.\n if (isSafari() && isMac()) throw Error();\n if (!target.matches(':focus-visible')) return;\n } catch (e) {\n // Old browsers will throw an error when using `:focus-visible`.\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n var _dataRef$current$floa;\n const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === elements.domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, nativeEvent, 'focus');\n });\n }\n }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n referenceDeps);\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n floatingDeps);\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n itemDeps);\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n elements\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(elements.floating);\n const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEffectEvent(unstable_onNavigate);\n const typeableComboboxReference = isTypeableCombobox(elements.domReference);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!elements.floating);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocus = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const selectedIndexRef = useLatestRef(selectedIndex);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n function runFocus(item) {\n if (virtual) {\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n if (initialItem) {\n runFocus(initialItem);\n }\n requestAnimationFrame(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) return;\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate(selectedIndex);\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate(indexRef.current);\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n var _nodes$find;\n if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument(elements.floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, elements.floating, tree, parentId, virtual]);\n index(() => {\n if (!enabled) return;\n if (!tree) return;\n if (!virtual) return;\n if (parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n index(() => {\n previousOnNavigateRef.current = onNavigate;\n previousMountedRef.current = !!elements.floating;\n });\n index(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n index(() => {\n previousOpenRef.current = open;\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n onNavigate(null);\n if (!virtual) {\n enqueueFocus(floatingFocusElementRef.current, {\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, floatingFocusElementRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n const commonOnKeyDown = useEffectEvent(event => {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n stopEvent(event);\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(elements.domReference)) {\n if (virtual) {\n tree == null || tree.events.emit('virtualfocus', elements.domReference);\n } else {\n elements.domReference.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(listRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || listRef.current.map((_, index) => isDisabled(listRef.current, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate(indexRef.current);\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!isTypeableCombobox(elements.domReference) && ariaActiveDescendantProp),\n onKeyDown: commonOnKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, elements.domReference, orientation]);\n const reference = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n const isMoveKey = isArrowKey || isHomeOrEndKey;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isMoveKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n keyRef.current = nested && isMainKey ? null : event.key;\n }\n if (nested) {\n if (isCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndicesRef.current);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n commonOnKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open && !virtual) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [activeId, ariaActiveDescendantProp, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n floatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const referenceId = useId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const reference = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n };\n }\n return {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n const floating = React.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = React.useCallback(_ref => {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n ...(active && {\n 'aria-selected': true\n })\n };\n }\n }\n return {};\n }, [floatingId, role]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open && isMounted) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, isMounted, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n if (!isMounted && status === 'close') {\n setStatus('unmounted');\n }\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n index(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useEffectEvent(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n });\n const onKeyDown = useEffectEvent(event => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const reference = React.useMemo(() => ({\n onKeyDown\n }), [onKeyDown]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n };\n }, [onKeyDown, setTypingChange]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = evaluate(props, state);\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n // Valid combinations:\n // 1. Floating element is the scrollRef and has a border (default)\n // 2. Floating element is not the scrollRef, floating element has a border\n // 3. Floating element is not the scrollRef, scrollRef has a border\n // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n // allowed as VoiceOver doesn't work.\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? v => v : round;\n const maxHeight = rounder(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));\n scrollEl.style.maxHeight = maxHeight + \"px\";\n scrollEl.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(() => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }), [elements.floating, onChange, overflowRef, scrollRef]);\n return React.useMemo(() => enabled ? {\n floating\n } : {}, [enabled, floating]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingRootContext, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","'use client';\nfunction getFloatingPosition(dir, position) {\n if (dir === \"rtl\" && (position.includes(\"right\") || position.includes(\"left\"))) {\n const [side, placement] = position.split(\"-\");\n const flippedPosition = side === \"right\" ? \"left\" : \"right\";\n return placement === void 0 ? flippedPosition : `${flippedPosition}-${placement}`;\n }\n return position;\n}\n\nexport { getFloatingPosition };\n//# sourceMappingURL=get-floating-position.mjs.map\n","'use client';\nfunction horizontalSide(placement, arrowY, arrowOffset, arrowPosition) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { top: arrowY };\n }\n if (placement === \"end\") {\n return { bottom: arrowOffset };\n }\n if (placement === \"start\") {\n return { top: arrowOffset };\n }\n return {};\n}\nfunction verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir) {\n if (placement === \"center\" || arrowPosition === \"center\") {\n return { left: arrowX };\n }\n if (placement === \"end\") {\n return { [dir === \"ltr\" ? \"right\" : \"left\"]: arrowOffset };\n }\n if (placement === \"start\") {\n return { [dir === \"ltr\" ? \"left\" : \"right\"]: arrowOffset };\n }\n return {};\n}\nconst radiusByFloatingSide = {\n bottom: \"borderTopLeftRadius\",\n left: \"borderTopRightRadius\",\n right: \"borderBottomLeftRadius\",\n top: \"borderBottomRightRadius\"\n};\nfunction getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n arrowX,\n arrowY,\n dir\n}) {\n const [side, placement = \"center\"] = position.split(\"-\");\n const baseStyles = {\n width: arrowSize,\n height: arrowSize,\n transform: \"rotate(45deg)\",\n position: \"absolute\",\n [radiusByFloatingSide[side]]: arrowRadius\n };\n const arrowPlacement = -arrowSize / 2;\n if (side === \"left\") {\n return {\n ...baseStyles,\n ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),\n right: arrowPlacement,\n borderLeftColor: \"transparent\",\n borderBottomColor: \"transparent\",\n clipPath: \"polygon(100% 0, 0 0, 100% 100%)\"\n };\n }\n if (side === \"right\") {\n return {\n ...baseStyles,\n ...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),\n left: arrowPlacement,\n borderRightColor: \"transparent\",\n borderTopColor: \"transparent\",\n clipPath: \"polygon(0 100%, 0 0, 100% 100%)\"\n };\n }\n if (side === \"top\") {\n return {\n ...baseStyles,\n ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),\n bottom: arrowPlacement,\n borderTopColor: \"transparent\",\n borderLeftColor: \"transparent\",\n clipPath: \"polygon(0 100%, 100% 100%, 100% 0)\"\n };\n }\n if (side === \"bottom\") {\n return {\n ...baseStyles,\n ...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),\n top: arrowPlacement,\n borderBottomColor: \"transparent\",\n borderRightColor: \"transparent\",\n clipPath: \"polygon(0 100%, 0 0, 100% 0)\"\n };\n }\n return {};\n}\n\nexport { getArrowPositionStyles };\n//# sourceMappingURL=get-arrow-position-styles.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { useDirection } from '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getArrowPositionStyles } from './get-arrow-position-styles.mjs';\n\nconst FloatingArrow = forwardRef(\n ({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n visible,\n arrowX,\n arrowY,\n style,\n ...others\n }, ref) => {\n const { dir } = useDirection();\n if (!visible) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ...others,\n ref,\n style: {\n ...style,\n ...getArrowPositionStyles({\n position,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n dir,\n arrowX,\n arrowY\n })\n }\n }\n );\n }\n);\nFloatingArrow.displayName = \"@mantine/core/FloatingArrow\";\n\nexport { FloatingArrow };\n//# sourceMappingURL=FloatingArrow.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [PopoverContextProvider, usePopoverContext] = createSafeContext(\n \"Popover component was not found in the tree\"\n);\n\nexport { PopoverContextProvider, usePopoverContext };\n//# sourceMappingURL=Popover.context.mjs.map\n","'use client';\nvar classes = {\"dropdown\":\"m_38a85659\",\"arrow\":\"m_a31dc6c1\"};\n\nexport { classes as default };\n//# sourceMappingURL=Popover.module.css.mjs.map\n","'use client';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport { useFocusReturn, useMergedRef } from '@mantine/hooks';\nimport { rem } from '../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { closeOnEscape } from '../../../core/utils/close-on-escape/close-on-escape.mjs';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport '@floating-ui/react';\nimport { FloatingArrow } from '../../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { FocusTrap } from '../../FocusTrap/FocusTrap.mjs';\nimport '../../Portal/Portal.mjs';\nimport { OptionalPortal } from '../../Portal/OptionalPortal.mjs';\nimport '../../Transition/transitions.mjs';\nimport { Transition } from '../../Transition/Transition.mjs';\nimport { usePopoverContext } from '../Popover.context.mjs';\nimport classes from '../Popover.module.css.mjs';\n\nconst defaultProps = {};\nconst PopoverDropdown = factory((_props, ref) => {\n const props = useProps(\"PopoverDropdown\", defaultProps, _props);\n const {\n className,\n style,\n vars,\n children,\n onKeyDownCapture,\n variant,\n classNames,\n styles,\n ...others\n } = props;\n const ctx = usePopoverContext();\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus\n });\n const accessibleProps = ctx.withRoles ? {\n \"aria-labelledby\": ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: \"dialog\",\n tabIndex: -1\n } : {};\n const mergedRef = useMergedRef(ref, ctx.floating);\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ jsx(OptionalPortal, { ...ctx.portalProps, withinPortal: ctx.withinPortal, children: /* @__PURE__ */ jsx(\n Transition,\n {\n mounted: ctx.opened,\n ...ctx.transitionProps,\n transition: ctx.transitionProps?.transition || \"fade\",\n duration: ctx.transitionProps?.duration ?? 150,\n keepMounted: ctx.keepMounted,\n exitDuration: typeof ctx.transitionProps?.exitDuration === \"number\" ? ctx.transitionProps.exitDuration : ctx.transitionProps?.duration,\n children: (transitionStyles) => /* @__PURE__ */ jsx(FocusTrap, { active: ctx.trapFocus && ctx.opened, innerRef: mergedRef, children: /* @__PURE__ */ jsxs(\n Box,\n {\n ...accessibleProps,\n ...others,\n variant,\n onKeyDownCapture: closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture\n }),\n \"data-position\": ctx.placement,\n \"data-fixed\": ctx.floatingStrategy === \"fixed\" || void 0,\n ...ctx.getStyles(\"dropdown\", {\n className,\n props,\n classNames,\n styles,\n style: [\n {\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ?? 0,\n left: ctx.x ?? 0,\n width: ctx.width === \"target\" ? void 0 : rem(ctx.width)\n },\n ctx.resolvedStyles.dropdown,\n styles?.dropdown,\n style\n ]\n }),\n children: [\n children,\n /* @__PURE__ */ jsx(\n FloatingArrow,\n {\n ref: ctx.arrowRef,\n arrowX: ctx.arrowX,\n arrowY: ctx.arrowY,\n visible: ctx.withArrow,\n position: ctx.placement,\n arrowSize: ctx.arrowSize,\n arrowRadius: ctx.arrowRadius,\n arrowOffset: ctx.arrowOffset,\n arrowPosition: ctx.arrowPosition,\n ...ctx.getStyles(\"arrow\", {\n props,\n classNames,\n styles\n })\n }\n )\n ]\n }\n ) })\n }\n ) });\n});\nPopoverDropdown.classes = classes;\nPopoverDropdown.displayName = \"@mantine/core/PopoverDropdown\";\n\nexport { PopoverDropdown };\n//# sourceMappingURL=PopoverDropdown.mjs.map\n","'use client';\nimport { cloneElement } from 'react';\nimport cx from 'clsx';\nimport { useMergedRef } from '@mantine/hooks';\nimport { isElement } from '../../../core/utils/is-element/is-element.mjs';\nimport 'react/jsx-runtime';\nimport { getRefProp } from '../../../core/utils/get-ref-prop/get-ref-prop.mjs';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { usePopoverContext } from '../Popover.context.mjs';\n\nconst defaultProps = {\n refProp: \"ref\",\n popupType: \"dialog\"\n};\nconst PopoverTarget = factory((props, ref) => {\n const { children, refProp, popupType, ...others } = useProps(\n \"PopoverTarget\",\n defaultProps,\n props\n );\n if (!isElement(children)) {\n throw new Error(\n \"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n );\n }\n const forwardedProps = others;\n const ctx = usePopoverContext();\n const targetRef = useMergedRef(ctx.reference, getRefProp(children), ref);\n const accessibleProps = ctx.withRoles ? {\n \"aria-haspopup\": popupType,\n \"aria-expanded\": ctx.opened,\n \"aria-controls\": ctx.getDropdownId(),\n id: ctx.getTargetId()\n } : {};\n return cloneElement(children, {\n ...forwardedProps,\n ...accessibleProps,\n ...ctx.targetProps,\n className: cx(ctx.targetProps.className, forwardedProps.className, children.props.className),\n [refProp]: targetRef,\n ...!ctx.controlled ? { onClick: ctx.onToggle } : null\n });\n});\nPopoverTarget.displayName = \"@mantine/core/PopoverTarget\";\n\nexport { PopoverTarget };\n//# sourceMappingURL=PopoverTarget.mjs.map\n","'use client';\nimport { useState, useEffect } from 'react';\nimport { autoUpdate } from '@floating-ui/react';\nimport { useDidUpdate } from '@mantine/hooks';\n\nfunction useFloatingAutoUpdate({\n opened,\n floating,\n position,\n positionDependencies\n}) {\n const [delayedUpdate, setDelayedUpdate] = useState(0);\n useEffect(() => {\n if (floating.refs.reference.current && floating.refs.floating.current && opened) {\n return autoUpdate(\n floating.refs.reference.current,\n floating.refs.floating.current,\n floating.update\n );\n }\n return void 0;\n }, [\n floating.refs.reference.current,\n floating.refs.floating.current,\n opened,\n delayedUpdate,\n position\n ]);\n useDidUpdate(() => {\n floating.update();\n }, positionDependencies);\n useDidUpdate(() => {\n setDelayedUpdate((c) => c + 1);\n }, [opened]);\n}\n\nexport { useFloatingAutoUpdate };\n//# sourceMappingURL=use-floating-auto-update.mjs.map\n","'use client';\nimport { useRef } from 'react';\nimport { useFloating, offset, shift, limitShift, flip, inline, arrow, size } from '@floating-ui/react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { useFloatingAutoUpdate } from '../Floating/use-floating-auto-update.mjs';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\n\nfunction getDefaultMiddlewares(middlewares) {\n if (middlewares === void 0) {\n return { shift: true, flip: true };\n }\n const result = { ...middlewares };\n if (middlewares.shift === void 0) {\n result.shift = true;\n }\n if (middlewares.flip === void 0) {\n result.flip = true;\n }\n return result;\n}\nfunction getPopoverMiddlewares(options, getFloating) {\n const middlewaresOptions = getDefaultMiddlewares(options.middlewares);\n const middlewares = [offset(options.offset)];\n if (middlewaresOptions.shift) {\n middlewares.push(\n shift(\n typeof middlewaresOptions.shift === \"boolean\" ? { limiter: limitShift(), padding: 5 } : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }\n )\n );\n }\n if (middlewaresOptions.flip) {\n middlewares.push(\n typeof middlewaresOptions.flip === \"boolean\" ? flip() : flip(middlewaresOptions.flip)\n );\n }\n if (middlewaresOptions.inline) {\n middlewares.push(\n typeof middlewaresOptions.inline === \"boolean\" ? inline() : inline(middlewaresOptions.inline)\n );\n }\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n if (middlewaresOptions.size || options.width === \"target\") {\n middlewares.push(\n size({\n ...typeof middlewaresOptions.size === \"boolean\" ? {} : middlewaresOptions.size,\n apply({ rects, availableWidth, availableHeight, ...rest }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n if (middlewaresOptions.size) {\n if (typeof middlewaresOptions.size === \"object\" && !!middlewaresOptions.size.apply) {\n middlewaresOptions.size.apply({ rects, availableWidth, availableHeight, ...rest });\n } else {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`\n });\n }\n }\n if (options.width === \"target\") {\n Object.assign(styles, {\n width: `${rects.reference.width}px`\n });\n }\n }\n })\n );\n }\n return middlewares;\n}\nfunction usePopover(options) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange\n });\n const previouslyOpened = useRef(_opened);\n const onClose = () => {\n if (_opened) {\n setOpened(false);\n }\n };\n const onToggle = () => setOpened(!_opened);\n const floating = useFloating({\n strategy: options.strategy,\n placement: options.position,\n middleware: getPopoverMiddlewares(options, () => floating)\n });\n useFloatingAutoUpdate({\n opened: _opened,\n position: options.position,\n positionDependencies: options.positionDependencies || [],\n floating\n });\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n useDidUpdate(() => {\n if (_opened !== previouslyOpened.current) {\n if (!_opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }\n previouslyOpened.current = _opened;\n }, [_opened, options.onClose, options.onOpen]);\n return {\n floating,\n controlled: typeof options.opened === \"boolean\",\n opened: _opened,\n onClose,\n onToggle\n };\n}\n\nexport { usePopover };\n//# sourceMappingURL=use-popover.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.mjs';\nimport { getRadius, getShadow } from '../../core/utils/get-size/get-size.mjs';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport { useDirection } from '../../core/DirectionProvider/DirectionProvider.mjs';\nimport '@floating-ui/react';\nimport { getFloatingPosition } from '../Floating/get-floating-position/get-floating-position.mjs';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { PopoverContextProvider } from './Popover.context.mjs';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown.mjs';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget.mjs';\nimport { usePopover } from './use-popover.mjs';\nimport classes from './Popover.module.css.mjs';\n\nconst defaultProps = {\n position: \"bottom\",\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: \"fade\", duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: \"side\",\n closeOnClickOutside: true,\n withinPortal: true,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: [\"mousedown\", \"touchstart\"],\n zIndex: getDefaultZIndex(\"popover\"),\n __staticSelector: \"Popover\",\n width: \"max-content\"\n};\nconst varsResolver = createVarsResolver((_, { radius, shadow }) => ({\n dropdown: {\n \"--popover-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--popover-shadow\": getShadow(shadow)\n }\n}));\nfunction Popover(_props) {\n const props = useProps(\"Popover\", defaultProps, _props);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n onExitTransitionEnd,\n onEnterTransitionEnd,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n vars,\n floatingStrategy,\n ...others\n } = props;\n const getStyles = useStyles({\n name: __staticSelector,\n props,\n classes,\n classNames,\n styles,\n unstyled,\n rootSelector: \"dropdown\",\n vars,\n varsResolver\n });\n const { resolvedStyles } = useResolvedStylesApi({ classNames, styles, props });\n const arrowRef = useRef(null);\n const [targetNode, setTargetNode] = useState(null);\n const [dropdownNode, setDropdownNode] = useState(null);\n const { dir } = useDirection();\n const uid = useId(id);\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(dir, position),\n offset: typeof offset === \"number\" ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n strategy: floatingStrategy\n });\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode\n ]);\n const reference = useCallback(\n (node) => {\n setTargetNode(node);\n popover.floating.refs.setReference(node);\n },\n [popover.floating.refs.setReference]\n );\n const floating = useCallback(\n (node) => {\n setDropdownNode(node);\n popover.floating.refs.setFloating(node);\n },\n [popover.floating.refs.setFloating]\n );\n const onExited = useCallback(() => {\n transitionProps?.onExited?.();\n onExitTransitionEnd?.();\n }, [transitionProps?.onExited, onExitTransitionEnd]);\n const onEntered = useCallback(() => {\n transitionProps?.onEntered?.();\n onEnterTransitionEnd?.();\n }, [transitionProps?.onEntered, onEnterTransitionEnd]);\n return /* @__PURE__ */ jsx(\n PopoverContextProvider,\n {\n value: {\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps: { ...transitionProps, onExited, onEntered },\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n getStyles,\n resolvedStyles,\n floatingStrategy\n },\n children\n }\n );\n}\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = \"@mantine/core/Popover\";\nPopover.extend = (input) => input;\n\nexport { Popover };\n//# sourceMappingURL=Popover.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [AppShellProvider, useAppShellContext] = createSafeContext(\n \"AppShell was not found in tree\"\n);\n\nexport { AppShellProvider, useAppShellContext };\n//# sourceMappingURL=AppShell.context.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_89ab340\",\"navbar\":\"m_45252eee\",\"aside\":\"m_9cdde9a\",\"header\":\"m_3b16f56b\",\"main\":\"m_8983817\",\"footer\":\"m_3840c879\",\"section\":\"m_6dcfc7c7\"};\n\nexport { classes as default };\n//# sourceMappingURL=AppShell.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellAside = factory((_props, ref) => {\n const props = useProps(\"AppShellAside\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"aside\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"aside\", { className, classNames, styles, style }),\n ...others,\n __vars: {\n \"--app-shell-aside-z-index\": `calc(${zIndex ?? ctx.zIndex} + 1)`\n }\n }\n );\n});\nAppShellAside.classes = classes;\nAppShellAside.displayName = \"@mantine/core/AppShellAside\";\n\nexport { AppShellAside };\n//# sourceMappingURL=AppShellAside.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport cx from 'clsx';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport 'react';\nimport '@mantine/hooks';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellFooter = factory((_props, ref) => {\n const props = useProps(\"AppShellFooter\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"footer\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"footer\", {\n className: cx({ [RemoveScroll.classNames.zeroRight]: ctx.offsetScrollbars }, className),\n classNames,\n styles,\n style\n }),\n ...others,\n __vars: { \"--app-shell-footer-z-index\": (zIndex ?? ctx.zIndex)?.toString() }\n }\n );\n});\nAppShellFooter.classes = classes;\nAppShellFooter.displayName = \"@mantine/core/AppShellFooter\";\n\nexport { AppShellFooter };\n//# sourceMappingURL=AppShellFooter.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport cx from 'clsx';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport 'react';\nimport '@mantine/hooks';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellHeader = factory((_props, ref) => {\n const props = useProps(\"AppShellHeader\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"header\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"header\", {\n className: cx({ [RemoveScroll.classNames.zeroRight]: ctx.offsetScrollbars }, className),\n classNames,\n styles,\n style\n }),\n ...others,\n __vars: { \"--app-shell-header-z-index\": (zIndex ?? ctx.zIndex)?.toString() }\n }\n );\n});\nAppShellHeader.classes = classes;\nAppShellHeader.displayName = \"@mantine/core/AppShellHeader\";\n\nexport { AppShellHeader };\n//# sourceMappingURL=AppShellHeader.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellMain = factory((_props, ref) => {\n const props = useProps(\"AppShellMain\", defaultProps, _props);\n const { classNames, className, style, styles, vars, ...others } = props;\n const ctx = useAppShellContext();\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"main\",\n ref,\n ...ctx.getStyles(\"main\", { className, style, classNames, styles }),\n ...others\n }\n );\n});\nAppShellMain.classes = classes;\nAppShellMain.displayName = \"@mantine/core/AppShellMain\";\n\nexport { AppShellMain };\n//# sourceMappingURL=AppShellMain.mjs.map\n","'use client';\nfunction getBaseSize(size) {\n if (typeof size === \"object\") {\n return size.base;\n }\n return size;\n}\n\nexport { getBaseSize };\n//# sourceMappingURL=get-base-size.mjs.map\n","'use client';\nfunction isPrimitiveSize(size) {\n const isBaseSize = typeof size === \"object\" && size !== null && typeof size.base !== \"undefined\" && Object.keys(size).length === 1;\n return typeof size === \"number\" || typeof size === \"string\" || isBaseSize;\n}\n\nexport { isPrimitiveSize };\n//# sourceMappingURL=is-primitive-size.mjs.map\n","'use client';\nfunction isResponsiveSize(size) {\n if (typeof size !== \"object\" || size === null) {\n return false;\n }\n if (Object.keys(size).length === 1 && \"base\" in size) {\n return false;\n }\n return true;\n}\n\nexport { isResponsiveSize };\n//# sourceMappingURL=is-responsive-size.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport { getBreakpointValue } from '../../../../core/utils/get-breakpoint-value/get-breakpoint-value.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignAsideVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n aside,\n theme\n}) {\n const asideWidth = aside?.width;\n const collapsedAsideTransform = \"translateX(var(--app-shell-aside-width))\";\n const collapsedAsideTransformRtl = \"translateX(calc(var(--app-shell-aside-width) * -1))\";\n if (aside?.breakpoint && !aside?.collapsed?.mobile) {\n maxMediaStyles[aside?.breakpoint] = maxMediaStyles[aside?.breakpoint] || {};\n maxMediaStyles[aside?.breakpoint][\"--app-shell-aside-width\"] = \"100%\";\n maxMediaStyles[aside?.breakpoint][\"--app-shell-aside-offset\"] = \"0px\";\n }\n if (isPrimitiveSize(asideWidth)) {\n const baseSize = rem(getBaseSize(asideWidth));\n baseStyles[\"--app-shell-aside-width\"] = baseSize;\n baseStyles[\"--app-shell-aside-offset\"] = baseSize;\n }\n if (isResponsiveSize(asideWidth)) {\n if (typeof asideWidth.base !== \"undefined\") {\n baseStyles[\"--app-shell-aside-width\"] = rem(asideWidth.base);\n baseStyles[\"--app-shell-aside-offset\"] = rem(asideWidth.base);\n }\n keys(asideWidth).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-aside-width\"] = rem(asideWidth[key]);\n minMediaStyles[key][\"--app-shell-aside-offset\"] = rem(asideWidth[key]);\n }\n });\n }\n if (aside?.collapsed?.desktop) {\n const breakpointValue = aside.breakpoint;\n minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};\n minMediaStyles[breakpointValue][\"--app-shell-aside-transform\"] = collapsedAsideTransform;\n minMediaStyles[breakpointValue][\"--app-shell-aside-transform-rtl\"] = collapsedAsideTransformRtl;\n minMediaStyles[breakpointValue][\"--app-shell-aside-offset\"] = \"0px !important\";\n }\n if (aside?.collapsed?.mobile) {\n const breakpointValue = getBreakpointValue(aside.breakpoint, theme.breakpoints) - 0.1;\n maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};\n maxMediaStyles[breakpointValue][\"--app-shell-aside-width\"] = \"100%\";\n maxMediaStyles[breakpointValue][\"--app-shell-aside-offset\"] = \"0px\";\n maxMediaStyles[breakpointValue][\"--app-shell-aside-transform\"] = collapsedAsideTransform;\n maxMediaStyles[breakpointValue][\"--app-shell-aside-transform-rtl\"] = collapsedAsideTransformRtl;\n }\n}\n\nexport { assignAsideVariables };\n//# sourceMappingURL=assign-aside-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignFooterVariables({\n baseStyles,\n minMediaStyles,\n footer\n}) {\n const footerHeight = footer?.height;\n const collapsedFooterTransform = \"translateY(var(--app-shell-footer-height))\";\n const shouldOffset = footer?.offset ?? true;\n if (isPrimitiveSize(footerHeight)) {\n const baseSize = rem(getBaseSize(footerHeight));\n baseStyles[\"--app-shell-footer-height\"] = baseSize;\n if (shouldOffset) {\n baseStyles[\"--app-shell-footer-offset\"] = baseSize;\n }\n }\n if (isResponsiveSize(footerHeight)) {\n if (typeof footerHeight.base !== \"undefined\") {\n baseStyles[\"--app-shell-footer-height\"] = rem(footerHeight.base);\n if (shouldOffset) {\n baseStyles[\"--app-shell-footer-offset\"] = rem(footerHeight.base);\n }\n }\n keys(footerHeight).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-footer-height\"] = rem(footerHeight[key]);\n if (shouldOffset) {\n minMediaStyles[key][\"--app-shell-footer-offset\"] = rem(footerHeight[key]);\n }\n }\n });\n }\n if (footer?.collapsed) {\n baseStyles[\"--app-shell-footer-transform\"] = collapsedFooterTransform;\n baseStyles[\"--app-shell-footer-offset\"] = \"0px !important\";\n }\n}\n\nexport { assignFooterVariables };\n//# sourceMappingURL=assign-footer-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignHeaderVariables({\n baseStyles,\n minMediaStyles,\n header\n}) {\n const headerHeight = header?.height;\n const collapsedHeaderTransform = \"translateY(calc(var(--app-shell-header-height) * -1))\";\n const shouldOffset = header?.offset ?? true;\n if (isPrimitiveSize(headerHeight)) {\n const baseSize = rem(getBaseSize(headerHeight));\n baseStyles[\"--app-shell-header-height\"] = baseSize;\n if (shouldOffset) {\n baseStyles[\"--app-shell-header-offset\"] = baseSize;\n }\n }\n if (isResponsiveSize(headerHeight)) {\n if (typeof headerHeight.base !== \"undefined\") {\n baseStyles[\"--app-shell-header-height\"] = rem(headerHeight.base);\n if (shouldOffset) {\n baseStyles[\"--app-shell-header-offset\"] = rem(headerHeight.base);\n }\n }\n keys(headerHeight).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-header-height\"] = rem(headerHeight[key]);\n if (shouldOffset) {\n minMediaStyles[key][\"--app-shell-header-offset\"] = rem(headerHeight[key]);\n }\n }\n });\n }\n if (header?.collapsed) {\n baseStyles[\"--app-shell-header-transform\"] = collapsedHeaderTransform;\n baseStyles[\"--app-shell-header-offset\"] = \"0px !important\";\n }\n}\n\nexport { assignHeaderVariables };\n//# sourceMappingURL=assign-header-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { rem } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport { getBreakpointValue } from '../../../../core/utils/get-breakpoint-value/get-breakpoint-value.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignNavbarVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n navbar,\n theme\n}) {\n const navbarWidth = navbar?.width;\n const collapsedNavbarTransform = \"translateX(calc(var(--app-shell-navbar-width) * -1))\";\n const collapsedNavbarTransformRtl = \"translateX(var(--app-shell-navbar-width))\";\n if (navbar?.breakpoint && !navbar?.collapsed?.mobile) {\n maxMediaStyles[navbar?.breakpoint] = maxMediaStyles[navbar?.breakpoint] || {};\n maxMediaStyles[navbar?.breakpoint][\"--app-shell-navbar-width\"] = \"100%\";\n maxMediaStyles[navbar?.breakpoint][\"--app-shell-navbar-offset\"] = \"0px\";\n }\n if (isPrimitiveSize(navbarWidth)) {\n const baseSize = rem(getBaseSize(navbarWidth));\n baseStyles[\"--app-shell-navbar-width\"] = baseSize;\n baseStyles[\"--app-shell-navbar-offset\"] = baseSize;\n }\n if (isResponsiveSize(navbarWidth)) {\n if (typeof navbarWidth.base !== \"undefined\") {\n baseStyles[\"--app-shell-navbar-width\"] = rem(navbarWidth.base);\n baseStyles[\"--app-shell-navbar-offset\"] = rem(navbarWidth.base);\n }\n keys(navbarWidth).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-navbar-width\"] = rem(navbarWidth[key]);\n minMediaStyles[key][\"--app-shell-navbar-offset\"] = rem(navbarWidth[key]);\n }\n });\n }\n if (navbar?.collapsed?.desktop) {\n const breakpointValue = navbar.breakpoint;\n minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};\n minMediaStyles[breakpointValue][\"--app-shell-navbar-transform\"] = collapsedNavbarTransform;\n minMediaStyles[breakpointValue][\"--app-shell-navbar-transform-rtl\"] = collapsedNavbarTransformRtl;\n minMediaStyles[breakpointValue][\"--app-shell-navbar-offset\"] = \"0px !important\";\n }\n if (navbar?.collapsed?.mobile) {\n const breakpointValue = getBreakpointValue(navbar.breakpoint, theme.breakpoints) - 0.1;\n maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-width\"] = \"100%\";\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-offset\"] = \"0px\";\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-transform\"] = collapsedNavbarTransform;\n maxMediaStyles[breakpointValue][\"--app-shell-navbar-transform-rtl\"] = collapsedNavbarTransformRtl;\n }\n}\n\nexport { assignNavbarVariables };\n//# sourceMappingURL=assign-navbar-variables.mjs.map\n","'use client';\nimport 'react';\nimport 'react/jsx-runtime';\nimport { getSpacing } from '../../../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\n\nfunction getPaddingValue(padding) {\n return Number(padding) === 0 ? \"0px\" : getSpacing(padding);\n}\n\nexport { getPaddingValue };\n//# sourceMappingURL=get-padding-value.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getBaseSize } from '../get-base-size/get-base-size.mjs';\nimport { getPaddingValue } from '../get-padding-value/get-padding-value.mjs';\nimport { isPrimitiveSize } from '../is-primitive-size/is-primitive-size.mjs';\nimport { isResponsiveSize } from '../is-responsive-size/is-responsive-size.mjs';\n\nfunction assignPaddingVariables({\n padding,\n baseStyles,\n minMediaStyles\n}) {\n if (isPrimitiveSize(padding)) {\n baseStyles[\"--app-shell-padding\"] = getPaddingValue(getBaseSize(padding));\n }\n if (isResponsiveSize(padding)) {\n if (padding.base) {\n baseStyles[\"--app-shell-padding\"] = getPaddingValue(padding.base);\n }\n keys(padding).forEach((key) => {\n if (key !== \"base\") {\n minMediaStyles[key] = minMediaStyles[key] || {};\n minMediaStyles[key][\"--app-shell-padding\"] = getPaddingValue(padding[key]);\n }\n });\n }\n}\n\nexport { assignPaddingVariables };\n//# sourceMappingURL=assign-padding-variables.mjs.map\n","'use client';\nimport { keys } from '../../../../core/utils/keys/keys.mjs';\nimport { em } from '../../../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport 'react/jsx-runtime';\nimport { getSortedBreakpoints } from '../../../../core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../../core/MantineProvider/default-theme.mjs';\nimport '../../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../../core/Box/Box.mjs';\nimport '../../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { assignAsideVariables } from '../assign-aside-variables/assign-aside-variables.mjs';\nimport { assignFooterVariables } from '../assign-footer-variables/assign-footer-variables.mjs';\nimport { assignHeaderVariables } from '../assign-header-variables/assign-header-variables.mjs';\nimport { assignNavbarVariables } from '../assign-navbar-variables/assign-navbar-variables.mjs';\nimport { assignPaddingVariables } from '../assign-padding-variables/assign-padding-variables.mjs';\n\nfunction getVariables({ navbar, header, footer, aside, padding, theme }) {\n const minMediaStyles = {};\n const maxMediaStyles = {};\n const baseStyles = {};\n assignNavbarVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n navbar,\n theme\n });\n assignAsideVariables({\n baseStyles,\n minMediaStyles,\n maxMediaStyles,\n aside,\n theme\n });\n assignHeaderVariables({ baseStyles, minMediaStyles, header });\n assignFooterVariables({ baseStyles, minMediaStyles, footer });\n assignPaddingVariables({ baseStyles, minMediaStyles, padding });\n const minMedia = getSortedBreakpoints(keys(minMediaStyles), theme.breakpoints).map(\n (breakpoint) => ({\n query: `(min-width: ${em(breakpoint.px)})`,\n styles: minMediaStyles[breakpoint.value]\n })\n );\n const maxMedia = getSortedBreakpoints(keys(maxMediaStyles), theme.breakpoints).map(\n (breakpoint) => ({\n query: `(max-width: ${em(breakpoint.px)})`,\n styles: maxMediaStyles[breakpoint.value]\n })\n );\n const media = [...minMedia, ...maxMedia];\n return { baseStyles, media };\n}\n\nexport { getVariables };\n//# sourceMappingURL=get-variables.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport { useMantineContext } from '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { InlineStyles } from '../../../core/InlineStyles/InlineStyles.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { getVariables } from './get-variables/get-variables.mjs';\n\nfunction AppShellMediaStyles({\n navbar,\n header,\n aside,\n footer,\n padding\n}) {\n const theme = useMantineTheme();\n const ctx = useMantineContext();\n const { media, baseStyles } = getVariables({ navbar, header, footer, aside, padding, theme });\n return /* @__PURE__ */ jsx(InlineStyles, { media, styles: baseStyles, selector: ctx.cssVariablesSelector });\n}\n\nexport { AppShellMediaStyles };\n//# sourceMappingURL=AppShellMediaStyles.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellNavbar = factory((_props, ref) => {\n const props = useProps(\"AppShellNavbar\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n withBorder,\n zIndex,\n mod,\n ...others\n } = props;\n const ctx = useAppShellContext();\n if (ctx.disabled) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"nav\",\n ref,\n mod: [{ \"with-border\": withBorder ?? ctx.withBorder }, mod],\n ...ctx.getStyles(\"navbar\", { className, classNames, styles, style }),\n ...others,\n __vars: {\n \"--app-shell-navbar-z-index\": `calc(${zIndex ?? ctx.zIndex} + 1)`\n }\n }\n );\n});\nAppShellNavbar.classes = classes;\nAppShellNavbar.displayName = \"@mantine/core/AppShellNavbar\";\n\nexport { AppShellNavbar };\n//# sourceMappingURL=AppShellNavbar.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../../core/factory/polymorphic-factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useAppShellContext } from '../AppShell.context.mjs';\nimport classes from '../AppShell.module.css.mjs';\n\nconst defaultProps = {};\nconst AppShellSection = polymorphicFactory((_props, ref) => {\n const props = useProps(\"AppShellSection\", defaultProps, _props);\n const { classNames, className, style, styles, vars, grow, mod, ...others } = props;\n const ctx = useAppShellContext();\n return /* @__PURE__ */ jsx(\n Box,\n {\n ref,\n mod: [{ grow }, mod],\n ...ctx.getStyles(\"section\", { className, style, classNames, styles }),\n ...others\n }\n );\n});\nAppShellSection.classes = classes;\nAppShellSection.displayName = \"@mantine/core/AppShellSection\";\n\nexport { AppShellSection };\n//# sourceMappingURL=AppShellSection.mjs.map\n","'use client';\nimport { useState, useRef, startTransition } from 'react';\nimport { useWindowEvent, useIsomorphicEffect } from '@mantine/hooks';\n\nfunction useResizing({ transitionDuration, disabled }) {\n const [resizing, setResizing] = useState(true);\n const resizingTimeout = useRef();\n const disabledTimeout = useRef();\n useWindowEvent(\"resize\", () => {\n setResizing(true);\n clearTimeout(resizingTimeout.current);\n resizingTimeout.current = window.setTimeout(\n () => startTransition(() => {\n setResizing(false);\n }),\n 200\n );\n });\n useIsomorphicEffect(() => {\n setResizing(true);\n clearTimeout(disabledTimeout.current);\n disabledTimeout.current = window.setTimeout(\n () => startTransition(() => {\n setResizing(false);\n }),\n transitionDuration || 0\n );\n }, [disabled, transitionDuration]);\n return resizing;\n}\n\nexport { useResizing };\n//# sourceMappingURL=use-resizing.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport 'react';\nimport { getDefaultZIndex } from '../../core/utils/get-default-z-index/get-default-z-index.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { AppShellProvider } from './AppShell.context.mjs';\nimport { AppShellAside } from './AppShellAside/AppShellAside.mjs';\nimport { AppShellFooter } from './AppShellFooter/AppShellFooter.mjs';\nimport { AppShellHeader } from './AppShellHeader/AppShellHeader.mjs';\nimport { AppShellMain } from './AppShellMain/AppShellMain.mjs';\nimport { AppShellMediaStyles } from './AppShellMediaStyles/AppShellMediaStyles.mjs';\nimport { AppShellNavbar } from './AppShellNavbar/AppShellNavbar.mjs';\nimport { AppShellSection } from './AppShellSection/AppShellSection.mjs';\nimport { useResizing } from './use-resizing/use-resizing.mjs';\nimport classes from './AppShell.module.css.mjs';\n\nconst defaultProps = {\n withBorder: true,\n offsetScrollbars: true,\n padding: 0,\n transitionDuration: 200,\n transitionTimingFunction: \"ease\",\n zIndex: getDefaultZIndex(\"app\")\n};\nconst varsResolver = createVarsResolver(\n (_, { transitionDuration, transitionTimingFunction }) => ({\n root: {\n \"--app-shell-transition-duration\": `${transitionDuration}ms`,\n \"--app-shell-transition-timing-function\": transitionTimingFunction\n }\n })\n);\nconst AppShell = factory((_props, ref) => {\n const props = useProps(\"AppShell\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n navbar,\n withBorder,\n padding,\n transitionDuration,\n transitionTimingFunction,\n header,\n zIndex,\n layout,\n disabled,\n aside,\n footer,\n offsetScrollbars,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"AppShell\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n const resizing = useResizing({ disabled, transitionDuration });\n return /* @__PURE__ */ jsxs(AppShellProvider, { value: { getStyles, withBorder, zIndex, disabled, offsetScrollbars }, children: [\n /* @__PURE__ */ jsx(\n AppShellMediaStyles,\n {\n navbar,\n header,\n aside,\n footer,\n padding\n }\n ),\n /* @__PURE__ */ jsx(\n Box,\n {\n ref,\n ...getStyles(\"root\"),\n mod: [{ resizing, layout, disabled }, mod],\n ...others\n }\n )\n ] });\n});\nAppShell.classes = classes;\nAppShell.displayName = \"@mantine/core/AppShell\";\nAppShell.Navbar = AppShellNavbar;\nAppShell.Header = AppShellHeader;\nAppShell.Main = AppShellMain;\nAppShell.Aside = AppShellAside;\nAppShell.Footer = AppShellFooter;\nAppShell.Section = AppShellSection;\n\nexport { AppShell };\n//# sourceMappingURL=AppShell.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_8b3717df\",\"breadcrumb\":\"m_f678d540\",\"separator\":\"m_3b8f2208\"};\n\nexport { classes as default };\n//# sourceMappingURL=Breadcrumbs.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { Children, cloneElement, createElement } from 'react';\nimport { isElement } from '../../core/utils/is-element/is-element.mjs';\nimport { getSpacing } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Breadcrumbs.module.css.mjs';\n\nconst defaultProps = {\n separator: \"/\"\n};\nconst varsResolver = createVarsResolver((_, { separatorMargin }) => ({\n root: {\n \"--bc-separator-margin\": getSpacing(separatorMargin)\n }\n}));\nconst Breadcrumbs = factory((_props, ref) => {\n const props = useProps(\"Breadcrumbs\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n children,\n separator,\n separatorMargin,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Breadcrumbs\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n const items = Children.toArray(children).reduce((acc, child, index, array) => {\n const item = isElement(child) ? cloneElement(child, {\n ...getStyles(\"breadcrumb\", { className: child.props?.className }),\n key: index\n }) : /* @__PURE__ */ createElement(\"div\", { ...getStyles(\"breadcrumb\"), key: index }, child);\n acc.push(item);\n if (index !== array.length - 1) {\n acc.push(\n /* @__PURE__ */ createElement(Box, { ...getStyles(\"separator\"), key: `separator-${index}` }, separator)\n );\n }\n return acc;\n }, []);\n return /* @__PURE__ */ jsx(Box, { ref, ...getStyles(\"root\"), ...others, children: items });\n});\nBreadcrumbs.classes = classes;\nBreadcrumbs.displayName = \"@mantine/core/Breadcrumbs\";\n\nexport { Breadcrumbs };\n//# sourceMappingURL=Breadcrumbs.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_fea6bf1a\",\"burger\":\"m_d4fb9cad\"};\n\nexport { classes as default };\n//# sourceMappingURL=Burger.module.css.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { rem } from '../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { getSize } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport { getThemeColor } from '../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { UnstyledButton } from '../UnstyledButton/UnstyledButton.mjs';\nimport classes from './Burger.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver(\n (theme, { color, size, lineSize, transitionDuration, transitionTimingFunction }) => ({\n root: {\n \"--burger-color\": color ? getThemeColor(color, theme) : void 0,\n \"--burger-size\": getSize(size, \"burger-size\"),\n \"--burger-line-size\": lineSize ? rem(lineSize) : void 0,\n \"--burger-transition-duration\": transitionDuration === void 0 ? void 0 : `${transitionDuration}ms`,\n \"--burger-transition-timing-function\": transitionTimingFunction\n }\n })\n);\nconst Burger = factory((_props, ref) => {\n const props = useProps(\"Burger\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n opened,\n children,\n transitionDuration,\n transitionTimingFunction,\n lineSize,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Burger\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsxs(UnstyledButton, { ...getStyles(\"root\"), ref, ...others, children: [\n /* @__PURE__ */ jsx(Box, { mod: [\"reduce-motion\", { opened }], ...getStyles(\"burger\") }),\n children\n ] });\n});\nBurger.classes = classes;\nBurger.displayName = \"@mantine/core/Burger\";\n\nexport { Burger };\n//# sourceMappingURL=Burger.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_7485cace\"};\n\nexport { classes as default };\n//# sourceMappingURL=Container.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport { getSize } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Container.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { size, fluid }) => ({\n root: {\n \"--container-size\": fluid ? void 0 : getSize(size, \"container-size\")\n }\n}));\nconst Container = factory((_props, ref) => {\n const props = useProps(\"Container\", defaultProps, _props);\n const { classNames, className, style, styles, unstyled, vars, fluid, mod, ...others } = props;\n const getStyles = useStyles({\n name: \"Container\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsx(Box, { ref, mod: [{ fluid }, mod], ...getStyles(\"root\"), ...others });\n});\nContainer.classes = classes;\nContainer.displayName = \"@mantine/core/Container\";\n\nexport { Container };\n//# sourceMappingURL=Container.mjs.map\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nfunction useDelayedHover({ open, close, openDelay, closeDelay }) {\n const openTimeout = useRef(-1);\n const closeTimeout = useRef(-1);\n const clearTimeouts = () => {\n window.clearTimeout(openTimeout.current);\n window.clearTimeout(closeTimeout.current);\n };\n const openDropdown = () => {\n clearTimeouts();\n if (openDelay === 0 || openDelay === void 0) {\n open();\n } else {\n openTimeout.current = window.setTimeout(open, openDelay);\n }\n };\n const closeDropdown = () => {\n clearTimeouts();\n if (closeDelay === 0 || closeDelay === void 0) {\n close();\n } else {\n closeTimeout.current = window.setTimeout(close, closeDelay);\n }\n };\n useEffect(() => clearTimeouts, []);\n return { openDropdown, closeDropdown };\n}\n\nexport { useDelayedHover };\n//# sourceMappingURL=use-delayed-hover.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_9e117634\"};\n\nexport { classes as default };\n//# sourceMappingURL=Image.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { useState, useEffect } from 'react';\nimport { getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../core/factory/polymorphic-factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Image.module.css.mjs';\n\nconst defaultProps = {};\nconst varsResolver = createVarsResolver((_, { radius, fit }) => ({\n root: {\n \"--image-radius\": radius === void 0 ? void 0 : getRadius(radius),\n \"--image-object-fit\": fit\n }\n}));\nconst Image = polymorphicFactory((_props, ref) => {\n const props = useProps(\"Image\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n onError,\n src,\n radius,\n fit,\n fallbackSrc,\n mod,\n ...others\n } = props;\n const [error, setError] = useState(!src);\n useEffect(() => setError(!src), [src]);\n const getStyles = useStyles({\n name: \"Image\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n if (error && fallbackSrc) {\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"img\",\n ref,\n src: fallbackSrc,\n ...getStyles(\"root\"),\n onError,\n mod: [\"fallback\", mod],\n ...others\n }\n );\n }\n return /* @__PURE__ */ jsx(\n Box,\n {\n component: \"img\",\n ref,\n ...getStyles(\"root\"),\n src,\n onError: (event) => {\n onError?.(event);\n setError(true);\n },\n mod,\n ...others\n }\n );\n});\nImage.classes = classes;\nImage.displayName = \"@mantine/core/Image\";\n\nexport { Image };\n//# sourceMappingURL=Image.mjs.map\n","'use client';\nimport 'react';\nimport { createSafeContext } from '../../core/utils/create-safe-context/create-safe-context.mjs';\nimport 'react/jsx-runtime';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\n\nconst [MenuContextProvider, useMenuContext] = createSafeContext(\n \"Menu component was not found in the tree\"\n);\n\nexport { MenuContextProvider, useMenuContext };\n//# sourceMappingURL=Menu.context.mjs.map\n","'use client';\nvar classes = {\"dropdown\":\"m_dc9b7c9f\",\"label\":\"m_9bfac126\",\"divider\":\"m_efdf90cb\",\"item\":\"m_99ac2aa1\",\"itemLabel\":\"m_5476e0d3\",\"itemSection\":\"m_8b75e504\"};\n\nexport { classes as default };\n//# sourceMappingURL=Menu.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuDivider = factory((props, ref) => {\n const { classNames, className, style, styles, vars, ...others } = useProps(\n \"MenuDivider\",\n defaultProps,\n props\n );\n const ctx = useMenuContext();\n return /* @__PURE__ */ jsx(\n Box,\n {\n ref,\n ...ctx.getStyles(\"divider\", { className, style, styles, classNames }),\n ...others\n }\n );\n});\nMenuDivider.classes = classes;\nMenuDivider.displayName = \"@mantine/core/MenuDivider\";\n\nexport { MenuDivider };\n//# sourceMappingURL=MenuDivider.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { Popover } from '../../Popover/Popover.mjs';\nimport '../../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuDropdown = factory((props, ref) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n children,\n ...others\n } = useProps(\"MenuDropdown\", defaultProps, props);\n const wrapperRef = useRef(null);\n const ctx = useMenuContext();\n const handleKeyDown = createEventHandler(onKeyDown, (event) => {\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n wrapperRef.current?.querySelectorAll(\"[data-menu-item]:not(:disabled)\")[0]?.focus();\n }\n });\n const handleMouseEnter = createEventHandler(\n onMouseEnter,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.openDropdown()\n );\n const handleMouseLeave = createEventHandler(\n onMouseLeave,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.closeDropdown()\n );\n return /* @__PURE__ */ jsxs(\n Popover.Dropdown,\n {\n ...others,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n ref: useMergedRef(ref, wrapperRef),\n ...ctx.getStyles(\"dropdown\", {\n className,\n style,\n styles,\n classNames,\n withStaticClass: false\n }),\n tabIndex: -1,\n \"data-menu-dropdown\": true,\n onKeyDown: handleKeyDown,\n children: [\n /* @__PURE__ */ jsx(\"div\", { tabIndex: -1, \"data-autofocus\": true, \"data-mantine-stop-propagation\": true, style: { outline: 0 } }),\n children\n ]\n }\n );\n});\nMenuDropdown.classes = classes;\nMenuDropdown.displayName = \"@mantine/core/MenuDropdown\";\n\nexport { MenuDropdown };\n//# sourceMappingURL=MenuDropdown.mjs.map\n","'use client';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { useRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { createScopedKeydownHandler } from '../../../core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport 'clsx';\nimport { parseThemeColor } from '../../../core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport { useMantineTheme } from '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport { polymorphicFactory } from '../../../core/factory/polymorphic-factory.mjs';\nimport { useDirection } from '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { UnstyledButton } from '../../UnstyledButton/UnstyledButton.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuItem = polymorphicFactory((props, ref) => {\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n color,\n closeMenuOnClick,\n leftSection,\n rightSection,\n children,\n disabled,\n ...others\n } = useProps(\"MenuItem\", defaultProps, props);\n const ctx = useMenuContext();\n const theme = useMantineTheme();\n const { dir } = useDirection();\n const itemRef = useRef();\n const itemIndex = ctx.getItemIndex(itemRef.current);\n const _others = others;\n const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));\n const handleMouseEnter = createEventHandler(\n _others.onMouseEnter,\n () => ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n const handleClick = createEventHandler(_others.onClick, () => {\n if (typeof closeMenuOnClick === \"boolean\") {\n closeMenuOnClick && ctx.closeDropdownImmediately();\n } else {\n ctx.closeOnItemClick && ctx.closeDropdownImmediately();\n }\n });\n const handleFocus = createEventHandler(\n _others.onFocus,\n () => ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n const colors = color ? theme.variantColorResolver({ color, theme, variant: \"light\" }) : void 0;\n const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;\n return /* @__PURE__ */ jsxs(\n UnstyledButton,\n {\n ...others,\n unstyled: ctx.unstyled,\n tabIndex: ctx.menuItemTabIndex,\n onFocus: handleFocus,\n ...ctx.getStyles(\"item\", { className, style, styles, classNames }),\n ref: useMergedRef(itemRef, ref),\n role: \"menuitem\",\n disabled,\n \"data-menu-item\": true,\n \"data-disabled\": disabled || void 0,\n \"data-hovered\": ctx.hovered === itemIndex ? true : void 0,\n \"data-mantine-stop-propagation\": true,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onKeyDown: createScopedKeydownHandler({\n siblingSelector: \"[data-menu-item]\",\n parentSelector: \"[data-menu-dropdown]\",\n activateOnFocus: false,\n loop: ctx.loop,\n dir,\n orientation: \"vertical\",\n onKeyDown: _others.onKeyDown\n }),\n __vars: {\n \"--menu-item-color\": parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === void 0 ? `var(--mantine-color-${parsedThemeColor.color}-6)` : colors?.color,\n \"--menu-item-hover\": colors?.hover\n },\n children: [\n leftSection && /* @__PURE__ */ jsx(\"div\", { ...ctx.getStyles(\"itemSection\", { styles, classNames }), \"data-position\": \"left\", children: leftSection }),\n children && /* @__PURE__ */ jsx(\"div\", { ...ctx.getStyles(\"itemLabel\", { styles, classNames }), children }),\n rightSection && /* @__PURE__ */ jsx(\"div\", { ...ctx.getStyles(\"itemSection\", { styles, classNames }), \"data-position\": \"right\", children: rightSection })\n ]\n }\n );\n});\nMenuItem.classes = classes;\nMenuItem.displayName = \"@mantine/core/MenuItem\";\n\nexport { MenuItem };\n//# sourceMappingURL=MenuItem.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { Box } from '../../../core/Box/Box.mjs';\nimport { factory } from '../../../core/factory/factory.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\nimport classes from '../Menu.module.css.mjs';\n\nconst defaultProps = {};\nconst MenuLabel = factory((props, ref) => {\n const { classNames, className, style, styles, vars, ...others } = useProps(\n \"MenuLabel\",\n defaultProps,\n props\n );\n const ctx = useMenuContext();\n return /* @__PURE__ */ jsx(\n Box,\n {\n ref,\n ...ctx.getStyles(\"label\", { className, style, styles, classNames }),\n ...others\n }\n );\n});\nMenuLabel.classes = classes;\nMenuLabel.displayName = \"@mantine/core/MenuLabel\";\n\nexport { MenuLabel };\n//# sourceMappingURL=MenuLabel.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, cloneElement } from 'react';\nimport { isElement } from '../../../core/utils/is-element/is-element.mjs';\nimport { createEventHandler } from '../../../core/utils/create-event-handler/create-event-handler.mjs';\nimport '@mantine/hooks';\nimport 'clsx';\nimport '../../../core/MantineProvider/Mantine.context.mjs';\nimport '../../../core/MantineProvider/default-theme.mjs';\nimport '../../../core/MantineProvider/MantineProvider.mjs';\nimport '../../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../../core/Box/Box.mjs';\nimport '../../../core/DirectionProvider/DirectionProvider.mjs';\nimport { Popover } from '../../Popover/Popover.mjs';\nimport '../../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { useMenuContext } from '../Menu.context.mjs';\n\nconst defaultProps = {\n refProp: \"ref\"\n};\nconst MenuTarget = forwardRef((props, ref) => {\n const { children, refProp, ...others } = useProps(\"MenuTarget\", defaultProps, props);\n if (!isElement(children)) {\n throw new Error(\n \"Menu.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported\"\n );\n }\n const ctx = useMenuContext();\n const onClick = createEventHandler(children.props.onClick, () => {\n if (ctx.trigger === \"click\") {\n ctx.toggleDropdown();\n } else if (ctx.trigger === \"click-hover\") {\n ctx.setOpenedViaClick(true);\n if (!ctx.opened) {\n ctx.openDropdown();\n }\n }\n });\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => (ctx.trigger === \"hover\" || ctx.trigger === \"click-hover\") && ctx.openDropdown()\n );\n const onMouseLeave = createEventHandler(children.props.onMouseLeave, () => {\n if (ctx.trigger === \"hover\") {\n ctx.closeDropdown();\n } else if (ctx.trigger === \"click-hover\" && !ctx.openedViaClick) {\n ctx.closeDropdown();\n }\n });\n return /* @__PURE__ */ jsx(Popover.Target, { refProp, popupType: \"menu\", ref, ...others, children: cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n \"data-expanded\": ctx.opened ? true : void 0\n }) });\n});\nMenuTarget.displayName = \"@mantine/core/MenuTarget\";\n\nexport { MenuTarget };\n//# sourceMappingURL=MenuTarget.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { useState } from 'react';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { getContextItemIndex } from '../../core/utils/get-context-item-index/get-context-item-index.mjs';\nimport { useHovered } from '../../core/utils/use-hovered/use-hovered.mjs';\nimport 'clsx';\nimport { useResolvedStylesApi } from '../../core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport '../../core/Box/Box.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport { useDelayedHover } from '../Floating/use-delayed-hover.mjs';\nimport '@floating-ui/react';\nimport '../Floating/FloatingArrow/FloatingArrow.mjs';\nimport { Popover } from '../Popover/Popover.mjs';\nimport '../Popover/PopoverDropdown/PopoverDropdown.mjs';\nimport '../Popover/PopoverTarget/PopoverTarget.mjs';\nimport { MenuContextProvider } from './Menu.context.mjs';\nimport { MenuDivider } from './MenuDivider/MenuDivider.mjs';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown.mjs';\nimport { MenuItem } from './MenuItem/MenuItem.mjs';\nimport { MenuLabel } from './MenuLabel/MenuLabel.mjs';\nimport { MenuTarget } from './MenuTarget/MenuTarget.mjs';\nimport classes from './Menu.module.css.mjs';\n\nconst defaultProps = {\n trapFocus: true,\n closeOnItemClick: true,\n clickOutsideEvents: [\"mousedown\", \"touchstart\", \"keydown\"],\n loop: true,\n trigger: \"click\",\n openDelay: 0,\n closeDelay: 100,\n menuItemTabIndex: -1\n};\nfunction Menu(_props) {\n const props = useProps(\"Menu\", defaultProps, _props);\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n trapFocus,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n variant,\n vars,\n menuItemTabIndex,\n keepMounted,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Menu\",\n classes,\n props,\n classNames,\n styles,\n unstyled\n });\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange\n });\n const [openedViaClick, setOpenedViaClick] = useState(false);\n const close = () => {\n setOpened(false);\n setOpenedViaClick(false);\n _opened && onClose?.();\n };\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n const toggleDropdown = () => {\n _opened ? close() : open();\n };\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n const getItemIndex = (node) => getContextItemIndex(\"[data-menu-item]\", \"[data-menu-dropdown]\", node);\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n classNames,\n styles,\n props\n });\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n return /* @__PURE__ */ jsx(\n MenuContextProvider,\n {\n value: {\n getStyles,\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n openedViaClick,\n setOpenedViaClick,\n closeOnItemClick,\n closeDropdown: trigger === \"click\" ? close : closeDropdown,\n openDropdown: trigger === \"click\" ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n unstyled,\n menuItemTabIndex\n },\n children: /* @__PURE__ */ jsx(\n Popover,\n {\n ...others,\n opened: _opened,\n onChange: toggleDropdown,\n defaultOpened,\n trapFocus: keepMounted ? false : trapFocus,\n closeOnEscape,\n __staticSelector: \"Menu\",\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n unstyled,\n variant,\n keepMounted,\n children\n }\n )\n }\n );\n}\nMenu.extend = (input) => input;\nMenu.classes = classes;\nMenu.displayName = \"@mantine/core/Menu\";\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n\nexport { Menu };\n//# sourceMappingURL=Menu.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_18320242\",\"skeleton-fade\":\"m_299c329c\"};\n\nexport { classes as default };\n//# sourceMappingURL=Skeleton.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { rem } from '../../core/utils/units-converters/rem.mjs';\nimport 'react';\nimport { getRadius } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Skeleton.module.css.mjs';\n\nconst defaultProps = {\n visible: true,\n animate: true\n};\nconst varsResolver = createVarsResolver(\n (_, { width, height, radius, circle }) => ({\n root: {\n \"--skeleton-height\": rem(height),\n \"--skeleton-width\": circle ? rem(height) : rem(width),\n \"--skeleton-radius\": circle ? \"1000px\" : radius === void 0 ? void 0 : getRadius(radius)\n }\n })\n);\nconst Skeleton = factory((_props, ref) => {\n const props = useProps(\"Skeleton\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n width,\n height,\n circle,\n visible,\n radius,\n animate,\n mod,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Skeleton\",\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsx(Box, { ref, ...getStyles(\"root\"), mod: [{ visible, animate }, mod], ...others });\n});\nSkeleton.classes = classes;\nSkeleton.displayName = \"@mantine/core/Skeleton\";\n\nexport { Skeleton };\n//# sourceMappingURL=Skeleton.mjs.map\n","'use client';\nvar classes = {\"root\":\"m_6d731127\"};\n\nexport { classes as default };\n//# sourceMappingURL=Stack.module.css.mjs.map\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport 'react';\nimport { getSpacing } from '../../core/utils/get-size/get-size.mjs';\nimport '@mantine/hooks';\nimport { createVarsResolver } from '../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs';\nimport 'clsx';\nimport '../../core/MantineProvider/Mantine.context.mjs';\nimport '../../core/MantineProvider/default-theme.mjs';\nimport '../../core/MantineProvider/MantineProvider.mjs';\nimport '../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs';\nimport { useProps } from '../../core/MantineProvider/use-props/use-props.mjs';\nimport '../../core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';\nimport { useStyles } from '../../core/styles-api/use-styles/use-styles.mjs';\nimport { Box } from '../../core/Box/Box.mjs';\nimport { factory } from '../../core/factory/factory.mjs';\nimport '../../core/DirectionProvider/DirectionProvider.mjs';\nimport classes from './Stack.module.css.mjs';\n\nconst defaultProps = {\n gap: \"md\",\n align: \"stretch\",\n justify: \"flex-start\"\n};\nconst varsResolver = createVarsResolver((_, { gap, align, justify }) => ({\n root: {\n \"--stack-gap\": getSpacing(gap),\n \"--stack-align\": align,\n \"--stack-justify\": justify\n }\n}));\nconst Stack = factory((_props, ref) => {\n const props = useProps(\"Stack\", defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n align,\n justify,\n gap,\n variant,\n ...others\n } = props;\n const getStyles = useStyles({\n name: \"Stack\",\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver\n });\n return /* @__PURE__ */ jsx(Box, { ref, ...getStyles(\"root\"), variant, ...others });\n});\nStack.classes = classes;\nStack.displayName = \"@mantine/core/Stack\";\n\nexport { Stack };\n//# sourceMappingURL=Stack.mjs.map\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nexport default head;\n","import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","import { Text } from \"@mantine/core\";\nimport { DateTime } from \"luxon\";\nimport { format as formatTimeAgo } from \"timeago.js\";\n\nexport interface TimeAgoProps\n extends TextProps,\n Omit
, \"color\" | \"style\" | \"children\"> {\n children: string | DateTime;\n}\n\nconst TimeAgo: FC = ({ children, ...otherProps }) => {\n const date = useMemo(() => {\n const time =\n typeof children === \"string\" ? DateTime.fromISO(children) : children;\n return time.toJSDate();\n }, [children]);\n const [text, setText] = useState(() => formatTimeAgo(date));\n useEffect(() => {\n const interval = setInterval(() => {\n setText(formatTimeAgo(date));\n }, 1000);\n return () => {\n clearInterval(interval);\n };\n }, [date]);\n return (\n \n {text}\n \n );\n};\n\nexport default TimeAgo;\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nfunction dispatchEvent(type, detail) {\n window.dispatchEvent(new CustomEvent(type, { detail }));\n}\nfunction validateFormName(name) {\n if (!/^[0-9a-zA-Z-]+$/.test(name)) {\n throw new Error(\n `[@mantine/use-form] Form name \"${name}\" is invalid, it should contain only letters, numbers and dashes`\n );\n }\n}\nconst useIsomorphicEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nfunction createFormActions(name) {\n validateFormName(name);\n const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });\n const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);\n const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);\n const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);\n const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });\n const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);\n const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);\n const reset = () => dispatchEvent(`mantine-form:${name}:reset`);\n const validate = () => dispatchEvent(`mantine-form:${name}:validate`);\n const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);\n const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });\n const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });\n const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });\n const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);\n const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);\n const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);\n const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);\n return {\n setFieldValue,\n setValues,\n setInitialValues,\n setErrors,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n setDirty,\n setTouched,\n resetDirty,\n resetTouched\n };\n}\nfunction useFormEvent(eventKey, handler) {\n useIsomorphicEffect(() => {\n if (eventKey) {\n window.addEventListener(eventKey, handler);\n return () => window.removeEventListener(eventKey, handler);\n }\n return void 0;\n }, [eventKey]);\n}\nfunction useFormActions(name, form) {\n if (name) {\n validateFormName(name);\n }\n useFormEvent(\n `mantine-form:${name}:set-field-value`,\n (event) => form.setFieldValue(event.detail.path, event.detail.value)\n );\n useFormEvent(\n `mantine-form:${name}:set-values`,\n (event) => form.setValues(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-initial-values`,\n (event) => form.setInitialValues(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-errors`,\n (event) => form.setErrors(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-field-error`,\n (event) => form.setFieldError(event.detail.path, event.detail.error)\n );\n useFormEvent(\n `mantine-form:${name}:clear-field-error`,\n (event) => form.clearFieldError(event.detail)\n );\n useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);\n useFormEvent(`mantine-form:${name}:reset`, form.reset);\n useFormEvent(`mantine-form:${name}:validate`, form.validate);\n useFormEvent(\n `mantine-form:${name}:validate-field`,\n (event) => form.validateField(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:reorder-list-item`,\n (event) => form.reorderListItem(event.detail.path, event.detail.payload)\n );\n useFormEvent(\n `mantine-form:${name}:remove-list-item`,\n (event) => form.removeListItem(event.detail.path, event.detail.index)\n );\n useFormEvent(\n `mantine-form:${name}:insert-list-item`,\n (event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)\n );\n useFormEvent(\n `mantine-form:${name}:set-dirty`,\n (event) => form.setDirty(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-touched`,\n (event) => form.setTouched(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:reset-dirty`,\n (event) => form.resetDirty(event.detail)\n );\n useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);\n}\n\nexport { createFormActions, useFormActions, useIsomorphicEffect };\n//# sourceMappingURL=actions.mjs.map\n","'use client';\nfunction getInputOnChange(setValue) {\n return (val) => {\n if (!val) {\n setValue(val);\n } else if (typeof val === \"function\") {\n setValue(val);\n } else if (typeof val === \"object\" && \"nativeEvent\" in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === \"checkbox\") {\n setValue(currentTarget.checked);\n } else {\n setValue(currentTarget.value);\n }\n } else if (currentTarget instanceof HTMLTextAreaElement || currentTarget instanceof HTMLSelectElement) {\n setValue(currentTarget.value);\n }\n } else {\n setValue(val);\n }\n };\n}\n\nexport { getInputOnChange };\n//# sourceMappingURL=get-input-on-change.mjs.map\n","'use client';\nfunction filterErrors(errors) {\n if (errors === null || typeof errors !== \"object\") {\n return {};\n }\n return Object.keys(errors).reduce((acc, key) => {\n const errorValue = errors[key];\n if (errorValue !== void 0 && errorValue !== null && errorValue !== false) {\n acc[key] = errorValue;\n }\n return acc;\n }, {});\n}\n\nexport { filterErrors };\n//# sourceMappingURL=filter-errors.mjs.map\n","'use client';\nimport { useState, useRef, useCallback } from 'react';\nimport { filterErrors } from './filter-errors/filter-errors.mjs';\n\nfunction useFormErrors(initialErrors) {\n const [errorsState, setErrorsState] = useState(filterErrors(initialErrors));\n const errorsRef = useRef(errorsState);\n const setErrors = useCallback((errors) => {\n setErrorsState((current) => {\n const newErrors = filterErrors(typeof errors === \"function\" ? errors(current) : errors);\n errorsRef.current = newErrors;\n return newErrors;\n });\n }, []);\n const clearErrors = useCallback(() => setErrors({}), []);\n const clearFieldError = useCallback(\n (path) => {\n if (errorsRef.current[path] === void 0) {\n return;\n }\n setErrors((current) => {\n const errors = { ...current };\n delete errors[path];\n return errors;\n });\n },\n [errorsState]\n );\n const setFieldError = useCallback(\n (path, error) => {\n if (error == null || error === false) {\n clearFieldError(path);\n } else if (errorsRef.current[path] !== error) {\n setErrors((current) => ({ ...current, [path]: error }));\n }\n },\n [errorsState]\n );\n return {\n errorsState,\n setErrors,\n clearErrors,\n setFieldError,\n clearFieldError\n };\n}\n\nexport { useFormErrors };\n//# sourceMappingURL=use-form-errors.mjs.map\n","'use client';\nfunction clearListState(field, state) {\n if (state === null || typeof state !== \"object\") {\n return {};\n }\n const clone = { ...state };\n Object.keys(state).forEach((errorKey) => {\n if (errorKey.includes(`${String(field)}.`)) {\n delete clone[errorKey];\n }\n });\n return clone;\n}\n\nexport { clearListState };\n//# sourceMappingURL=clear-list-state.mjs.map\n","'use client';\nimport { clearListState } from './clear-list-state.mjs';\n\nfunction getIndexFromKeyAfterPath(key, path) {\n const split = key.substring(path.length + 1).split(\".\")[0];\n return parseInt(split, 10);\n}\nfunction changeErrorIndices(path, index, errors, change) {\n if (index === void 0) {\n return errors;\n }\n const pathString = `${String(path)}`;\n let clearedErrors = errors;\n if (change === -1) {\n clearedErrors = clearListState(`${pathString}.${index}`, clearedErrors);\n }\n const cloned = { ...clearedErrors };\n const changedKeys = /* @__PURE__ */ new Set();\n Object.entries(clearedErrors).filter(([key]) => {\n if (!key.startsWith(`${pathString}.`)) {\n return false;\n }\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n if (Number.isNaN(currIndex)) {\n return false;\n }\n return currIndex >= index;\n }).forEach(([key, value]) => {\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n const newKey = key.replace(\n `${pathString}.${currIndex}`,\n `${pathString}.${currIndex + change}`\n );\n cloned[newKey] = value;\n changedKeys.add(newKey);\n if (!changedKeys.has(key)) {\n delete cloned[key];\n }\n });\n return cloned;\n}\n\nexport { changeErrorIndices };\n//# sourceMappingURL=change-error-indices.mjs.map\n","'use client';\nfunction reorderErrors(path, { from, to }, errors) {\n const oldKeyStart = `${path}.${from}`;\n const newKeyStart = `${path}.${to}`;\n const clone = { ...errors };\n Object.keys(errors).every((key) => {\n let oldKey;\n let newKey;\n if (key.startsWith(oldKeyStart)) {\n oldKey = key;\n newKey = key.replace(oldKeyStart, newKeyStart);\n }\n if (key.startsWith(newKeyStart)) {\n oldKey = key.replace(newKeyStart, oldKeyStart);\n newKey = key;\n }\n if (oldKey && newKey) {\n const value1 = clone[oldKey];\n const value2 = clone[newKey];\n value2 === void 0 ? delete clone[oldKey] : clone[oldKey] = value2;\n value1 === void 0 ? delete clone[newKey] : clone[newKey] = value1;\n return false;\n }\n return true;\n });\n return clone;\n}\n\nexport { reorderErrors };\n//# sourceMappingURL=reorder-errors.mjs.map\n","function set(obj, key, val) {\n\tif (typeof val.value === 'object') val.value = klona(val.value);\n\tif (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {\n\t\tObject.defineProperty(obj, key, val);\n\t} else obj[key] = val.value;\n}\n\nexport function klona(x) {\n\tif (typeof x !== 'object') return x;\n\n\tvar i=0, k, list, tmp, str=Object.prototype.toString.call(x);\n\n\tif (str === '[object Object]') {\n\t\ttmp = Object.create(x.__proto__ || null);\n\t} else if (str === '[object Array]') {\n\t\ttmp = Array(x.length);\n\t} else if (str === '[object Set]') {\n\t\ttmp = new Set;\n\t\tx.forEach(function (val) {\n\t\t\ttmp.add(klona(val));\n\t\t});\n\t} else if (str === '[object Map]') {\n\t\ttmp = new Map;\n\t\tx.forEach(function (val, key) {\n\t\t\ttmp.set(klona(key), klona(val));\n\t\t});\n\t} else if (str === '[object Date]') {\n\t\ttmp = new Date(+x);\n\t} else if (str === '[object RegExp]') {\n\t\ttmp = new RegExp(x.source, x.flags);\n\t} else if (str === '[object DataView]') {\n\t\ttmp = new x.constructor( klona(x.buffer) );\n\t} else if (str === '[object ArrayBuffer]') {\n\t\ttmp = x.slice(0);\n\t} else if (str.slice(-6) === 'Array]') {\n\t\t// ArrayBuffer.isView(x)\n\t\t// ~> `new` bcuz `Buffer.slice` => ref\n\t\ttmp = new x.constructor(x);\n\t}\n\n\tif (tmp) {\n\t\tfor (list=Object.getOwnPropertySymbols(x); i < list.length; i++) {\n\t\t\tset(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));\n\t\t}\n\n\t\tfor (i=0, list=Object.getOwnPropertyNames(x); i < list.length; i++) {\n\t\t\tif (Object.hasOwnProperty.call(tmp, k=list[i]) && tmp[k] === x[k]) continue;\n\t\t\tset(tmp, k, Object.getOwnPropertyDescriptor(x, k));\n\t\t}\n\t}\n\n\treturn tmp || x;\n}\n","'use client';\nfunction getSplittedPath(path) {\n if (typeof path !== \"string\") {\n return [];\n }\n return path.split(\".\");\n}\n\nexport { getSplittedPath };\n//# sourceMappingURL=get-splitted-path.mjs.map\n","'use client';\nimport { getSplittedPath } from './get-splitted-path.mjs';\n\nfunction getPath(path, values) {\n const splittedPath = getSplittedPath(path);\n if (splittedPath.length === 0 || typeof values !== \"object\" || values === null) {\n return void 0;\n }\n let value = values[splittedPath[0]];\n for (let i = 1; i < splittedPath.length; i += 1) {\n if (value == null) {\n break;\n }\n value = value[splittedPath[i]];\n }\n return value;\n}\n\nexport { getPath };\n//# sourceMappingURL=get-path.mjs.map\n","'use client';\nimport { klona } from 'klona/full';\nimport { getSplittedPath } from './get-splitted-path.mjs';\n\nfunction setPath(path, value, values) {\n const splittedPath = getSplittedPath(path);\n if (splittedPath.length === 0) {\n return values;\n }\n const cloned = klona(values);\n if (splittedPath.length === 1) {\n cloned[splittedPath[0]] = value;\n return cloned;\n }\n let val = cloned[splittedPath[0]];\n for (let i = 1; i < splittedPath.length - 1; i += 1) {\n if (val === void 0) {\n return cloned;\n }\n val = val[splittedPath[i]];\n }\n val[splittedPath[splittedPath.length - 1]] = value;\n return cloned;\n}\n\nexport { setPath };\n//# sourceMappingURL=set-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction reorderPath(path, { from, to }, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n const cloned = [...currentValue];\n const item = currentValue[from];\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n return setPath(path, cloned, values);\n}\n\nexport { reorderPath };\n//# sourceMappingURL=reorder-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction insertPath(path, value, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n const cloned = [...currentValue];\n cloned.splice(typeof index === \"number\" ? index : cloned.length, 0, value);\n return setPath(path, cloned, values);\n}\n\nexport { insertPath };\n//# sourceMappingURL=insert-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction removePath(path, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n return setPath(\n path,\n currentValue.filter((_, itemIndex) => itemIndex !== index),\n values\n );\n}\n\nexport { removePath };\n//# sourceMappingURL=remove-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction replacePath(path, item, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n if (currentValue.length <= index) {\n return values;\n }\n const cloned = [...currentValue];\n cloned[index] = item;\n return setPath(path, cloned, values);\n}\n\nexport { replacePath };\n//# sourceMappingURL=replace-path.mjs.map\n","'use client';\nimport { useCallback } from 'react';\nimport { changeErrorIndices } from '../../lists/change-error-indices.mjs';\nimport { reorderErrors } from '../../lists/reorder-errors.mjs';\nimport 'klona/full';\nimport { reorderPath } from '../../paths/reorder-path.mjs';\nimport { insertPath } from '../../paths/insert-path.mjs';\nimport { removePath } from '../../paths/remove-path.mjs';\nimport { replacePath } from '../../paths/replace-path.mjs';\n\nfunction useFormList({\n $values,\n $errors,\n $status\n}) {\n const reorderListItem = useCallback((path, payload) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => reorderErrors(path, payload, errs));\n $values.setValues({\n values: reorderPath(path, payload, $values.refValues.current),\n updateState: true\n });\n }, []);\n const removeListItem = useCallback((path, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n $values.setValues({\n values: removePath(path, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n const insertListItem = useCallback((path, item, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n $values.setValues({\n values: insertPath(path, item, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n const replaceListItem = useCallback((path, index, item) => {\n $status.clearFieldDirty(path);\n $values.setValues({\n values: replacePath(path, item, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n return { reorderListItem, removeListItem, insertListItem, replaceListItem };\n}\n\nexport { useFormList };\n//# sourceMappingURL=use-form-list.mjs.map\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use client';\nfunction getStatus(status, path) {\n const paths = Object.keys(status);\n if (typeof path === \"string\") {\n const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));\n return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;\n }\n return paths.some((statusPath) => status[statusPath]);\n}\n\nexport { getStatus };\n//# sourceMappingURL=get-status.mjs.map\n","'use client';\nimport { useState, useRef, useCallback } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getStatus } from '../../get-status/get-status.mjs';\nimport { clearListState } from '../../lists/clear-list-state.mjs';\nimport { getPath } from '../../paths/get-path.mjs';\nimport 'klona/full';\n\nfunction useFormStatus({\n initialDirty,\n initialTouched,\n mode,\n $values\n}) {\n const [touchedState, setTouchedState] = useState(initialTouched);\n const [dirtyState, setDirtyState] = useState(initialDirty);\n const touchedRef = useRef(initialTouched);\n const dirtyRef = useRef(initialDirty);\n const setTouched = useCallback((values) => {\n const resolvedValues = typeof values === \"function\" ? values(touchedRef.current) : values;\n touchedRef.current = resolvedValues;\n if (mode === \"controlled\") {\n setTouchedState(resolvedValues);\n }\n }, []);\n const setDirty = useCallback(\n (values, forceUpdate = false) => {\n const resolvedValues = typeof values === \"function\" ? values(dirtyRef.current) : values;\n dirtyRef.current = resolvedValues;\n if (mode === \"controlled\" || forceUpdate) {\n setDirtyState(resolvedValues);\n }\n },\n []\n );\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty = useCallback((values) => {\n const newSnapshot = values ? { ...values, ...$values.refValues.current } : $values.refValues.current;\n $values.setValuesSnapshot(newSnapshot);\n setDirty({});\n }, []);\n const setFieldTouched = useCallback((path, touched) => {\n setTouched((currentTouched) => {\n if (getStatus(currentTouched, path) === touched) {\n return currentTouched;\n }\n return { ...currentTouched, [path]: touched };\n });\n }, []);\n const setFieldDirty = useCallback((path, dirty, forceUpdate) => {\n setDirty((currentDirty) => {\n if (getStatus(currentDirty, path) === dirty) {\n return currentDirty;\n }\n return { ...currentDirty, [path]: dirty };\n }, forceUpdate);\n }, []);\n const setCalculatedFieldDirty = useCallback((path, value) => {\n const currentDirty = getStatus(dirtyRef.current, path);\n const dirty = !isEqual(getPath(path, $values.getValuesSnapshot()), value);\n const clearedState = clearListState(path, dirtyRef.current);\n clearedState[path] = dirty;\n setDirty(clearedState, currentDirty !== dirty);\n }, []);\n const isTouched = useCallback(\n (path) => getStatus(touchedRef.current, path),\n []\n );\n const clearFieldDirty = useCallback(\n (path) => setDirty((current) => {\n if (typeof path !== \"string\") {\n return current;\n }\n const result = clearListState(path, current);\n delete result[path];\n if (isEqual(result, current)) {\n return current;\n }\n return result;\n }),\n []\n );\n const isDirty = useCallback((path) => {\n if (path) {\n const overriddenValue = getPath(path, dirtyRef.current);\n if (typeof overriddenValue === \"boolean\") {\n return overriddenValue;\n }\n const sliceOfValues = getPath(path, $values.refValues.current);\n const sliceOfInitialValues = getPath(path, $values.valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n const isOverridden = Object.keys(dirtyRef.current).length > 0;\n if (isOverridden) {\n return getStatus(dirtyRef.current);\n }\n return !isEqual($values.refValues.current, $values.valuesSnapshot.current);\n }, []);\n const getDirty = useCallback(() => dirtyRef.current, []);\n const getTouched = useCallback(() => touchedRef.current, []);\n return {\n touchedState,\n dirtyState,\n touchedRef,\n dirtyRef,\n setTouched,\n setDirty,\n resetDirty,\n resetTouched,\n isTouched,\n setFieldTouched,\n setFieldDirty,\n setTouchedState,\n setDirtyState,\n clearFieldDirty,\n isDirty,\n getDirty,\n getTouched,\n setCalculatedFieldDirty\n };\n}\n\nexport { useFormStatus };\n//# sourceMappingURL=use-form-status.mjs.map\n","'use client';\nimport { useRef, useState, useCallback } from 'react';\nimport { getPath } from '../../paths/get-path.mjs';\nimport { setPath } from '../../paths/set-path.mjs';\n\nfunction useFormValues({\n initialValues,\n onValuesChange,\n mode\n}) {\n const initialized = useRef(false);\n const [stateValues, setStateValues] = useState(initialValues || {});\n const refValues = useRef(stateValues);\n const valuesSnapshot = useRef(stateValues);\n const setValues = useCallback(\n ({\n values,\n subscribers,\n updateState = true,\n mergeWithPreviousValues = true\n }) => {\n const previousValues = refValues.current;\n const resolvedValues = values instanceof Function ? values(refValues.current) : values;\n const updatedValues = mergeWithPreviousValues ? { ...previousValues, ...resolvedValues } : resolvedValues;\n refValues.current = updatedValues;\n updateState && setStateValues(updatedValues);\n onValuesChange?.(updatedValues, previousValues);\n subscribers?.filter(Boolean).forEach((subscriber) => subscriber({ updatedValues, previousValues }));\n },\n [onValuesChange]\n );\n const setFieldValue = useCallback(\n (payload) => {\n const currentValue = getPath(payload.path, refValues.current);\n const updatedValue = payload.value instanceof Function ? payload.value(currentValue) : payload.value;\n if (currentValue !== updatedValue) {\n const previousValues = refValues.current;\n const updatedValues = setPath(payload.path, updatedValue, refValues.current);\n setValues({ values: updatedValues, updateState: payload.updateState });\n payload.subscribers?.filter(Boolean).forEach(\n (subscriber) => subscriber({ path: payload.path, updatedValues, previousValues })\n );\n }\n },\n [setValues]\n );\n const setValuesSnapshot = useCallback((payload) => {\n valuesSnapshot.current = payload;\n }, []);\n const initialize = useCallback(\n (values, onInitialize) => {\n if (!initialized.current) {\n initialized.current = true;\n setValues({ values, updateState: mode === \"controlled\" });\n setValuesSnapshot(values);\n onInitialize();\n }\n },\n [setValues]\n );\n const resetValues = useCallback(() => {\n setValues({\n values: valuesSnapshot.current,\n updateState: true,\n mergeWithPreviousValues: false\n });\n }, [setValues]);\n const getValues = useCallback(() => refValues.current, []);\n const getValuesSnapshot = useCallback(() => valuesSnapshot.current, []);\n return {\n initialized,\n stateValues,\n refValues,\n valuesSnapshot,\n setValues,\n setFieldValue,\n resetValues,\n setValuesSnapshot,\n initialize,\n getValues,\n getValuesSnapshot\n };\n}\n\nexport { useFormValues };\n//# sourceMappingURL=use-form-values.mjs.map\n","'use client';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { getPath } from '../../paths/get-path.mjs';\nimport 'klona/full';\n\nfunction useFormWatch({\n $status\n}) {\n const subscribers = useRef(\n {}\n );\n const watch = useCallback((path, callback) => {\n useEffect(() => {\n subscribers.current[path] = subscribers.current[path] || [];\n subscribers.current[path].push(callback);\n return () => {\n subscribers.current[path] = subscribers.current[path].filter((cb) => cb !== callback);\n };\n }, [callback]);\n }, []);\n const getFieldSubscribers = useCallback((path) => {\n if (!subscribers.current[path]) {\n return [];\n }\n return subscribers.current[path].map(\n (callback) => (input) => callback({\n previousValue: getPath(path, input.previousValues),\n value: getPath(path, input.updatedValues),\n touched: $status.isTouched(path),\n dirty: $status.isDirty(path)\n })\n );\n }, []);\n return {\n subscribers,\n watch,\n getFieldSubscribers\n };\n}\n\nexport { useFormWatch };\n//# sourceMappingURL=use-form-watch.mjs.map\n","'use client';\nfunction getDataPath(formName, fieldPath) {\n return formName ? `${formName}-${fieldPath.toString()}` : fieldPath.toString();\n}\n\nexport { getDataPath };\n//# sourceMappingURL=get-data-path.mjs.map\n","'use client';\nimport { filterErrors } from '../hooks/use-form-errors/filter-errors/filter-errors.mjs';\nimport { getPath } from '../paths/get-path.mjs';\nimport 'klona/full';\n\nfunction getValidationResults(errors) {\n const filteredErrors = filterErrors(errors);\n return { hasErrors: Object.keys(filteredErrors).length > 0, errors: filteredErrors };\n}\nfunction validateRulesRecord(rules, values, path = \"\", errors = {}) {\n if (typeof rules !== \"object\" || rules === null) {\n return errors;\n }\n return Object.keys(rules).reduce((acc, ruleKey) => {\n const rule = rules[ruleKey];\n const rulePath = `${path === \"\" ? \"\" : `${path}.`}${ruleKey}`;\n const value = getPath(rulePath, values);\n let arrayValidation = false;\n if (typeof rule === \"function\") {\n acc[rulePath] = rule(value, values, rulePath);\n }\n if (typeof rule === \"object\" && Array.isArray(value)) {\n arrayValidation = true;\n value.forEach(\n (_item, index) => validateRulesRecord(rule, values, `${rulePath}.${index}`, acc)\n );\n }\n if (typeof rule === \"object\" && typeof value === \"object\" && value !== null) {\n if (!arrayValidation) {\n validateRulesRecord(rule, values, rulePath, acc);\n }\n }\n return acc;\n }, errors);\n}\nfunction validateValues(validate, values) {\n if (typeof validate === \"function\") {\n return getValidationResults(validate(values));\n }\n return getValidationResults(validateRulesRecord(validate, values));\n}\n\nexport { validateValues };\n//# sourceMappingURL=validate-values.mjs.map\n","'use client';\nimport { validateValues } from './validate-values.mjs';\n\nfunction validateFieldValue(path, rules, values) {\n if (typeof path !== \"string\") {\n return { hasError: false, error: null };\n }\n const results = validateValues(rules, values);\n const pathInError = Object.keys(results.errors).find(\n (errorKey) => path.split(\".\").every((pathPart, i) => pathPart === errorKey.split(\".\")[i])\n );\n return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };\n}\n\nexport { validateFieldValue };\n//# sourceMappingURL=validate-field-value.mjs.map\n","'use client';\nconst FORM_INDEX = \"__MANTINE_FORM_INDEX__\";\n\nexport { FORM_INDEX };\n//# sourceMappingURL=form-index.mjs.map\n","'use client';\nimport { FORM_INDEX } from '../form-index.mjs';\n\nfunction shouldValidateOnChange(path, validateInputOnChange) {\n if (!validateInputOnChange) {\n return false;\n }\n if (typeof validateInputOnChange === \"boolean\") {\n return validateInputOnChange;\n }\n if (Array.isArray(validateInputOnChange)) {\n return validateInputOnChange.includes(path.replace(/[.][0-9]+/g, `.${FORM_INDEX}`));\n }\n return false;\n}\n\nexport { shouldValidateOnChange };\n//# sourceMappingURL=should-validate-on-change.mjs.map\n","'use client';\nimport { useState, useCallback } from 'react';\nimport { useFormActions } from './actions/actions.mjs';\nimport { getInputOnChange } from './get-input-on-change/get-input-on-change.mjs';\nimport { useFormErrors } from './hooks/use-form-errors/use-form-errors.mjs';\nimport { useFormList } from './hooks/use-form-list/use-form-list.mjs';\nimport { useFormStatus } from './hooks/use-form-status/use-form-status.mjs';\nimport { useFormValues } from './hooks/use-form-values/use-form-values.mjs';\nimport { useFormWatch } from './hooks/use-form-watch/use-form-watch.mjs';\nimport { getPath } from './paths/get-path.mjs';\nimport 'klona/full';\nimport { getDataPath } from './paths/get-data-path.mjs';\nimport { validateValues } from './validate/validate-values.mjs';\nimport { validateFieldValue } from './validate/validate-field-value.mjs';\nimport { shouldValidateOnChange } from './validate/should-validate-on-change.mjs';\n\nfunction useForm({\n name,\n mode = \"controlled\",\n initialValues,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n onValuesChange,\n transformValues = (values) => values,\n enhanceGetInputProps,\n validate: rules,\n onSubmitPreventDefault = \"always\"\n} = {}) {\n const $errors = useFormErrors(initialErrors);\n const $values = useFormValues({ initialValues, onValuesChange, mode });\n const $status = useFormStatus({ initialDirty, initialTouched, $values, mode });\n const $list = useFormList({ $values, $errors, $status });\n const $watch = useFormWatch({ $status });\n const [formKey, setFormKey] = useState(0);\n const [fieldKeys, setFieldKeys] = useState({});\n const reset = useCallback(() => {\n $values.resetValues();\n $errors.clearErrors();\n $status.resetDirty();\n $status.resetTouched();\n mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1);\n }, []);\n const handleValuesChanges = useCallback(\n (previousValues) => {\n clearInputErrorOnChange && $errors.clearErrors();\n mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1);\n Object.keys($watch.subscribers.current).forEach((path) => {\n const value = getPath(path, $values.refValues.current);\n const previousValue = getPath(path, previousValues);\n if (value !== previousValue) {\n $watch.getFieldSubscribers(path).forEach((cb) => cb({ previousValues, updatedValues: $values.refValues.current }));\n }\n });\n },\n [clearInputErrorOnChange]\n );\n const initialize = useCallback(\n (values) => {\n const previousValues = $values.refValues.current;\n $values.initialize(values, () => mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1));\n handleValuesChanges(previousValues);\n },\n [handleValuesChanges]\n );\n const setFieldValue = useCallback(\n (path, value, options) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n const resolvedValue = value instanceof Function ? value(getPath(path, $values.refValues.current)) : value;\n $status.setCalculatedFieldDirty(path, resolvedValue);\n $status.setFieldTouched(path, true);\n !shouldValidate && clearInputErrorOnChange && $errors.clearFieldError(path);\n $values.setFieldValue({\n path,\n value,\n updateState: mode === \"controlled\",\n subscribers: [\n ...$watch.getFieldSubscribers(path),\n shouldValidate ? (payload) => {\n const validationResults = validateFieldValue(path, rules, payload.updatedValues);\n validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);\n } : null,\n options?.forceUpdate !== false && mode !== \"controlled\" ? () => setFieldKeys((keys) => ({\n ...keys,\n [path]: (keys[path] || 0) + 1\n })) : null\n ]\n });\n },\n [onValuesChange, rules]\n );\n const setValues = useCallback(\n (values) => {\n const previousValues = $values.refValues.current;\n $values.setValues({ values, updateState: mode === \"controlled\" });\n handleValuesChanges(previousValues);\n },\n [onValuesChange, handleValuesChanges]\n );\n const validate = useCallback(() => {\n const results = validateValues(rules, $values.refValues.current);\n $errors.setErrors(results.errors);\n return results;\n }, [rules]);\n const validateField = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, $values.refValues.current);\n results.hasError ? $errors.setFieldError(path, results.error) : $errors.clearFieldError(path);\n return results;\n },\n [rules]\n );\n const getInputProps = (path, { type = \"input\", withError = true, withFocus = true, ...otherOptions } = {}) => {\n const onChange = getInputOnChange(\n (value) => setFieldValue(path, value, { forceUpdate: false })\n );\n const payload = { onChange, \"data-path\": getDataPath(name, path) };\n if (withError) {\n payload.error = $errors.errorsState[path];\n }\n if (type === \"checkbox\") {\n payload[mode === \"controlled\" ? \"checked\" : \"defaultChecked\"] = getPath(\n path,\n $values.refValues.current\n );\n } else {\n payload[mode === \"controlled\" ? \"value\" : \"defaultValue\"] = getPath(\n path,\n $values.refValues.current\n );\n }\n if (withFocus) {\n payload.onFocus = () => $status.setFieldTouched(path, true);\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, $values.refValues.current);\n validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);\n }\n };\n }\n return Object.assign(\n payload,\n enhanceGetInputProps?.({\n inputProps: payload,\n field: path,\n options: { type, withError, withFocus, ...otherOptions },\n form\n })\n );\n };\n const onSubmit = (handleSubmit, handleValidationFailure) => (event) => {\n if (onSubmitPreventDefault === \"always\") {\n event?.preventDefault();\n }\n const results = validate();\n if (results.hasErrors) {\n if (onSubmitPreventDefault === \"validation-failed\") {\n event?.preventDefault();\n }\n handleValidationFailure?.(results.errors, $values.refValues.current, event);\n } else {\n handleSubmit?.(transformValues($values.refValues.current), event);\n }\n };\n const getTransformedValues = (input) => transformValues(input || $values.refValues.current);\n const onReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n const isValid = useCallback(\n (path) => path ? !validateFieldValue(path, rules, $values.refValues.current).hasError : !validateValues(rules, $values.refValues.current).hasErrors,\n [rules]\n );\n const key = (path) => `${formKey}-${path}-${fieldKeys[path] || 0}`;\n const getInputNode = useCallback(\n (path) => document.querySelector(`[data-path=\"${getDataPath(name, path)}\"]`),\n []\n );\n const form = {\n watch: $watch.watch,\n initialized: $values.initialized.current,\n values: $values.stateValues,\n getValues: $values.getValues,\n setInitialValues: $values.setValuesSnapshot,\n initialize,\n setValues,\n setFieldValue,\n errors: $errors.errorsState,\n setErrors: $errors.setErrors,\n setFieldError: $errors.setFieldError,\n clearFieldError: $errors.clearFieldError,\n clearErrors: $errors.clearErrors,\n resetDirty: $status.resetDirty,\n setTouched: $status.setTouched,\n setDirty: $status.setDirty,\n isTouched: $status.isTouched,\n resetTouched: $status.resetTouched,\n isDirty: $status.isDirty,\n getTouched: $status.getTouched,\n getDirty: $status.getDirty,\n reorderListItem: $list.reorderListItem,\n insertListItem: $list.insertListItem,\n removeListItem: $list.removeListItem,\n replaceListItem: $list.replaceListItem,\n reset,\n validate,\n validateField,\n getInputProps,\n onSubmit,\n onReset,\n isValid,\n getTransformedValues,\n key,\n getInputNode\n };\n useFormActions(name, form);\n return form;\n}\n\nexport { useForm };\n//# sourceMappingURL=use-form.mjs.map\n","var COMPLETE = 'complete',\n CANCELED = 'canceled';\n\nfunction raf(task){\n if('requestAnimationFrame' in window){\n return window.requestAnimationFrame(task);\n }\n\n setTimeout(task, 16);\n}\n\nfunction setElementScroll(element, x, y){\n Math.max(0, x);\n Math.max(0, y);\n\n if(element.self === element){\n element.scrollTo(x, y);\n }else{\n element.scrollLeft = x;\n element.scrollTop = y;\n }\n}\n\nfunction getTargetScrollLocation(scrollSettings, parent){\n var align = scrollSettings.align,\n target = scrollSettings.target,\n targetPosition = target.getBoundingClientRect(),\n parentPosition,\n x,\n y,\n differenceX,\n differenceY,\n targetWidth,\n targetHeight,\n leftAlign = align && align.left != null ? align.left : 0.5,\n topAlign = align && align.top != null ? align.top : 0.5,\n leftOffset = align && align.leftOffset != null ? align.leftOffset : 0,\n topOffset = align && align.topOffset != null ? align.topOffset : 0,\n leftScalar = leftAlign,\n topScalar = topAlign;\n\n if(scrollSettings.isWindow(parent)){\n targetWidth = Math.min(targetPosition.width, parent.innerWidth);\n targetHeight = Math.min(targetPosition.height, parent.innerHeight);\n x = targetPosition.left + parent.pageXOffset - parent.innerWidth * leftScalar + targetWidth * leftScalar;\n y = targetPosition.top + parent.pageYOffset - parent.innerHeight * topScalar + targetHeight * topScalar;\n x -= leftOffset;\n y -= topOffset;\n x = scrollSettings.align.lockX ? parent.pageXOffset : x;\n y = scrollSettings.align.lockY ? parent.pageYOffset : y;\n differenceX = x - parent.pageXOffset;\n differenceY = y - parent.pageYOffset;\n }else{\n targetWidth = targetPosition.width;\n targetHeight = targetPosition.height;\n parentPosition = parent.getBoundingClientRect();\n var offsetLeft = targetPosition.left - (parentPosition.left - parent.scrollLeft);\n var offsetTop = targetPosition.top - (parentPosition.top - parent.scrollTop);\n x = offsetLeft + (targetWidth * leftScalar) - parent.clientWidth * leftScalar;\n y = offsetTop + (targetHeight * topScalar) - parent.clientHeight * topScalar;\n x -= leftOffset;\n y -= topOffset;\n x = Math.max(Math.min(x, parent.scrollWidth - parent.clientWidth), 0);\n y = Math.max(Math.min(y, parent.scrollHeight - parent.clientHeight), 0);\n x = scrollSettings.align.lockX ? parent.scrollLeft : x;\n y = scrollSettings.align.lockY ? parent.scrollTop : y;\n differenceX = x - parent.scrollLeft;\n differenceY = y - parent.scrollTop;\n }\n\n return {\n x: x,\n y: y,\n differenceX: differenceX,\n differenceY: differenceY\n };\n}\n\nfunction animate(parent){\n var scrollSettings = parent._scrollSettings;\n\n if(!scrollSettings){\n return;\n }\n\n var maxSynchronousAlignments = scrollSettings.maxSynchronousAlignments;\n\n var location = getTargetScrollLocation(scrollSettings, parent),\n time = Date.now() - scrollSettings.startTime,\n timeValue = Math.min(1 / scrollSettings.time * time, 1);\n\n if(scrollSettings.endIterations >= maxSynchronousAlignments){\n setElementScroll(parent, location.x, location.y);\n parent._scrollSettings = null;\n return scrollSettings.end(COMPLETE);\n }\n\n var easeValue = 1 - scrollSettings.ease(timeValue);\n\n setElementScroll(parent,\n location.x - location.differenceX * easeValue,\n location.y - location.differenceY * easeValue\n );\n\n if(time >= scrollSettings.time){\n scrollSettings.endIterations++;\n // Align ancestor synchronously\n scrollSettings.scrollAncestor && animate(scrollSettings.scrollAncestor);\n animate(parent);\n return;\n }\n\n raf(animate.bind(null, parent));\n}\n\nfunction defaultIsWindow(target){\n return target.self === target\n}\n\nfunction transitionScrollTo(target, parent, settings, scrollAncestor, callback){\n var idle = !parent._scrollSettings,\n lastSettings = parent._scrollSettings,\n now = Date.now(),\n cancelHandler,\n passiveOptions = { passive: true };\n\n if(lastSettings){\n lastSettings.end(CANCELED);\n }\n\n function end(endType){\n parent._scrollSettings = null;\n\n if(parent.parentElement && parent.parentElement._scrollSettings){\n parent.parentElement._scrollSettings.end(endType);\n }\n\n if(settings.debug){\n console.log('Scrolling ended with type', endType, 'for', parent)\n }\n\n callback(endType);\n if(cancelHandler){\n parent.removeEventListener('touchstart', cancelHandler, passiveOptions);\n parent.removeEventListener('wheel', cancelHandler, passiveOptions);\n }\n }\n\n var maxSynchronousAlignments = settings.maxSynchronousAlignments;\n\n if(maxSynchronousAlignments == null){\n maxSynchronousAlignments = 3;\n }\n\n parent._scrollSettings = {\n startTime: now,\n endIterations: 0,\n target: target,\n time: settings.time,\n ease: settings.ease,\n align: settings.align,\n isWindow: settings.isWindow || defaultIsWindow,\n maxSynchronousAlignments: maxSynchronousAlignments,\n end: end,\n scrollAncestor\n };\n\n if(!('cancellable' in settings) || settings.cancellable){\n cancelHandler = end.bind(null, CANCELED);\n parent.addEventListener('touchstart', cancelHandler, passiveOptions);\n parent.addEventListener('wheel', cancelHandler, passiveOptions);\n }\n\n if(idle){\n animate(parent);\n }\n\n return cancelHandler\n}\n\nfunction defaultIsScrollable(element){\n return (\n 'pageXOffset' in element ||\n (\n element.scrollHeight !== element.clientHeight ||\n element.scrollWidth !== element.clientWidth\n ) &&\n getComputedStyle(element).overflow !== 'hidden'\n );\n}\n\nfunction defaultValidTarget(){\n return true;\n}\n\nfunction findParentElement(el){\n if (el.assignedSlot) {\n return findParentElement(el.assignedSlot);\n }\n\n if (el.parentElement) {\n if(el.parentElement.tagName.toLowerCase() === 'body'){\n return el.parentElement.ownerDocument.defaultView || el.parentElement.ownerDocument.ownerWindow;\n }\n return el.parentElement;\n }\n\n if (el.getRootNode){\n var parent = el.getRootNode()\n if(parent.nodeType === 11) {\n return parent.host;\n }\n }\n}\n\nmodule.exports = function(target, settings, callback){\n if(!target){\n return;\n }\n\n if(typeof settings === 'function'){\n callback = settings;\n settings = null;\n }\n\n if(!settings){\n settings = {};\n }\n\n settings.time = isNaN(settings.time) ? 1000 : settings.time;\n settings.ease = settings.ease || function(v){return 1 - Math.pow(1 - v, v / 2);};\n settings.align = settings.align || {};\n\n var parent = findParentElement(target),\n parents = 1;\n\n function done(endType){\n parents--;\n if(!parents){\n callback && callback(endType);\n }\n }\n\n var validTarget = settings.validTarget || defaultValidTarget;\n var isScrollable = settings.isScrollable;\n\n if(settings.debug){\n console.log('About to scroll to', target)\n\n if(!parent){\n console.error('Target did not have a parent, is it mounted in the DOM?')\n }\n }\n\n var scrollingElements = [];\n\n while(parent){\n if(settings.debug){\n console.log('Scrolling parent node', parent)\n }\n\n if(validTarget(parent, parents) && (isScrollable ? isScrollable(parent, defaultIsScrollable) : defaultIsScrollable(parent))){\n parents++;\n scrollingElements.push(parent);\n }\n\n parent = findParentElement(parent);\n\n if(!parent){\n done(COMPLETE)\n break;\n }\n }\n\n return scrollingElements.reduce((cancel, parent, index) => transitionScrollTo(target, parent, settings, scrollingElements[index + 1], done), null);\n};\n","export const sentencify = (message: string): string => {\n if (!message) {\n return \"\";\n }\n if (message.endsWith(\".\")) {\n return message;\n }\n return `${message}.`;\n};\n","import { type UseFormReturnType } from \"@mantine/form\";\nimport { type _TransformValues, type LooseKeys } from \"@mantine/form/lib/types\";\nimport scrollIntoView from \"scroll-into-view\";\n\nimport { sentencify } from \"./inflect\";\n\nexport const showFormErrorsAlert = <\n Values,\n TransformValues extends _TransformValues,\n>(\n form: Pick<\n UseFormReturnType,\n \"errors\" | \"getInputNode\"\n >,\n title: string,\n): void => {\n let firstErrorMessage = first(Object.values(form.errors));\n if (typeof firstErrorMessage === \"string\") {\n firstErrorMessage = sentencify(firstErrorMessage);\n }\n toast.error(title, {\n description: firstErrorMessage ?? \"An unknown error occurred.\",\n });\n const firstErrorPath = first(Object.keys(form.errors));\n if (firstErrorPath) {\n const input = form.getInputNode(firstErrorPath);\n if (input) {\n input.focus();\n scrollIntoView(input, {\n align: { top: 0, topOffset: calculateHeaderHeight() },\n });\n }\n }\n};\n\nconst calculateHeaderHeight = (): number => {\n const header = first(document.getElementsByTagName(\"header\"));\n return header ? header.clientHeight : 0;\n};\n\nexport const useFieldsFilled = (\n values: Values,\n ...fields: LooseKeys[]\n): boolean => {\n const checkFields = useCallback(\n (values: Values, fields: LooseKeys[]) => {\n const fieldsToCheck = isEmpty(fields) ? Object.keys(values) : fields;\n return fieldsToCheck.every(field => isFilledValue(get(values, field)));\n },\n [],\n );\n const [filled, setFilled] = useState(() => checkFields(values, fields));\n const firstRenderRef = useRef(true);\n useShallowEffect(() => {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n } else {\n setFilled(checkFields(values, fields));\n }\n }, [values, fields, checkFields]);\n return filled;\n};\n\nexport const isFilledValue = (value: any): boolean => {\n switch (typeof value) {\n case \"string\":\n return value !== \"\";\n case \"number\":\n return Number.isFinite(value);\n default:\n return !!value;\n }\n};\n","import {\n type Method,\n type Page,\n type RequestPayload,\n type VisitOptions,\n} from \"@inertiajs/core\";\nimport { type PathHelper } from \"@js-from-routes/client\";\nimport {\n useForm,\n type UseFormInput,\n type UseFormReturnType,\n} from \"@mantine/form\";\nimport { type FormEvent } from \"react\";\n\nimport { showFormErrorsAlert } from \"~/helpers/form\";\nimport { sentencify } from \"~/helpers/inflect\";\n\ntype InertiaPartialForm<\n Values,\n TransformValues extends (values: Values) => unknown,\n> = Omit, \"onSubmit\" | \"onReset\">;\n\nexport interface InertiaFormOptions<\n Values,\n TransformValues extends (values: Values) => unknown,\n> extends UseFormInput {\n action: PathHelper;\n descriptor: string;\n params?: {\n query?: Record;\n [key: string]: any;\n };\n method?: Method;\n failSilently?: boolean;\n beforeSubmit?: (form: InertiaPartialForm) => void;\n onSubmit?: (\n transformedValues: ReturnType,\n form: InertiaPartialForm,\n ) => void;\n onSuccess?: (\n page: Page,\n form: InertiaPartialForm,\n ) => void;\n onError?: (form: InertiaPartialForm) => void;\n onFailure?: (\n error: Error,\n form: InertiaPartialForm,\n ) => void;\n}\n\ntype InertiaFormSubmit = (event?: FormEvent) => void;\n\nexport interface InertiaForm<\n Values,\n TransformValues extends (values: Values) => unknown,\n> extends Omit, \"onSubmit\"> {\n processing: boolean;\n submit: InertiaFormSubmit;\n}\n\ntype _TransformValues = (values: Values) => RequestPayload;\n\nexport const useInertiaForm = <\n Values extends Record = Record,\n TransformValues extends _TransformValues = (values: Values) => Values,\n>(\n options: InertiaFormOptions,\n): InertiaForm => {\n const {\n action: actionRoute,\n descriptor,\n failSilently,\n method: methodOption,\n beforeSubmit,\n onSubmit,\n onError,\n onFailure,\n onSuccess,\n params,\n transformValues,\n ...otherOptions\n } = options;\n const action = useMemo(() => actionRoute.path(params), [actionRoute, params]);\n const form = useForm({\n ...otherOptions,\n transformValues,\n });\n const [processing, setProcessing] = useState(false);\n const handleSubmit = form.onSubmit(\n transformedValues => {\n onSubmit?.(transformedValues, form);\n let removeInvalidListener: VoidFunction | undefined;\n const options: Partial = {\n preserveScroll: true,\n onBefore: () => {\n removeInvalidListener = router.on(\"invalid\", (event): void => {\n const { response } = event.detail;\n if (response.status >= 400 && response.data instanceof Object) {\n const data = response.data as Record;\n if (typeof data.error === \"string\") {\n event.preventDefault();\n const error = new Error(data.error);\n console.error(`Failed to ${descriptor}`, error);\n if (!failSilently) {\n toast.error(`Failed to ${descriptor}`, {\n description: sentencify(\n data.error || \"An unknown error occurred\",\n ),\n });\n }\n onFailure?.(error, form);\n }\n }\n });\n setProcessing(true);\n },\n onFinish: () => {\n removeInvalidListener?.();\n setProcessing(false);\n },\n onSuccess: page => {\n onSuccess?.(page as unknown as Page, form);\n form.reset();\n },\n onError: errors => {\n form.setErrors(errors);\n console.warn(`Couldn't ${descriptor}`, errors);\n const formWithErrors = { ...form, errors };\n showFormErrorsAlert(formWithErrors, `Couldn't ${descriptor}`);\n onError?.(formWithErrors);\n },\n };\n let method: Method;\n if (methodOption) {\n method = methodOption;\n } else {\n const routeMethod = actionRoute.httpMethod.toLowerCase();\n if (routeMethod in router) {\n method = routeMethod as Method;\n } else {\n method = \"get\";\n }\n }\n startTransition(() => {\n if (method === \"delete\") {\n router.delete(action, { ...options });\n } else {\n router[method](action, transformedValues, {\n ...options,\n });\n }\n });\n },\n errors => {\n const formWithErrors = { ...form, errors };\n onError?.(formWithErrors);\n showFormErrorsAlert(formWithErrors, `Couldn't ${descriptor}`);\n },\n );\n const submit = (event?: FormEvent) => {\n beforeSubmit?.(form);\n handleSubmit(event);\n };\n return {\n ...form,\n processing,\n submit,\n };\n};\n","export default \"__VITE_ASSET__DdV82cPX__\"","import { createContext, useContext } from \"react\";\n\nexport interface SidebarControls {\n opened: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n}\n\nexport const SidebarControlsContext = createContext(\n null,\n);\n\nexport const useSidebarControls = (): SidebarControls | null => {\n return useContext(SidebarControlsContext);\n};\n","import { fetchRoute } from \"./fetch\";\n\nexport interface UseContactOptions {\n subject?: string;\n body?: string;\n}\n\nexport interface UseContactResult {\n loading: boolean;\n error?: Error;\n}\n\nexport const useContact = (\n options?: UseContactOptions,\n): [(options?: UseContactOptions) => void, UseContactResult] => {\n const [result, setResult] = useState({\n loading: false,\n });\n const contact = useCallback(() => {\n setResult(result => ({ ...result, loading: true }));\n fetchRoute<{ mailto: string }>(routes.contactUrls.show, {\n descriptor: \"load contact email\",\n params: options,\n })\n .then(\n ({ mailto }): void => {\n location.href = mailto;\n },\n (error: Error) => {\n setResult(result => ({ ...result, error }));\n },\n )\n .finally(() => {\n setResult(result => ({ ...result, loading: false }));\n });\n }, [options]);\n return [contact, result];\n};\n","import { type InertiaLinkProps } from \"@inertiajs/react\";\nimport { Loader, type MenuItemProps, Text } from \"@mantine/core\";\n\nimport InstagramIcon from \"~icons/basil/instagram-solid\";\nimport PhoneIcon from \"~icons/heroicons/device-phone-mobile-20-solid\";\nimport TikTokIcon from \"~icons/lineicons/tiktok\";\n\nimport { useContact } from \"~/helpers/contact\";\nimport { type Status } from \"~/types\";\n\nimport classes from \"./AppMenu.module.css\";\n\nexport interface AppMenuProps\n extends BoxProps,\n Omit, \"style\" | \"children\" | \"onChange\"> {}\n\nconst AppMenu: FC = ({ ...otherProps }) => {\n const currentUser = useCurrentUser();\n const [contact, { loading: loadingContact }] = useContact();\n\n // == State\n const [opened, setOpened] = useState(false);\n\n // == Load server info\n const { data } = useFetchRoute<{ status: Status }>(\n routes.healthcheckHealthchecks.check,\n {\n descriptor: \"load server info\",\n },\n );\n const { status } = data ?? {};\n\n // == Logout\n const { submit: logout } = useInertiaForm({\n action: routes.usersSessions.destroy,\n descriptor: \"sign out\",\n });\n\n // == Components\n interface MenuLinkProps\n extends MenuItemProps,\n Omit {}\n const MenuLink: FC = props => (\n \n );\n\n return (\n \n );\n};\n\nexport default AppMenu;\n","import { AppShell, type AppShellHeaderProps, Burger } from \"@mantine/core\";\nimport { Image } from \"@mantine/core\";\n\nimport logoSrc from \"~/assets/images/logo-circle.png\";\nimport { useSidebarControls } from \"~/helpers/sidebar\";\n\nimport AppMenu from \"./AppMenu\";\n\nimport classes from \"./AppHeader.module.css\";\n\nexport interface AppHeaderProps extends Omit {}\n\nconst AppHeader = forwardRef(\n ({ className, ...otherProps }, ref) => {\n const sidebarControls = useSidebarControls();\n return (\n \n \n \n {sidebarControls && (\n \n )}\n }\n h=\"unset\"\n py={2}\n pl={4}\n fw={800}\n fz=\"md\"\n className={classes.logoButton}\n >\n loveishard.club\n \n \n \n \n \n );\n },\n);\n\nexport default AppHeader;\n","const APP_META_SITE_TYPE = \"website\";\nconst APP_META_SITE_NAME = \"loveishard.club\";\nconst APP_META_SITE_DESCRIPTION =\n \"Stories of real people learning to navigate complicated relationships\";\nconst APP_META_SITE_IMAGE = undefined; //\"/banner.png\";\nconst APP_META_TITLE_SEPARATOR = \"|\";\n\nexport interface AppMetaProps {\n siteName?: string;\n title?: string | string[];\n description?: string | null;\n imageUrl?: string | null;\n noIndex?: boolean;\n}\n\n// const transformMeta = (value: string): string => value.toLocaleLowerCase();\nconst transformMeta = (value: string): string => value;\n\nconst AppMeta: FC = ({\n description = APP_META_SITE_DESCRIPTION,\n imageUrl = APP_META_SITE_IMAGE,\n noIndex,\n siteName = APP_META_SITE_NAME,\n title: titleProp,\n}) => {\n const pageTitle = useMemo(() => {\n const components = Array.isArray(titleProp) ? titleProp : [titleProp];\n return components\n .filter(component => !!component)\n .join(` ${APP_META_TITLE_SEPARATOR} `);\n }, [titleProp]);\n const siteTitle = useMemo(\n () =>\n [pageTitle, siteName]\n .filter(component => !!component)\n .join(` ${APP_META_TITLE_SEPARATOR} `),\n [pageTitle, siteName],\n );\n const tabTitle = useMemo(\n () =>\n [pageTitle, siteName]\n .filter(component => !!component)\n .join(` ${APP_META_TITLE_SEPARATOR} `),\n [pageTitle, siteName],\n );\n\n return (\n \n {transformMeta(tabTitle)}\n {!!description && (\n \n )}\n \n \n {!!pageTitle && }\n {!!description && (\n \n )}\n {!!imageUrl && }\n \n \n {!!description && (\n \n )}\n {!!imageUrl && }\n {noIndex && }\n \n );\n};\n\nexport default AppMeta;\n","import { type ContainerProps, type MantineSize } from \"@mantine/core\";\nimport { getSize, getSpacing } from \"@mantine/core\";\n\nexport interface PageContainerProps\n extends ContainerProps,\n Omit, \"style\"> {\n withGutter?: boolean;\n gutterSize?: MantineSize | (string & {}) | number;\n}\n\nconst PageContainer: FC = ({\n withGutter,\n gutterSize = \"md\",\n size = \"md\",\n className,\n style,\n children,\n ...otherProps\n}) => {\n return (\n {\n const sizeValue = getSize(size, \"container-size\");\n const gutterSizeValue = getSpacing(gutterSize);\n const margin = `clamp(0px, calc((100vw - ${sizeValue}) / 2), ${gutterSizeValue})`;\n return {\n marginTop: margin,\n marginBottom: margin,\n };\n }\n : undefined,\n ]}\n {...otherProps}\n >\n {children}\n \n );\n};\n\nexport default PageContainer;\n","import {\n type SidebarControls,\n SidebarControlsContext,\n} from \"~/helpers/sidebar\";\n\nexport interface SidebarControlsProviderProps {\n controls: SidebarControls | null;\n}\n\nexport const SidebarControlsProvider: FC<\n PropsWithChildren\n> = ({ controls, children }) => (\n \n {children}\n \n);\n","import {\n AppShell,\n type AppShellProps,\n Breadcrumbs,\n type ContainerProps,\n type MantineSize,\n} from \"@mantine/core\";\nimport { useDisclosure } from \"@mantine/hooks\";\n\nimport { type SidebarControls } from \"~/helpers/sidebar\";\n\nimport AppHeader from \"./AppHeader\";\nimport AppMeta, { type AppMetaProps } from \"./AppMeta\";\nimport PageContainer from \"./PageContainer\";\nimport PageLayout from \"./PageLayout\";\nimport { SidebarControlsProvider } from \"./SidebarControlsProvider\";\n\nimport classes from \"./AppLayout.module.css\";\n\nexport interface AppLayoutProps\n extends Omit,\n Omit {\n title?: DynamicProp;\n description?: DynamicProp;\n breadcrumbs?: DynamicProp;\n withContainer?: boolean;\n containerSize?: MantineSize | (string & {}) | number;\n containerProps?: ContainerProps;\n withGutter?: boolean;\n gutterSize?: MantineSize | (string & {}) | number;\n sidebar?: DynamicProp;\n}\n\nexport type DynamicProp =\n | T\n | ((props: PageProps) => T);\n\nexport interface AppBreadcrumb {\n title: string;\n href: string;\n}\n\nconst AppLayout = ({\n title: titleProp,\n description: descriptionProp,\n imageUrl,\n noIndex,\n breadcrumbs: breadcrumbsProp,\n withContainer,\n containerSize,\n containerProps,\n withGutter,\n gutterSize,\n sidebar: sidebarProp,\n children,\n padding,\n ...otherProps\n}: AppLayoutProps) => {\n const pageProps = usePageProps();\n\n // == Meta\n const title = useResolveDynamicProp(titleProp, pageProps);\n const description = useResolveDynamicProp(descriptionProp, pageProps);\n\n // == Breadcrumbs\n const breadcrumbs = useMemo(() => {\n return breadcrumbsProp\n ? resolveDynamicProp(breadcrumbsProp, pageProps).filter(x => !!x)\n : [];\n }, [breadcrumbsProp, pageProps]);\n\n // == Sidebar\n const sidebar = useResolveDynamicProp(sidebarProp, pageProps);\n const [\n sidebarOpened,\n { toggle: toggleSidebar, close: closeSidebar, open: openSidebar },\n ] = useDisclosure();\n const sidebarControls = useMemo(() => {\n return sidebar\n ? {\n opened: sidebarOpened,\n toggle: toggleSidebar,\n close: closeSidebar,\n open: openSidebar,\n }\n : null;\n }, [sidebar, sidebarOpened, toggleSidebar, closeSidebar, openSidebar]);\n\n // == Content\n const { style: containerStyle, ...otherContainerProps } =\n containerProps ?? {};\n const content = withContainer ? (\n \n {children}\n \n ) : (\n children\n );\n\n const shell = (\n \n \n {sidebar}\n \n {!isEmpty(breadcrumbs) && (\n \n {breadcrumbs.map(({ title, href }, index) => (\n \n {title}\n \n ))}\n \n )}\n {content}\n \n \n );\n return (\n \n \n \n {shell}\n \n \n );\n};\n\nexport default AppLayout;\n\nconst useResolveDynamicProp = (\n prop: T | ((props: PageProps) => T),\n pageProps: PageProps,\n) => useMemo(() => resolveDynamicProp(prop, pageProps), [prop, pageProps]);\n\nconst resolveDynamicProp = (\n prop: T | ((props: PageProps) => T),\n pageProps: PageProps,\n) => (prop instanceof Function ? prop(pageProps) : prop);\n"],"names":["findElementAncestor","element","selector","_element","getPreviousIndex","current","elements","loop","i","getNextIndex","onSameLevel","target","sibling","parentSelector","createScopedKeydownHandler","siblingSelector","onKeyDown","activateOnFocus","dir","orientation","event","_a","node","el","_nextIndex","_previousIndex","nextIndex","previousIndex","last","noop","closeOnEscape","callback","options","createEventHandler","parentEventHandler","eventHandler","getBreakpointValue","breakpoint","breakpoints","px","getSortedBreakpoints","values","convertedBreakpoints","a","b","getContextItemIndex","elementSelector","useHovered","hovered","setHovered","useState","DEFAULT_EVENTS","useClickOutside","handler","events","nodes","ref","useRef","useEffect","listener","shouldIgnore","fn","useDisclosure","initialState","callbacks","onOpen","onClose","opened","setOpened","open","useCallback","isOpened","close","toggle","getRefProp","version","React","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","getDocumentElement","_ref","value","isElement","isHTMLElement","isShadowRoot","isOverflowElement","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isTopLayer","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","result","getNearestOverflowAncestor","parentNode","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","activeElement","doc","_activeElement","contains","parent","child","rootNode","next","getPlatform","uaData","getUserAgent","brand","isVirtualPointerEvent","isJSDOM","isAndroid","isSafari","re","isMac","isMouseLikePointerType","pointerType","strict","isReactEvent","isRootElement","getDocument","isEventTargetWithin","e","getTarget","TYPEABLE_SELECTOR","isTypeableElement","min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","name","nextX","nextY","data","reset","detectOverflow","state","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextPlacement","resetPlacement","d","_overflowsData$filter2","currentSideAxis","acc","getBoundingRect","minX","minY","maxX","maxY","getRectsByLine","sortedRects","groups","prevRect","inline","nativeClientRects","clientRects","fallback","getBoundingClientRect","firstRect","lastRect","isTop","top","bottom","left","right","isLeftSide","maxRight","minLeft","measureRects","resetRects","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","size$1","arrow$1","inline$1","limitShift$1","mergedOptions","platformWithCache","computePosition$1","index","useLayoutEffect","deepEqual","keys","key","getDPR","roundByDPR","dpr","useLatestRef","React.useRef","useFloating","externalReference","externalFloating","transform","whileElementsMounted","setData","React.useState","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","React.useCallback","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","ReactDOM.flushSync","refs","React.useMemo","floatingStyles","initialStyles","isRef","arrow$2","deps","SafeReact","useInsertionEffect","useSafeInsertionEffect","useEffectEvent","_len","args","_key","serverHandoffComplete","count","genId","useFloatingId","id","setId","React.useEffect","useReactId","useId","createPubSub","map","_map$get","_map$get2","l","FloatingNodeContext","React.createContext","FloatingTreeContext","useFloatingParentNodeId","_React$useContext","React.useContext","useFloatingTree","createAttribute","safePolygonIdentifier","getDelay","prop","useHover","context","props","onOpenChange","enabled","delay","handleClose","mouseOnly","restMs","move","tree","parentId","handleCloseRef","delayRef","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef$current$open","type","onLeave","closeWithDelay","runElseBranch","reason","closeDelay","cleanupMouseMoveHandler","clearPointerEvents","isClickLikeOpenEvent","onMouseEnter","openDelay","onMouseLeave","onScrollMouseLeave","_elements$floating","_elements$floating2","_handleCloseRef$curre","_tree$nodesRef$curren","parentFloating","setPointerRef","nativeEvent","handleMouseMove","NOOP","FloatingDelayGroupContext","useDelayGroupContext","FloatingDelayGroup","children","timeoutMs","setState","React.useReducer","prev","initialCurrentIdRef","setCurrentId","currentId","React.createElement","useDelayGroup","floatingId","optionId","groupContext","initialDelay","unset","timeout","getChildren","allChildren","_node$context","currentChildren","_currentChildren","n","_node$context2","FOCUSABLE_ATTRIBUTE","bubbleHandlerKeys","captureHandlerKeys","normalizeProp","normalizable","_normalizable$escapeK","_normalizable$outside","useDismiss","escapeKey","unstable_outsidePress","outsidePressEvent","referencePress","referencePressEvent","bubbles","capture","outsidePressFn","outsidePress","insideReactTreeRef","endedOrStartedInsideRef","escapeKeyBubbles","outsidePressBubbles","escapeKeyCapture","outsidePressCapture","isComposingRef","closeOnEscapeKeyDown","_dataRef$current$floa","nodeId","shouldDismiss","_child$context","closeOnEscapeKeyDownCapture","_getTarget2","_getTarget","closeOnPressOutside","_dataRef$current$floa2","insideReactTree","endedOrStartedInside","inertSelector","markers","targetRootAncestor","nextParent","marker","canScrollX","canScrollY","xCond","targetIsInsideChildren","_child$context2","closeOnPressOutsideCapture","_getTarget4","_getTarget3","compositionTimeout","onScroll","handleCompositionStart","handleCompositionEnd","_doc$defaultView","useFloatingRootContext","onOpenChangeProp","elementsProp","nested","positionReference","setPositionReference","internalRootContext","rootContext","computedElements","_domReference","setDomReference","_setPositionReference","domReference","domReferenceRef","position","useFloating$1","computedPositionReference","useFocus","visibleOnly","blockFocusRef","keyboardModalityRef","onBlur","relatedTarget","movedToFocusGuard","activeEl","ACTIVE_KEY","SELECTED_KEY","mergeProps","userProps","propsList","elementKey","isItem","domUserProps","_","__","validProps","propsOrGetProps","val","useInteractions","referenceDeps","floatingDeps","itemDeps","getReferenceProps","getFloatingProps","getItemProps","componentRoleToAriaRoleMap","useRole","_componentRoleToAriaR","role","ariaRole","referenceId","isNested","floatingProps","item","active","selected","commonProps","getFloatingPosition","flippedPosition","horizontalSide","arrowY","arrowOffset","arrowPosition","verticalSide","arrowX","radiusByFloatingSide","getArrowPositionStyles","arrowSize","arrowRadius","baseStyles","arrowPlacement","FloatingArrow","forwardRef","visible","style","others","useDirection","jsx","PopoverContextProvider","usePopoverContext","createSafeContext","classes","defaultProps","PopoverDropdown","factory","_props","useProps","className","vars","onKeyDownCapture","variant","classNames","styles","ctx","returnFocus","useFocusReturn","accessibleProps","mergedRef","useMergedRef","OptionalPortal","Transition","_b","_c","_d","transitionStyles","FocusTrap","jsxs","Box","rem","PopoverTarget","refProp","popupType","forwardedProps","targetRef","cloneElement","cx","useFloatingAutoUpdate","positionDependencies","delayedUpdate","setDelayedUpdate","useDidUpdate","c","getDefaultMiddlewares","middlewares","getPopoverMiddlewares","getFloating","middlewaresOptions","rest","usePopover","_opened","useUncontrolled","previouslyOpened","onToggle","getDefaultZIndex","varsResolver","createVarsResolver","radius","shadow","getRadius","getShadow","Popover","onPositionChange","transitionProps","onExitTransitionEnd","onEnterTransitionEnd","withArrow","unstyled","closeOnClickOutside","withinPortal","portalProps","clickOutsideEvents","trapFocus","onChange","zIndex","defaultOpened","__staticSelector","withRoles","disabled","keepMounted","floatingStrategy","getStyles","useStyles","resolvedStyles","useResolvedStylesApi","arrowRef","targetNode","setTargetNode","dropdownNode","setDropdownNode","uid","popover","onExited","onEntered","_f","_e","input","AppShellProvider","useAppShellContext","AppShellAside","withBorder","mod","AppShellFooter","RemoveScroll","AppShellHeader","AppShellMain","getBaseSize","isPrimitiveSize","isBaseSize","isResponsiveSize","assignAsideVariables","minMediaStyles","maxMediaStyles","aside","theme","asideWidth","collapsedAsideTransform","collapsedAsideTransformRtl","baseSize","breakpointValue","assignFooterVariables","footer","footerHeight","collapsedFooterTransform","shouldOffset","assignHeaderVariables","header","headerHeight","collapsedHeaderTransform","assignNavbarVariables","navbar","navbarWidth","collapsedNavbarTransform","collapsedNavbarTransformRtl","getPaddingValue","getSpacing","assignPaddingVariables","getVariables","minMedia","em","maxMedia","media","AppShellMediaStyles","useMantineTheme","useMantineContext","InlineStyles","AppShellNavbar","AppShellSection","polymorphicFactory","grow","useResizing","transitionDuration","resizing","setResizing","resizingTimeout","disabledTimeout","useWindowEvent","startTransition","useIsomorphicEffect","transitionTimingFunction","AppShell","layout","offsetScrollbars","separatorMargin","Breadcrumbs","separator","items","Children","array","createElement","color","lineSize","getThemeColor","getSize","Burger","UnstyledButton","fluid","Container","useDelayedHover","openTimeout","closeTimeout","clearTimeouts","openDropdown","closeDropdown","fit","Image","onError","src","fallbackSrc","error","setError","MenuContextProvider","useMenuContext","MenuDivider","MenuDropdown","wrapperRef","handleKeyDown","handleMouseEnter","handleMouseLeave","MenuItem","closeMenuOnClick","leftSection","rightSection","itemRef","itemIndex","_others","handleClick","handleFocus","colors","parsedThemeColor","parseThemeColor","MenuLabel","MenuTarget","onClick","Menu","closeOnItemClick","trigger","menuItemTabIndex","resetHovered","openedViaClick","setOpenedViaClick","toggleDropdown","getItemIndex","resolvedClassNames","circle","Skeleton","animate","gap","align","justify","Stack","head","mapTag","setTag","objectProto","hasOwnProperty","isEmpty","isArrayLike","isArray","isBuffer","isTypedArray","isArguments","tag","getTag","isPrototype","baseKeys","SEC_ARRAY","toDate","formatDiff","diff","localeFunc","agoIn","totalSec","idx","diffSec","date","relativeDate","relDate","format","locale","opts","sec","getLocale","TimeAgo","otherProps","useMemo","DateTime","text","setText","formatTimeAgo","interval","Text","validateFormName","useFormEvent","eventKey","useFormActions","form","getInputOnChange","setValue","currentTarget","filterErrors","errors","errorValue","useFormErrors","initialErrors","errorsState","setErrorsState","errorsRef","setErrors","newErrors","clearErrors","clearFieldError","path","setFieldError","clearListState","field","clone","errorKey","getIndexFromKeyAfterPath","split","changeErrorIndices","change","pathString","clearedErrors","cloned","changedKeys","currIndex","newKey","reorderErrors","from","to","oldKeyStart","newKeyStart","oldKey","value1","value2","set","obj","klona","k","tmp","str","getSplittedPath","getPath","splittedPath","setPath","reorderPath","currentValue","insertPath","removePath","replacePath","useFormList","$values","$errors","$status","reorderListItem","payload","errs","removeListItem","insertListItem","replaceListItem","fastDeepEqual","equal","getStatus","status","paths","nestedPaths","statusPath","useFormStatus","initialDirty","initialTouched","mode","touchedState","setTouchedState","dirtyState","setDirtyState","touchedRef","dirtyRef","setTouched","resolvedValues","setDirty","forceUpdate","resetTouched","resetDirty","newSnapshot","setFieldTouched","touched","currentTouched","setFieldDirty","dirty","currentDirty","setCalculatedFieldDirty","isEqual","clearedState","isTouched","clearFieldDirty","isDirty","overriddenValue","sliceOfValues","sliceOfInitialValues","getDirty","getTouched","useFormValues","initialValues","onValuesChange","initialized","stateValues","setStateValues","refValues","valuesSnapshot","setValues","subscribers","updateState","mergeWithPreviousValues","previousValues","updatedValues","subscriber","setFieldValue","updatedValue","setValuesSnapshot","initialize","onInitialize","resetValues","getValues","getValuesSnapshot","useFormWatch","watch","cb","getFieldSubscribers","getDataPath","formName","fieldPath","getValidationResults","filteredErrors","validateRulesRecord","rules","ruleKey","rule","rulePath","arrayValidation","_item","validateValues","validate","validateFieldValue","results","pathInError","pathPart","FORM_INDEX","shouldValidateOnChange","validateInputOnChange","useForm","clearInputErrorOnChange","validateInputOnBlur","transformValues","enhanceGetInputProps","onSubmitPreventDefault","$list","$watch","formKey","setFormKey","fieldKeys","setFieldKeys","key2","handleValuesChanges","previousValue","shouldValidate","resolvedValue","validationResults","validateField","getInputProps","withError","withFocus","otherOptions","onSubmit","handleSubmit","handleValidationFailure","getTransformedValues","onReset","isValid","getInputNode","COMPLETE","CANCELED","raf","task","setElementScroll","getTargetScrollLocation","scrollSettings","targetPosition","parentPosition","differenceX","differenceY","targetWidth","targetHeight","leftAlign","topAlign","leftOffset","topOffset","leftScalar","topScalar","offsetLeft","offsetTop","maxSynchronousAlignments","location","time","timeValue","easeValue","defaultIsWindow","transitionScrollTo","settings","scrollAncestor","idle","lastSettings","now","cancelHandler","passiveOptions","endType","defaultIsScrollable","defaultValidTarget","findParentElement","scrollIntoView","parents","done","validTarget","isScrollable","scrollingElements","cancel","sentencify","message","showFormErrorsAlert","title","firstErrorMessage","first","toast","firstErrorPath","calculateHeaderHeight","useFieldsFilled","fields","checkFields","isFilledValue","get","filled","setFilled","firstRenderRef","useShallowEffect","useInertiaForm","actionRoute","descriptor","failSilently","methodOption","beforeSubmit","onFailure","onSuccess","params","action","processing","setProcessing","transformedValues","removeInvalidListener","router","response","page","formWithErrors","method","routeMethod","logoSrc","SidebarControlsContext","createContext","useSidebarControls","useContext","useContact","setResult","fetchRoute","routes","mailto","AppMenu","currentUser","useCurrentUser","contact","loadingContact","useFetchRoute","logout","MenuLink","Link","Badge","InfoIcon","ContinueIcon","PhoneIcon","Loader","SendIcon","InstagramIcon","TikTokIcon","Fragment","AccountIcon","AdminIcon","SignOutIcon","AppHeader","sidebarControls","cn","Group","Button","APP_META_SITE_TYPE","APP_META_SITE_NAME","APP_META_SITE_DESCRIPTION","APP_META_SITE_IMAGE","APP_META_TITLE_SEPARATOR","transformMeta","AppMeta","description","imageUrl","noIndex","siteName","titleProp","pageTitle","component","siteTitle","tabTitle","Head","PageContainer","withGutter","gutterSize","sizeValue","gutterSizeValue","margin","SidebarControlsProvider","controls","AppLayout","descriptionProp","breadcrumbsProp","withContainer","containerSize","containerProps","sidebarProp","pageProps","usePageProps","useResolveDynamicProp","breadcrumbs","resolveDynamicProp","sidebar","sidebarOpened","toggleSidebar","closeSidebar","openSidebar","containerStyle","otherContainerProps","content","shell","href","Anchor","PageLayout"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]}