@necto-react/hooks 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ interface FocusResult<Target = FocusableElement> {
|
|
|
33
33
|
}
|
|
34
34
|
declare function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target>;
|
|
35
35
|
|
|
36
|
+
type Modality$1 = 'keyboard' | 'pointer' | 'virtual';
|
|
36
37
|
interface FocusRingProps {
|
|
37
38
|
within?: boolean;
|
|
38
39
|
isTextInput?: boolean;
|
|
@@ -90,4 +91,4 @@ declare function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Eve
|
|
|
90
91
|
declare function useSyntheticBlurEvent<Target extends Element = Element>(onBlur: (event: FocusEvent$1<Target>) => void): (event: FocusEvent$1<Target>) => void;
|
|
91
92
|
|
|
92
93
|
export { DisabledProvider, addWindowFocusTracking, createSyntheticEvent, getInteractionModality, setGlobalIgnoreEmulatedMouseEvents, useDisabled, useDisabledFlags, useDisabledProps, useEffectEvent, useFocus, useFocusRing, useFocusVisibleListener, useFocusWithin, useGlobalListeners, useHover, useSyntheticBlurEvent };
|
|
93
|
-
export type { FocusProps, FocusResult, FocusRingProps, FocusRingResult, FocusVisibleHandler, FocusWithinProps, FocusWithinResult, HoverProps, HoverResult };
|
|
94
|
+
export type { FocusProps, FocusResult, FocusRingProps, FocusRingResult, FocusVisibleHandler, FocusWithinProps, FocusWithinResult, HoverProps, HoverResult, Modality$1 as Modality };
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/useDisabled.ts","../src/useEffectEvent.ts","../src/useSyntheticBlurEvent.ts","../../necto-dom/dist/index.mjs","../src/useFocus.ts","../src/useGlobalListeners.ts","../src/useFocusWithin.ts","../../necto-platform/dist/index.mjs","../../necto-react-helpers/dist/index.js","../src/useFocusVisibleListener.ts","../src/useFocusRing.ts","../src/useHover.ts"],"sourcesContent":["/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { createContext, createElement, useContext, useMemo } from \"react\";\n\nimport type { HTMLAttributes, PropsWithChildren } from \"react\";\n\ntype DisabledFlags = {\n general?: boolean;\n form?: boolean;\n interactions?: boolean;\n [key: string]: boolean | undefined;\n};\n\nlet DisabledContext = createContext<DisabledFlags>({});\n\nexport function useDisabledFlags(): DisabledFlags {\n return useContext(DisabledContext) || {};\n};\n\nexport function useDisabled(\n type: keyof DisabledFlags = 'general',\n defaultFallback: boolean = false\n): boolean {\n const flags = useContext(DisabledContext) || {};\n return flags[type] ?? defaultFallback;\n}\n\nexport function useDisabledProps(type: keyof DisabledFlags = 'general', extraProps: HTMLAttributes<HTMLElement> = {}): HTMLAttributes<HTMLElement> {\n const isDisabled = useDisabled(type);\n\n return useMemo(() => {\n let props: HTMLAttributes<HTMLElement> = {\n ...extraProps\n };\n\n if (isDisabled) {\n props = {\n ...props,\n ...(typeof extraProps.onClick === 'function' || typeof extraProps.onChange === 'function' ? { disabled: isDisabled } : {}),\n 'aria-disabled': isDisabled\n };\n }\n\n return props;\n }, [isDisabled, extraProps]);\n};\n\nexport function DisabledProvider({\n value,\n children,\n}: PropsWithChildren<{ value?: DisabledFlags }>) {\n return createElement(\n DisabledContext.Provider,\n { value: value || {} },\n children\n );\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { useCallback, useRef, useLayoutEffect} from \"react\";\n\nexport function useEffectEvent<T extends (...args: any[]) => any>(fn: T): T {\n const fnRef = useRef(fn);\n\n // Inline SSR-safe useLayoutEffect\n (typeof document !== \"undefined\" ? useLayoutEffect : () => {})(\n () => {\n fnRef.current = fn;\n },\n [fn]\n );\n\n return useCallback(((...args: Parameters<T>): ReturnType<T> => {\n return fnRef.current(...args);\n }) as T, []);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffectEvent } from \"./useEffectEvent\";\nimport { useRef, useCallback, useLayoutEffect } from 'react';\nimport type { FocusEvent as ReactFocusEvent, SyntheticEvent } from 'react';\n\n/**\n * Creates a synthetic React event from a native DOM event.\n * This is used to maintain compatibility with React's event system.\n * \n * @param nativeEvent - The original native DOM event.\n * @returns The synthetic React event.\n */\nexport function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Event): E {\n const event = nativeEvent as unknown as E;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = () => event.defaultPrevented;\n event.isPropagationStopped = () => (event as any).cancelBubble; // Deprecated but widely supported.\n event.persist = () => {}; // No-op for compatibility with React's synthetic event system.\n return event;\n}\n\n/**\n * Custom React hook to handle synthetic blur events, particularly for disabled elements.\n * \n * @param onBlur - Callback to handle the blur event.\n * @returns A callback to attach to the element's blur event.\n */\nexport function useSyntheticBlurEvent<Target extends Element = Element>(\n onBlur: (event: ReactFocusEvent<Target>) => void\n): (event: ReactFocusEvent<Target>) => void {\n const stateRef = useRef<{\n isFocused: boolean;\n observer: MutationObserver | null;\n }>({\n isFocused: false,\n observer: null,\n });\n\n // Cleanup effect to disconnect the MutationObserver when the component unmounts.\n useLayoutEffect(() => {\n const state = stateRef.current;\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n\n // Handler to dispatch the blur event using the provided callback.\n const dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {\n onBlur?.(e);\n });\n\n // Callback to handle the blur event logic.\n return useCallback((e: ReactFocusEvent<Target>) => {\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n stateRef.current.isFocused = true;\n\n const target = e.target;\n const onBlurHandler: EventListenerOrEventListenerObject = (event) => {\n stateRef.current.isFocused = false;\n\n if (target.disabled) {\n // Dispatch a synthetic React event for backward compatibility.\n const syntheticEvent = createSyntheticEvent<ReactFocusEvent<Target>>(event);\n dispatchBlur(syntheticEvent);\n }\n\n // Cleanup the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n\n // Add a one-time blur event listener.\n target.addEventListener('focusout', onBlurHandler, { once: true });\n\n // Set up a MutationObserver to monitor changes to the 'disabled' attribute.\n stateRef.current.observer = new MutationObserver(() => {\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n const relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', { relatedTarget: relatedTargetEl }));\n target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget: relatedTargetEl }));\n }\n });\n\n // Observe changes to the 'disabled' attribute of the target element.\n stateRef.current.observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });\n }\n }, [dispatchBlur]);\n}\n","function e(e){return t(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&\"host\"in e}function t(e){return null!==e&&\"object\"==typeof e&&\"nodeType\"in e&&\"number\"==typeof e.nodeType}function n(t,n,o=!0){if(!t||!n)return!1;if(!o)return t.contains(n);let r=n;for(;r;){if(r===t)return!0;r=r instanceof Element&&\"SLOT\"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:e(r)?r.host:r.parentNode}return!1}var o=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&\"shadowRoot\"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function r(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var i=e=>e?.ownerDocument??document,a=e=>{if(e&&\"window\"in e&&e.window===e)return e;return i(e).defaultView||window};export{o as getActiveElement,r as getEventTarget,i as getOwnerDocument,a as getOwnerWindow,t as isNode,n as nodeContains};","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback } from 'react';\nimport { useSyntheticBlurEvent } from \"./useSyntheticBlurEvent\";\nimport { getOwnerDocument, getEventTarget, getActiveElement } from \"@necto/dom\";\n\nimport type { FocusEvent as ReactFocusEvent } from 'react';\nimport type { DOMAttributes, FocusableElement, FocusEvent } from '@necto-react/types';\n\nexport interface FocusProps<Target = FocusableElement> extends FocusEvent<Target> {\n isDisabled?: boolean;\n}\n\nexport interface FocusResult<Target = FocusableElement> {\n focusProps: DOMAttributes<Target>\n}\n\nexport function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target> {\n const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;\n\n // Unified handler for focus change\n const handleFocusChange = useCallback(\n (isFocused: boolean, e: ReactFocusEvent<Target>) => {\n if (isFocused) {\n onFocusProp?.(e);\n onFocusChange?.(true);\n } else {\n onBlurProp?.(e);\n onFocusChange?.(false);\n }\n },\n [onFocusProp, onBlurProp, onFocusChange]\n );\n\n // Blur handler\n const onBlur = useCallback(\n (e: ReactFocusEvent<Target>) => {\n if (e.target === e.currentTarget) {\n handleFocusChange(false, e);\n }\n },\n [handleFocusChange]\n );\n\n // Synthetic focus handler\n const onSyntheticFocus = useSyntheticBlurEvent<Target>(onBlur);\n\n // Focus handler\n const onFocus = useCallback(\n (e: ReactFocusEvent<Target>) => {\n const ownerDocument = getOwnerDocument(e.target);\n const activeElement = ownerDocument ? getActiveElement(ownerDocument) : getActiveElement();\n if (e.target === e.currentTarget && activeElement === getEventTarget(e.nativeEvent)) {\n handleFocusChange(true, e);\n onSyntheticFocus(e);\n }\n },\n [handleFocusChange, onSyntheticFocus]\n );\n\n // Return focus props\n return {\n focusProps: {\n ...(isDisabled ? {} : { onFocus, onBlur }),\n } as DOMAttributes<Target>,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useEffect, useRef } from \"react\";\n\ninterface GlobalListeners {\n addGlobalListener<K extends keyof WindowEventMap | keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : K extends keyof DocumentEventMap ? DocumentEventMap[K] : never) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeGlobalListener<K extends keyof WindowEventMap & keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeAllGlobalListeners(): void;\n}\n\n/**\n * A hook that provides utilities for managing global event listeners.\n * It allows adding, removing, and cleaning up event listeners on global targets like `window` or `document`.\n */\nfunction useGlobalListeners(): GlobalListeners {\n const globalListeners = useRef<Map<EventListenerOrEventListenerObject, { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }>>(new Map());\n\n const addGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => {\n const wrappedListener = typeof options === 'object' && options?.once\n ? (...args: any[]) => {\n globalListeners.current.delete(listener);\n (listener as EventListener)(...args as [any]);\n }\n : listener;\n\n globalListeners.current.set(listener, { type, eventTarget, options });\n eventTarget.addEventListener(type, wrappedListener, options);\n },\n []\n );\n\n const removeGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => {\n const storedListener = globalListeners.current.get(listener);\n const fn = storedListener?.options?.once ? storedListener.fn : listener;\n\n eventTarget.removeEventListener(type, fn as EventListener, options);\n globalListeners.current.delete(listener);\n },\n []\n );\n\n const removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach(({ type, eventTarget, options }: { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }, listener: EventListener) => {\n eventTarget.removeEventListener(type, listener as EventListener, options);\n });\n globalListeners.current.clear();\n }, []);\n\n useEffect(() => {\n return () => removeAllGlobalListeners();\n }, [removeAllGlobalListeners]);\n\n return { addGlobalListener, removeGlobalListener, removeAllGlobalListeners };\n}\n\nexport { useGlobalListeners };","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useRef } from \"react\";\nimport { useGlobalListeners } from \"./useGlobalListeners\";\nimport { useSyntheticBlurEvent, createSyntheticEvent } from \"./useSyntheticBlurEvent\";\nimport { getActiveElement, getEventTarget, getOwnerDocument, nodeContains } from \"@necto/dom\";\n\nimport type { DOMAttributes } from \"@necto-react/types\";\nimport type { FocusEvent as ReactFocusEvent } from \"react\";\n\nexport interface FocusWithinProps {\n isDisabled?: boolean,\n onFocusWithin?: (e: ReactFocusEvent) => void,\n onBlurWithin?: (e: ReactFocusEvent) => void,\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\nexport interface FocusWithinResult {\n focusWithinProps: DOMAttributes\n}\n\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let { isDisabled, onFocusWithin, onBlurWithin, onFocusWithinChange } = props;\n let state = useRef({ isFocusWithin: false });\n let { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n let onBlur = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n if (state.current.isFocusWithin && !(event.currentTarget as Element).contains(event.relatedTarget as Element)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n\n if (onBlurWithin) onBlurWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]);\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n const ownerDocument = getOwnerDocument(event.target);\n const activeElement = getActiveElement(ownerDocument);\n\n if (!state.current.isFocusWithin && activeElement == getEventTarget(event.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(true);\n\n state.current.isFocusWithin = true;\n onSyntheticFocus(event);\n\n let currentTarget = event.currentTarget;\n addGlobalListener(ownerDocument, 'focus', e => {\n if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) {\n let nativeEvent = new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target});\n Object.defineProperty(nativeEvent, 'target', {value: currentTarget});\n Object.defineProperty(nativeEvent, 'currentTarget', {value: currentTarget});\n let event = createSyntheticEvent<ReactFocusEvent>(nativeEvent);\n onBlur(event);\n }\n }, {capture: true});\n }\n }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]);\n\n if (isDisabled) {\n return {\n focusWithinProps: {\n onFocus: undefined,\n onBlur: undefined\n } as DOMAttributes\n };\n }\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n } as unknown as DOMAttributes\n }\n}","function r(n){return typeof window<\"u\"&&window.navigator!=null?n.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}var e=function(){return r(/^Mac/i)};function o(n){return typeof window>\"u\"||window.navigator==null?!1:window.navigator.userAgentData?.brands.some(t=>n.test(t.brand))||n.test(window.navigator.userAgent)}var a=function(){return o(/Android/i)};export{a as isAndroid,e as isMac};\n//# sourceMappingURL=index.mjs.map","import{isAndroid as E}from\"@necto/platform\";function y(e){return e.mozInputSource===0&&e.isTrusted?!0:E()&&e.pointerType?e.type===\"click\"&&e.buttons===1:e.detail===0&&!e.pointerType}import{getOwnerDocument as d,getOwnerWindow as c}from\"@necto/dom\";var p=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]),f={Tab:!0,Escape:!0};function M(e,r,t){if(!t||!(\"target\"in t)||!t.target)return!1;let a=d(t.target),o=c(t.target),i=typeof window<\"u\"?o.HTMLInputElement:HTMLInputElement,s=typeof window<\"u\"?o.HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<\"u\"?o.HTMLElement:HTMLElement,u=typeof window<\"u\"?o.KeyboardEvent:KeyboardEvent,n=a.activeElement;return e=e||n instanceof i&&!p.has(n.type)||n instanceof s||n instanceof l&&n.isContentEditable,!(e&&r===\"keyboard\"&&t instanceof u&&!f[t.key])}export{M as isKeyboardFocusEvent,y as isVirtualClick};\n","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffect } from \"react\";\nimport { isMac } from \"@necto/platform\";\nimport { isKeyboardFocusEvent } from \"@necto-react/helpers\";\nimport { getOwnerWindow, getOwnerDocument } from \"@necto/dom\";\n\nexport type Modality = \"keyboard\" | \"pointer\" | \"virtual\";\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\nexport type FocusVisibleHandler = (isFocusVisible: boolean) => void;\n\nconst hasSetupGlobalListeners = new Map<Window, { focus: () => void }>();\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\nlet currentModality: Modality | null = null;\nconst changeHandlers = new Set<Handler>();\n\nconst FOCUS_VISIBLE_INPUT_KEYS = { Tab: true, Escape: true };\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n changeHandlers.forEach((handler) => handler(modality, e));\n}\n\nfunction isValidKey(e: KeyboardEvent) {\n return !(\n e.metaKey ||\n (!isMac() && e.altKey) ||\n e.ctrlKey ||\n [\"Control\", \"Shift\", \"Meta\"].includes(e.key)\n );\n}\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n if (isValidKey(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n if ([\"mousedown\", \"pointerdown\"].includes(e.type)) {\n hasEventBeforeFocus = true;\n currentModality = \"pointer\";\n triggerChangeHandlers(\"pointer\", e);\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n if (\n [window, document].includes(e.target as any) ||\n !e.isTrusted ||\n (!hasEventBeforeFocus && !hasBlurredWindowRecently)\n ) {\n return;\n }\n\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\nfunction setupGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n hasSetupGlobalListeners.has(windowObject)\n ) {\n return;\n }\n\n const originalFocus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function (...args) {\n hasEventBeforeFocus = true;\n originalFocus.apply(this, args);\n };\n\n documentObject.addEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.addEventListener(\"click\", handlePointerEvent, true);\n windowObject.addEventListener(\"focus\", handleFocusEvent, true);\n windowObject.addEventListener(\"blur\", handleWindowBlur, false);\n\n if (typeof PointerEvent !== \"undefined\") {\n documentObject.addEventListener(\"pointerdown\", handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners.set(windowObject, { focus: originalFocus });\n}\n\nfunction tearDownGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (!hasSetupGlobalListeners.has(windowObject)) return;\n\n const { focus } = hasSetupGlobalListeners.get(windowObject)!;\n windowObject.HTMLElement.prototype.focus = focus;\n\n documentObject.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.removeEventListener(\"click\", handlePointerEvent, true);\n windowObject.removeEventListener(\"focus\", handleFocusEvent, true);\n windowObject.removeEventListener(\"blur\", handleWindowBlur, false);\n\n hasSetupGlobalListeners.delete(windowObject);\n}\n\nexport function addWindowFocusTracking(element?: HTMLElement | null): () => void {\n const documentObject = getOwnerDocument(element);\n\n if (documentObject.readyState !== \"loading\") {\n setupGlobalFocusEvents(element);\n } else {\n documentObject.addEventListener(\"DOMContentLoaded\", () =>\n setupGlobalFocusEvents(element)\n );\n }\n\n return () => tearDownGlobalFocusEvents(element);\n}\n\nexport function getInteractionModality(): Modality | null {\n return currentModality;\n}\n\nexport function useFocusVisibleListener(\n fn: FocusVisibleHandler,\n deps: ReadonlyArray<any>,\n opts?: { isTextInput?: boolean }\n): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n const handler: Handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn(currentModality !== \"pointer\");\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useFocus } from './useFocus';\nimport { useFocusWithin } from './useFocusWithin';\nimport { useCallback, useRef, useState } from 'react';\nimport { useFocusVisibleListener } from \"./useFocusVisibleListener\";\n\nimport type { DOMAttributes } from '@necto-react/types';\n\nexport type Modality = 'keyboard' | 'pointer' | 'virtual';\nlet currentModality: null | Modality = null;\n\nexport interface FocusRingProps {\n within?: boolean;\n isTextInput?: boolean;\n autoFocus?: boolean;\n}\n\nexport interface FocusRingResult {\n isFocused: boolean;\n isFocusVisible: boolean;\n focusProps: DOMAttributes;\n}\n\nexport function useFocusRing({\n within = false,\n isTextInput = false,\n autoFocus = false,\n}: FocusRingProps = {}): FocusRingResult {\n const state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || currentModality !== 'pointer',\n });\n\n const [isFocused, setFocused] = useState(false);\n const [isFocusVisible, setFocusVisible] = useState(() => state.current.isFocused && state.current.isFocusVisible);\n\n const updateFocusVisibleState = useCallback(() => {\n setFocusVisible(state.current.isFocused && state.current.isFocusVisible);\n }, []);\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n state.current.isFocused = focused;\n setFocused(focused);\n updateFocusVisibleState();\n },\n [updateFocusVisibleState]\n );\n\n useFocusVisibleListener(\n (focusVisible) => {\n state.current.isFocusVisible = focusVisible;\n updateFocusVisibleState();\n },\n [],\n { isTextInput }\n );\n\n const { focusProps } = useFocus({\n isDisabled: within,\n onFocusChange: handleFocusChange,\n });\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: handleFocusChange,\n });\n\n return {\n isFocused,\n isFocusVisible,\n focusProps: within ? focusWithinProps : focusProps,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useGlobalListeners } from './useGlobalListeners';\nimport { getOwnerDocument, nodeContains } from \"@necto/dom\";\nimport { useState, useMemo, useRef, useEffect, useCallback } from 'react';\n\nimport type { DOMAttributes, HoverEvent } from '@necto-react/types';\n\nexport interface HoverProps extends HoverEvent {\n isDisabled?: boolean;\n onHoverStart?: (event: HoverEvent) => void;\n onHoverEnd?: (event: HoverEvent) => void;\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface HoverResult {\n hoverProps: DOMAttributes;\n isHovered: boolean;\n}\n\n// See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useHover.ts#L33C1-L38C1\n// as well as https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nexport function setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nexport function useHover(props: HoverProps): HoverResult {\n const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;\n\n const [isHovered, setHovered] = useState(false);\n const state = useRef<{\n isHovered: boolean;\n ignoreEmulatedMouseEvents: boolean;\n pointerType: string;\n target: EventTarget | null;\n }>({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null,\n });\n\n const { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n const triggerHoverStart = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n currentState.pointerType = pointerType;\n\n if (\n isDisabled ||\n pointerType === 'touch' ||\n currentState.isHovered ||\n !event.currentTarget.contains(event.target)\n ) {\n return;\n }\n\n currentState.isHovered = true;\n currentState.target = event.currentTarget;\n\n addGlobalListener(\n getOwnerDocument(event.target),\n 'pointerover',\n (e: any) => {\n if (\n currentState.isHovered &&\n currentState.target &&\n !nodeContains(currentState.target, e.target as Element)\n ) {\n triggerHoverEnd(e, e.pointerType);\n }\n },\n { capture: true }\n );\n\n onHoverStart?.({\n type: 'hoverstart',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(true);\n setHovered(true);\n },\n [isDisabled, onHoverStart, onHoverChange, addGlobalListener]\n );\n\n const triggerHoverEnd = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n\n if (pointerType === 'touch' || !currentState.isHovered || !currentState.target) {\n return;\n }\n\n currentState.isHovered = false;\n currentState.pointerType = '';\n currentState.target = null;\n\n removeAllGlobalListeners();\n\n onHoverEnd?.({\n type: 'hoverend',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(false);\n setHovered(false);\n },\n [onHoverEnd, onHoverChange, removeAllGlobalListeners]\n );\n\n const hoverProps = useMemo(() => {\n const props: DOMAttributes = {\n onMouseLeave: () => {},\n onMouseEnter: () => {},\n onTouchStart: () => {},\n onPointerLeave: () => {},\n onPointerEnter: () => {},\n };\n\n if (typeof PointerEvent !== 'undefined') {\n props.onPointerEnter = (e: any) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n props.onPointerLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n props.onTouchStart = () => {\n state.current.ignoreEmulatedMouseEvents = true;\n };\n props.onMouseEnter = (e: any) => {\n if (\n !state.current.ignoreEmulatedMouseEvents &&\n !globalIgnoreEmulatedMouseEvents\n ) {\n triggerHoverStart(e, 'mouse');\n }\n state.current.ignoreEmulatedMouseEvents = false;\n };\n props.onMouseLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n\n return props;\n }, [isDisabled, triggerHoverStart, triggerHoverEnd]);\n\n useEffect(() => {\n if (isDisabled && state.current.isHovered) {\n triggerHoverEnd({ currentTarget: state.current.target }, state.current.pointerType);\n }\n }, [isDisabled, triggerHoverEnd]);\n\n return { hoverProps, isHovered };\n}"],"names":["DisabledContext","createContext","useDisabledFlags","useContext","useDisabled","type","defaultFallback","useDisabledProps","extraProps","isDisabled","useMemo","props","onClick","onChange","disabled","DisabledProvider","value","children","createElement","Provider","useEffectEvent","fn","fnRef","useRef","document","useLayoutEffect","current","useCallback","args","createSyntheticEvent","nativeEvent","event","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","useSyntheticBlurEvent","onBlur","stateRef","isFocused","observer","state","disconnect","dispatchBlur","e","target","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","addEventListener","once","MutationObserver","relatedTargetEl","activeElement","dispatchEvent","FocusEvent","relatedTarget","bubbles","observe","attributes","attributeFilter","nodeType","t","Node","DOCUMENT_FRAGMENT_NODE","n","o","contains","r","Element","tagName","assignedSlot","parentNode","host","shadowRoot","composedPath","i","ownerDocument","a","window","defaultView","useFocus","onFocus","onFocusProp","onBlurProp","onFocusChange","handleFocusChange","currentTarget","onSyntheticFocus","getOwnerDocument","getActiveElement","getEventTarget","focusProps","useGlobalListeners","globalListeners","Map","addGlobalListener","eventTarget","listener","options","wrappedListener","delete","set","removeGlobalListener","storedListener","get","removeEventListener","removeAllGlobalListeners","forEach","clear","useEffect","useFocusWithin","onFocusWithin","onBlurWithin","onFocusWithinChange","isFocusWithin","nodeContains","Object","defineProperty","capture","focusWithinProps","undefined","isMac","re","navigator","test","userAgentData","platform","testPlatform","p","Set","f","Tab","Escape","hasSetupGlobalListeners","hasEventBeforeFocus","hasBlurredWindowRecently","currentModality","changeHandlers","triggerChangeHandlers","modality","handler","handleKeyboardEvent","metaKey","altKey","ctrlKey","includes","key","handlePointerEvent","handleFocusEvent","isTrusted","handleWindowBlur","setupGlobalFocusEvents","element","windowObject","getOwnerWindow","documentObject","has","originalFocus","HTMLElement","prototype","focus","apply","this","PointerEvent","addWindowFocusTracking","readyState","tearDownGlobalFocusEvents","getInteractionModality","useFocusVisibleListener","deps","opts","d","c","s","l","u","KeyboardEvent","isContentEditable","isKeyboardFocusEvent","isTextInput","add","useFocusRing","within","autoFocus","isFocusVisible","setFocused","useState","setFocusVisible","updateFocusVisibleState","focused","focusVisible","globalIgnoreEmulatedMouseEvents","setGlobalIgnoreEmulatedMouseEvents","setTimeout","useHover","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","pointerType","triggerHoverStart","currentState","triggerHoverEnd","hoverProps","onMouseLeave","onMouseEnter","onTouchStart","onPointerLeave","onPointerEnter"],"mappings":";;;;;;;;8JAqBA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIA,EAAkBC,CAA6B,CAAA,IAE5C,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACd,OAAOC,CAAWH,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,CACxC,CAAA,CAEO,SAASI,CACdC,CAAAA,CAAAA,CAA4B,UAC5BC,CAA2B,CAAA,CAAA,CAAA,CAAA,CAG3B,OADcH,CAAWH,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,CAAA,CAChCK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CACxB,CAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,EAAiBF,CAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWG,EAA0C,CAAE,CAAA,CAAA,CAClH,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAaL,CAAYC,CAAAA,CAAAA,CAAAA,CAE/B,OAAOK,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACb,IAAIC,CAAqC,CAAA,CAAA,CAAA,CAAA,CACpCH,GAWL,CARIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACFE,EAAQ,CACHA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC+B,mBAAvBH,CAAWI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAyD,mBAAxBJ,CAAWK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA0B,CAAEC,CAAUL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,CAAE,CACzH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiBA,IAIdE,CACN,CAAA,CAAA,CAAA,CAACF,EAAYD,CAClB,CAAA,CAAA,CAEO,SAASO,CAAiBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC/BA,EAAKC,CACLA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEA,OAAOC,CACLlB,CAAAA,CAAAA,CAAgBmB,SAChB,CAAEH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOA,GAAS,CAAA,CAAA,CAAA,CAClBC,CAEJ,CAAA,CCpDO,CAASG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkDC,GAChE,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAQC,EAAOF,CAUrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAPqB,oBAAbG,CAA2BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,SACnD,CACEH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMI,QAAUL,CAAAA,CAAAA,CAAAA,CAElB,CAACA,CAGIM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,IAAIC,CACfN,CAAAA,CAAAA,CAAAA,CAAAA,CAAMI,WAAWE,CACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CCAO,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA+CC,GAM7D,CALcA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACRA,YAAcA,CACpBC,CAAAA,CAAAA,CAAMC,mBAAqB,CAFbF,CAAAA,CAAAA,CAAAA,CAAAA,CAEyBG,iBAFzBH,CAGRI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,IAAMJ,CAAeK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAClDJ,EAAMK,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAJFN,CAMhB,CAQO,CAASO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACdC,GAEA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAWhB,EAGd,CACDiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,EACXC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIZhB,GAAgB,CACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMiB,EAAQH,CAASb,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACvB,MAAO,CACDgB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMD,WACRC,CAAMD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASE,CACfD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMD,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAErB,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAGH,IAAMG,CAAexB,CAAAA,CAAAA,CAAAA,CAAgByB,IACnCP,CAASO,CAAAA,CAAAA,CAAAA,CAAAA,CACX,IAGA,CAAOlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYkB,IACjB,CACEA,CAAAA,CAAAA,CAAAA,CAAEC,kBAAkBC,CACpBF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,kBAAkBE,CACpBH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,CAAkBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACpBJ,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkBI,kBACpB,CACAX,CAAAA,CAASb,QAAQc,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAE7B,IAAMM,CAASD,CAAAA,CAAAA,CAAEC,OAkBjBA,CAAOK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,YAjBmCpB,CACzDQ,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,QAAQc,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEzBM,EAAOhC,CAGT8B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CADuBf,EAA8CE,CAKnEQ,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,QAAQe,CACnBF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,QAAQe,CAASE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1BJ,EAASb,CAAQe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,KAAA,CAKmB,CAAA,CAAA,CAAEW,MAAM,CAG3Db,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,QAAQe,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIY,kBAAiB,CAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAId,CAASb,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQc,CAAaM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOhC,SAAU,CACjDyB,CAAAA,CAASb,QAAQe,CAAUE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC3B,IAAMW,CAAkBR,CAAAA,CAAAA,CAAAA,CAAAA,CAAWtB,SAAS+B,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO/B,SAAS+B,CAC5ET,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOU,cAAc,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,OAAQ,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeJ,CAC7DR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOU,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIC,WAAW,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAEE,SAAS,CAAMD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeJ,IAClF,CAIFf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASb,QAAQe,CAASmB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQd,EAAQ,CAAEe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,EAAMC,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,aAClF,CACC,CAAA,CAAA,CAAA,CAAClB,CACN,CAAA,CAAA,CChHA,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,GAAG,CAAkE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWA,GAAG,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOA,GAAG,CAAiBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAG,aAAaA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiBA,EAAEkB,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAzJC,CAAEnB,CAAIA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEkB,WAAWE,CAAKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAwB,SAASrB,CAAC,CAAgG,SAASsB,CAAEH,CAAAA,CAAAA,CAAEG,EAAEC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,IAAIJ,CAAIG,CAAAA,CAAAA,CAAAA,CAAAA,CAAE,OAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAIC,EAAE,CAAOJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEK,SAASF,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIG,EAAEH,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKG,CAAG,CAAA,CAAA,CAAC,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIN,EAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGM,EAAEA,CAAaC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,SAASD,CAAEE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASF,EAAEG,CAAaH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEG,aAAaC,CAAW7B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEyB,GAAGA,CAAEK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAKL,EAAEI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAIN,EAAE,CAACvB,CAAAA,CAAErB,SAASwC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAIA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOnB,EAAEU,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIY,EAAEtB,CAAEU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,KAAKY,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAeA,GAAGA,CAAES,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYrB,CAAeY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAES,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWrB,cAAc,CAAOY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAG,CAASG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEzB,EAAEmB,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,OAAOA,CAAGnB,CAAAA,CAAAA,CAAAA,CAAEC,OAAO8B,CAAY/B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEgC,aAAahC,CAAEgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe,GAAGhC,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAC,CAAIgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAEjC,GAAGA,CAAGkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAevD,SAASwD,CAAEnC,CAAAA,CAAAA,CAAAA,CAAOA,GAAG,CAAWA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGA,EAAEoC,CAASpC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASA,EAASiC,CAAEjC,CAAAA,CAAAA,CAAAA,CAAGqC,aAAaD,CC8B3vB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASE,EAA6DxE,CAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMF,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY2E,CAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa/C,OAAQgD,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,GAAkB5E,CAG1E6E,CAAAA,CAAAA,CAAoB7D,GACxB,CAACa,CAAAA,CAAoBK,KACfL,CACF6C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcxC,GACd0C,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEhBD,IAAazC,CACb0C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,GAEpB,CACA,CAAA,CAAA,CAACF,CAAaC,CAAAA,CAAAA,CAAYC,CAItBjD,CAAAA,CAAAA,CAAAA,CAAAA,CAASX,GACbkB,CACMA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,SAAWD,CAAE4C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjBD,GAAkB,CAAO3C,CAAAA,CAAAA,IAG7B,CAAC2C,CAAAA,CAAAA,CAAAA,CAIGE,EAAmBrD,CAA8BC,CAAAA,CAAAA,CAAAA,CAGjD8C,EAAUzD,CACbkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACC,IAAMkC,CAAgBY,CAAAA,CAAAA,CAAiB9C,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACnCS,CAAgBwB,CAAAA,CAAAA,CAAgBa,EAAiBb,CAAiBa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACpE/C,EAAEC,CAAWD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAE4C,eAAiBlC,CAAkBsC,CAAAA,CAAAA,CAAAA,CAAAA,CAAehD,EAAEf,CACrE0D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,EAAM3C,CACxB6C,CAAAA,CAAAA,CAAAA,CAAiB7C,GAErB,CACA,CAAA,CAAA,CAAC2C,EAAmBE,CAItB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CACLI,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACNrF,EAAa,CAAA,CAAA,CAAK,CAAE2E,CAAS9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGvC,CC9BA,CAASyD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACP,IAAMC,CAAkBzE,CAAAA,CAAAA,CAAyI,IAAI0E,CAE/JC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoBvE,GACxB,CAACwE,CAAAA,CAA0B9F,EAAc+F,CAA8CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrF,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,CAAOD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAwBA,GAASjD,CAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIxB,KACFoE,CAAgBtE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ6E,OAAOH,CAC9BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA8BxE,EACjC,CACAwE,CAAAA,CAAAA,CAEJJ,EAAgBtE,CAAQ8E,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAIJ,EAAU,CAAE/F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM8F,cAAaE,CAC3DF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYhD,CAAiB9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMiG,CAAiBD,CAAAA,CAAAA,CAAAA,GAEtD,CAGII,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB9E,GAC3B,CAACwE,CAAAA,CAA0B9F,EAAc+F,CAA8CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACrF,IAAMK,CAAiBV,CAAAA,CAAAA,CAAgBtE,QAAQiF,CAAIP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC7C/E,EAAKqF,CAAgBL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASjD,KAAOsD,CAAerF,CAAAA,CAAAA,CAAAA,CAAK+E,CAE/DD,CAAAA,CAAAA,CAAYS,CAAoBvG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMgB,EAAqBgF,CAC3DL,CAAAA,CAAAA,CAAAA,CAAgBtE,QAAQ6E,CAAOH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAEjC,CAGIS,CAAAA,CAAAA,CAAAA,CAAAA,CAA2BlF,GAAY,CAC3CqE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBtE,QAAQoF,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGzG,OAAM8F,CAAaE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoGD,KACxJD,CAAYS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoBvG,EAAM+F,CAA2BC,CAAAA,CAAAA,KAEnEL,CAAgBtE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQqF,OAAK,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAMH,OAJAC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CACD,IAAMH,CACZ,CAAA,CAAA,CAAA,CAAA,CAACA,IAEG,CAAEX,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBO,uBAAsBI,CACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CCxDO,SAASI,CAAetG,CAAAA,CAAAA,CAAAA,CAC7B,CAAIF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAUyG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,EAAaC,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,oBAAEA,CAAwBzG,CAAAA,CAAAA,CAAAA,CACnE+B,EAAQnB,CAAO,CAAA,CAAE8F,eAAe,CAChCnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,EAAiBW,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA6Bd,IAElDzD,CAASX,CAAAA,CAAAA,CAAAA,CAAaI,IACnBA,CAAM0D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcpB,CAAStC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMe,CAEpCJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMhB,QAAQ2F,CAAmBtF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM0D,cAA0BpB,CAAStC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM2B,iBAClFhB,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ2F,eAAgB,CAC9BR,CAAAA,CAAAA,CAAAA,CAAAA,CAEIM,GAAcA,CAAapF,CAAAA,CAAAA,CAAAA,CAC3BqF,GAAqBA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAEjD,GAAG,CAACD,CAAAA,CAAcC,CAAqB1E,CAAAA,CAAAA,CAAOmE,CAE1CnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBrD,EAAsBC,CACzC8C,CAAAA,CAAAA,CAAAA,CAAUzD,GAAaI,CACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKA,EAAM0D,CAAcpB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAStC,EAAMe,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEjD,IAAMiC,CAAgBY,CAAAA,CAAAA,CAAiB5D,EAAMe,CACvCS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBqC,EAAiBb,CAEvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAKrC,EAAMhB,CAAQ2F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB9D,GAAiBsC,CAAe9D,CAAAA,CAAAA,CAAMD,aAAc,CAClFoF,CAAAA,CAAAA,CAAeA,EAAcnF,CAC7BqF,CAAAA,CAAAA,CAAAA,CAAAA,CAAqBA,GAAoB,CAE7C1E,CAAAA,CAAAA,CAAAA,CAAMhB,QAAQ2F,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC9B3B,EAAiB3D,CAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI0D,EAAgB1D,CAAM0D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC1BS,CAAkBnB,CAAAA,CAAAA,CAAe,CAASlC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACxC,GAAIH,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ2F,gBAAkBC,CAAa7B,CAAAA,CAAAA,CAAe5C,EAAEC,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpF,IAAIhB,CAAc,CAAA,CAAA,CAAA,CAAA,CAAIiD,EAAcG,CAAazB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,OAAQ,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeb,EAAEC,CACtFyE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,CAAe1F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACd,MAAOyE,CACrD8B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOC,eAAe1F,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAACd,CAAOyE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAE5DnD,EADYT,CAAsCC,CAAAA,CAAAA,CAAAA,CAEpD,IACC,CAAC2F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,GACf,CACE,CAAA,CAAA,CAAA,CAACP,EAAeE,CAAqB1B,CAAAA,CAAAA,CAAkBQ,CAAmB5D,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAErF7B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACS,CACLiH,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChBtC,aAASuC,CACTrF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQqF,IAKP,CACLD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,CAChBtC,CACA9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGN,CC9EO,CAAMsF,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,WACnB,CARF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsBC,GACpB,CAAc5C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,KAAmC,CAApBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO6C,WAE3CD,CAAGE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK9C,OAAO6C,CAAUE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkBC,UAAYhD,CAAO6C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUG,SAE9E,CAGSC,CAAa,QACtB,CCjB4PC,CAAAA,CAAAA,CAAE,IAAIC,CAAI,CAAA,CAAA,CAAA,CAAC,WAAW,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAS,CAAUC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAE,CAACC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAGC,QAAO,CCyBtW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAA0B,CAAIvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAChCwC,GAAsB,CACtBC,CAAAA,CAAAA,CAAAA,CAA2B,EAC3BC,CAAmC,CAAA,CAAA,CAAA,CAAA,CAAA,CACjCC,EAAiB,CAAIR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAI3B,CAASS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsBC,CAAoBjG,CAAAA,CAAAA,CAAAA,CACjD+F,EAAe9B,CAAQiC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaA,EAAQD,CAAUjG,CAAAA,CAAAA,CAAAA,CAAAA,CACxD,CAWA,CAASmG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoBnG,GARpBA,CACHoG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACArB,KAAW/E,CAAEqG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAOFrG,EANXsG,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,UAAW,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQC,CAASvG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEwG,CAMxCZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,EACtBE,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClBE,EAAsB,CAAYhG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEtC,CAEA,CAASyG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBzG,GACtB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,eAAeuG,CAASvG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAExC,QAC1CoI,CAAsB,CAAA,CAAA,CAAA,CACtBE,EAAkB,CAClBE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,UAAWhG,CAErC,CAAA,CAAA,CAEA,SAAS0G,CAAiB1G,CAAAA,CAAAA,CAAAA,CAAAA,CAEtB,CAACoC,CAAQzD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU4H,SAASvG,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC7BD,EAAE2G,CACFf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAyBC,KAKvBD,CAAwBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC3BC,EAAkB,CAClBE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,UAAWhG,CAGnC4F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,CACtBC,CAAAA,CAAAA,CAAAA,CAA2B,CAC7B,CAAA,CAEA,SAASe,CACPhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,EACtBC,CAA2B,CAAA,CAAA,CAC7B,CAEA,CAASgB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAuBC,GAC9B,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAeC,EAAeF,CAC9BG,CAAAA,CAAAA,CAAAA,CAAiBnE,EAAiBgE,CAExC,CAAA,CAAA,CAAA,CAAA,CACoB,oBAAX1E,CACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOzD,CACPgH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAwBuB,CAAIH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAE5B,OAGF,CAAMI,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBJ,EAAaK,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,MACzDP,CAAaK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYC,UAAUC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAavI,GACtD6G,CAAsB,CAAA,CAAA,CAAA,CACtBuB,EAAcI,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMzI,EAC5B,CAEAkI,CAAAA,CAAAA,CAAe3G,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW6F,CAAqB,CAAA,CAAA,CAAA,CAAA,CAChEc,EAAe3G,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASmG,GAAoB,CAC7DM,CAAAA,CAAAA,CAAAA,CAAazG,iBAAiB,CAASoG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkB,GACzDK,CAAazG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,OAAQsG,CAAkB,CAAA,CAAA,CAAA,CAAA,CAEpD,oBAAOa,CACTR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe3G,iBAAiB,CAAemG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,GAGrEd,CAAwBhC,CAAAA,CAAAA,CAAAA,CAAAA,CAAIoD,EAAc,CAAEO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAOH,GACrD,CAmBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASO,EAAuBZ,CACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMG,EAAiBnE,CAAiBgE,CAAAA,CAAAA,CAAAA,CAUxC,MARkC,CAA9BG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAeU,WACjBd,CAAuBC,CAAAA,CAAAA,CAAAA,CAEvBG,EAAe3G,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAClDuG,CAAAA,CAAAA,CAAAA,CAAAA,CAAuBC,CAIpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMc,SA5BoBd,CACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,EAAeC,CAAeF,CAAAA,CAAAA,CAAAA,CAC9BG,EAAiBnE,CAAiBgE,CAAAA,CAAAA,CAAAA,CAExC,IAAKnB,CAAwBuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAIH,GAAe,CAEhD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMO,MAAEA,CAAU3B,CAAAA,CAAAA,CAAAA,CAAwB7B,IAAIiD,CAC9CA,CAAAA,CAAAA,CAAAA,CAAaK,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,CAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAE3CL,EAAelD,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWoC,GAAqB,CACnEc,CAAAA,CAAAA,CAAAA,CAAelD,oBAAoB,CAAS0C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,GAChEM,CAAahD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoB,QAAS2C,CAAkB,CAAA,CAAA,CAAA,CAAA,CAC5DK,EAAahD,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ6C,GAAkB,CAE3DjB,CAAAA,CAAAA,CAAAA,CAAwBjC,CAAOqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACjC,CAaea,CAA0Bd,EACzC,CAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASe,IACd,CAAO/B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACT,CAEO,CAASgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACdtJ,EACAuJ,CACAC,CAAAA,CAAAA,CAAAA,CAEAnB,IAEA1C,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,IAAM+B,CAAmB,CAAA,CAACD,EAAUjG,CD9JkU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWA,EAAEyB,CAAEN,CAAAA,CAAAA,CAAAA,CAAG,IAAIA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWA,KAAKA,CAAElB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,OAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAIkC,EAAE8F,CAAE9G,CAAAA,CAAAA,CAAElB,QAAQsB,CAAE2G,CAAAA,CAAAA,CAAE/G,EAAElB,CAAQgC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASG,OAAO,CAAIb,CAAAA,CAAAA,CAAAA,CAAAA,CAAEpB,CAAiBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiBgI,CAAS/F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,IAAIb,CAAEnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoBA,oBAAoBgI,CAAShG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,IAAIb,CAAE6F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYA,YAAYiB,CAASjG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,IAAIb,CAAE+G,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcA,cAAchH,CAAEa,CAAAA,CAAAA,CAAEzB,cAAc,CAAOV,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAGsB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaW,CAAIqD,CAAAA,CAAAA,CAAAA,CAAAA,CAAE4B,IAAI5F,CAAE9D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO8D,aAAa6G,CAAG7G,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa8G,GAAG9G,CAAEiH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA2B,aAAJ9G,CAAgBN,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAakH,IAAI7C,CAAErE,CAAAA,CAAAA,CAAEqF,KAAK,CC+JnzBgC,CAAAA,CAAAA,CAAAA,CAAuBR,GAAMS,CAAaxC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUjG,CACzDxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,CAApBsH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACL,EAGA,CADAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAe2C,IAAIxC,CACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACLH,EAAerC,CAAOwC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACxB,CAAA,CACC6B,CAAAA,CAAAA,CAAAA,CACL,CCnIO,CAASY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaC,OAC3BA,CAAS,CAAA,CAAA,CAAA,CAAKH,YACdA,CAAc,CAAA,CAAA,CAAA,CAAKI,UACnBA,CAAY,CAAA,CAAA,CAAA,CAAA,CACM,EAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMhJ,EAAQnB,CAAO,CAAA,CACnBiB,WAAW,CACXmJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBD,IAAa/C,CAGxBnG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAWoJ,GAAcC,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAClCF,EAAgBG,CAAmBD,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,IAAMnJ,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQc,CAAaE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMhB,CAAQiK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAE5FI,EAA0BpK,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1CmK,EAAgBpJ,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQc,WAAaE,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQiK,eAC3D,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAEGnG,EAAoB7D,CACxBqK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACEtJ,EAAMhB,CAAQc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYwJ,EAC1BJ,CAAWI,CAAAA,CAAAA,CAAAA,CACXD,MAEF,CAACA,CAAAA,CAAAA,CAAAA,CAGHpB,GACEsB,CACEvJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAMhB,QAAQiK,CAAiBM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC/BF,IAEF,CAAA,CAAA,CAAA,CAAA,CACA,CAAET,CAGJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMxF,WAAEA,CAAeX,CAAAA,CAAAA,CAAAA,CAAS,CAC9B1E,CAAYgL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACZlG,cAAeC,CAGXkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,CAAqBT,CAAAA,CAAAA,CAAAA,CAAe,CAC1CxG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAagL,EACbrE,CAAqB5B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAGvB,MAAO,CACLhD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAmJ,iBACA7F,CAAY2F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS/D,EAAmB5B,CAE5C,CAAA,CCpDA,IAAIoG,CAAkC,CAAA,CAAA,CAAA,CAG/B,SAASC,CACdD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkC,EAElCE,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACTF,GAAkC,CAAA,CAAA,CAAA,CACjC,GACL,CAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASG,EAAS1L,CACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM2L,aAAEA,CAAYC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,EAAaC,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU/L,WAAEA,CAAeE,CAAAA,CAAAA,CAAAA,CAAAA,CAEzD8L,EAAWC,CAAcb,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,GACnCnJ,CAAQnB,CAAAA,CAAAA,CAKX,CACDkL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CACXE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA2B,EAC3BC,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACb9J,OAAQ,CAGJoD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEA,EAAiBW,CAAEA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA6Bd,IAElD8G,CAAoBlL,CAAAA,CAAAA,CAAAA,CACxB,CAACI,CAAY6K,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACX,IAAME,CAAepK,CAAAA,CAAAA,CAAMhB,QAC3BoL,CAAaF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcA,CAGzBnM,CAAAA,CAAAA,CAAAA,CAAAA,CACgB,CAAhBmM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACAE,EAAaL,CACZ1K,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM0D,cAAcpB,CAAStC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMe,UAKtCgK,CAAaL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,EACzBK,CAAahK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASf,EAAM0D,CAE5BS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACEP,EAAiB5D,CAAMe,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACvB,eACCD,CAEGiK,CAAAA,CAAAA,CAAAA,CAAAA,CAAaL,CACbK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAahK,CACZwE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAawF,EAAahK,CAAQD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,SAErCiK,CAAgBlK,CAAAA,CAAAA,CAAGA,EAAE+J,CAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAEnF,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGb6E,IAAe,CACbjM,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,aACNyC,CAAQf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM0D,cACdmH,CAGFL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,GAChBG,CAAW,CAAA,CAAA,CAAA,CAAA,IAEb,CAACjM,CAAAA,CAAY6L,EAAcC,CAAerG,CAAAA,CAAAA,CAAAA,CAAAA,CAGtC6G,EAAkBpL,CACtB,CAAA,CAAA,CAACI,EAAY6K,CACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAME,EAAepK,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEP,UAAhBkL,CAA4BE,CAAAA,CAAAA,CAAAA,CAAaL,WAAcK,CAAahK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAIxEgK,CAAaL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CACzBK,CAAAA,CAAAA,CAAaF,YAAc,CAC3BE,CAAAA,CAAAA,CAAAA,CAAahK,OAAS,CAEtB+D,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEA2F,IAAa,CACXnM,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,WACNyC,CAAQf,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM0D,cACdmH,CAGFL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,GAChBG,CAAW,CAAA,CAAA,CAAA,CAAA,IAEb,CAACF,CAAAA,CAAYD,CAAe1F,CAAAA,CAAAA,CAAAA,CAAAA,CAGxBmG,CAAatM,CAAAA,CAAAA,CAAAA,CAAQ,KACzB,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,CAC3BsM,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACdC,aAAc,CACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,OACdC,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChBC,eAAgB,CAiClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA9B4B,oBAAjB/C,CACT3J,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM0M,eAAiBxK,CACjBqJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqD,CAAlBrJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAE+J,CACzCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAkBhK,EAAGA,CAAE+J,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,EAEpCjM,CAAMyM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiBvK,KAChBpC,CAAcoC,CAAAA,CAAAA,CAAAA,CAAE4C,cAAcpB,CAASxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,SAC5CiK,CAAgBlK,CAAAA,CAAAA,CAAGA,EAAE+J,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIpCjM,EAAMwM,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnBzK,EAAMhB,CAAQiL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4B,CAAA,CAE5ChM,CAAAA,CAAAA,CAAMuM,aAAerK,CAEjBH,CAAAA,CAAAA,CAAAA,CAAAA,CAAOhB,QAAQiL,CACdT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEDW,EAAkBhK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEvBH,EAAMhB,CAAQiL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAA4B,EAE5ChM,CAAAA,CAAAA,CAAMsM,aAAepK,CACdpC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcoC,CAAE4C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAcpB,CAASxB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAEC,SAC5CiK,CAAgBlK,CAAAA,CAAAA,CAAG,QAEvB,CAGKlC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACN,CAACF,CAAYoM,CAAAA,CAAAA,CAAmBE,IAQnC,CANA/F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,KACJvG,CAAciC,CAAAA,CAAAA,CAAAA,CAAMhB,QAAQ+K,CAC9BM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,CAAEtH,CAAe/C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAMhB,CAAQoB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUJ,CAAMhB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQkL,YAE3E,CAAG,CAAA,CAAA,CAACnM,EAAYsM,CAET,CAAA,CAAA,CAAA,CAAEC,aAAYP,CACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/useDisabled.ts","../src/useEffectEvent.ts","../src/useSyntheticBlurEvent.ts","../../necto-dom/dist/index.mjs","../src/useFocus.ts","../src/useGlobalListeners.ts","../src/useFocusWithin.ts","../../necto-platform/dist/index.mjs","../../necto-react-helpers/dist/index.js","../src/useFocusVisibleListener.ts","../src/useFocusRing.ts","../src/useHover.ts"],"sourcesContent":["/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { createContext, createElement, useContext, useMemo } from \"react\";\n\nimport type { HTMLAttributes, PropsWithChildren } from \"react\";\n\ntype DisabledFlags = {\n general?: boolean;\n form?: boolean;\n interactions?: boolean;\n [key: string]: boolean | undefined;\n};\n\nlet DisabledContext = createContext<DisabledFlags>({});\n\nexport function useDisabledFlags(): DisabledFlags {\n return useContext(DisabledContext) || {};\n};\n\nexport function useDisabled(\n type: keyof DisabledFlags = 'general',\n defaultFallback: boolean = false\n): boolean {\n const flags = useContext(DisabledContext) || {};\n return flags[type] ?? defaultFallback;\n}\n\nexport function useDisabledProps(type: keyof DisabledFlags = 'general', extraProps: HTMLAttributes<HTMLElement> = {}): HTMLAttributes<HTMLElement> {\n const isDisabled = useDisabled(type);\n\n return useMemo(() => {\n let props: HTMLAttributes<HTMLElement> = {\n ...extraProps\n };\n\n if (isDisabled) {\n props = {\n ...props,\n ...(typeof extraProps.onClick === 'function' || typeof extraProps.onChange === 'function' ? { disabled: isDisabled } : {}),\n 'aria-disabled': isDisabled\n };\n }\n\n return props;\n }, [isDisabled, extraProps]);\n};\n\nexport function DisabledProvider({\n value,\n children,\n}: PropsWithChildren<{ value?: DisabledFlags }>) {\n return createElement(\n DisabledContext.Provider,\n { value: value || {} },\n children\n );\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { useCallback, useRef, useLayoutEffect} from \"react\";\n\nexport function useEffectEvent<T extends (...args: any[]) => any>(fn: T): T {\n const fnRef = useRef(fn);\n\n // Inline SSR-safe useLayoutEffect\n (typeof document !== \"undefined\" ? useLayoutEffect : () => {})(\n () => {\n fnRef.current = fn;\n },\n [fn]\n );\n\n return useCallback(((...args: Parameters<T>): ReturnType<T> => {\n return fnRef.current(...args);\n }) as T, []);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffectEvent } from \"./useEffectEvent\";\nimport { useRef, useCallback, useLayoutEffect } from 'react';\nimport type { FocusEvent as ReactFocusEvent, SyntheticEvent } from 'react';\n\n/**\n * Creates a synthetic React event from a native DOM event.\n * This is used to maintain compatibility with React's event system.\n * \n * @param nativeEvent - The original native DOM event.\n * @returns The synthetic React event.\n */\nexport function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Event): E {\n const event = nativeEvent as unknown as E;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = () => event.defaultPrevented;\n event.isPropagationStopped = () => (event as any).cancelBubble; // Deprecated but widely supported.\n event.persist = () => {}; // No-op for compatibility with React's synthetic event system.\n return event;\n}\n\n/**\n * Custom React hook to handle synthetic blur events, particularly for disabled elements.\n * \n * @param onBlur - Callback to handle the blur event.\n * @returns A callback to attach to the element's blur event.\n */\nexport function useSyntheticBlurEvent<Target extends Element = Element>(\n onBlur: (event: ReactFocusEvent<Target>) => void\n): (event: ReactFocusEvent<Target>) => void {\n const stateRef = useRef<{\n isFocused: boolean;\n observer: MutationObserver | null;\n }>({\n isFocused: false,\n observer: null,\n });\n\n // Cleanup effect to disconnect the MutationObserver when the component unmounts.\n useLayoutEffect(() => {\n const state = stateRef.current;\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n\n // Handler to dispatch the blur event using the provided callback.\n const dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {\n onBlur?.(e);\n });\n\n // Callback to handle the blur event logic.\n return useCallback((e: ReactFocusEvent<Target>) => {\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n stateRef.current.isFocused = true;\n\n const target = e.target;\n const onBlurHandler: EventListenerOrEventListenerObject = (event) => {\n stateRef.current.isFocused = false;\n\n if (target.disabled) {\n // Dispatch a synthetic React event for backward compatibility.\n const syntheticEvent = createSyntheticEvent<ReactFocusEvent<Target>>(event);\n dispatchBlur(syntheticEvent);\n }\n\n // Cleanup the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n\n // Add a one-time blur event listener.\n target.addEventListener('focusout', onBlurHandler, { once: true });\n\n // Set up a MutationObserver to monitor changes to the 'disabled' attribute.\n stateRef.current.observer = new MutationObserver(() => {\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n const relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', { relatedTarget: relatedTargetEl }));\n target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget: relatedTargetEl }));\n }\n });\n\n // Observe changes to the 'disabled' attribute of the target element.\n stateRef.current.observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });\n }\n }, [dispatchBlur]);\n}\n","function e(e){return t(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&\"host\"in e}function t(e){return null!==e&&\"object\"==typeof e&&\"nodeType\"in e&&\"number\"==typeof e.nodeType}function n(t,n,o=!0){if(!t||!n)return!1;if(!o)return t.contains(n);let r=n;for(;r;){if(r===t)return!0;r=r instanceof Element&&\"SLOT\"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:e(r)?r.host:r.parentNode}return!1}var o=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&\"shadowRoot\"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function r(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var i=e=>e?.ownerDocument??document,a=e=>{if(e&&\"window\"in e&&e.window===e)return e;return i(e).defaultView||window};export{o as getActiveElement,r as getEventTarget,i as getOwnerDocument,a as getOwnerWindow,t as isNode,n as nodeContains};","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback } from 'react';\nimport { useSyntheticBlurEvent } from \"./useSyntheticBlurEvent\";\nimport { getOwnerDocument, getEventTarget, getActiveElement } from \"@necto/dom\";\n\nimport type { FocusEvent as ReactFocusEvent } from 'react';\nimport type { DOMAttributes, FocusableElement, FocusEvent } from '@necto-react/types';\n\nexport interface FocusProps<Target = FocusableElement> extends FocusEvent<Target> {\n isDisabled?: boolean;\n}\n\nexport interface FocusResult<Target = FocusableElement> {\n focusProps: DOMAttributes<Target>\n}\n\nexport function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target> {\n const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;\n\n // Unified handler for focus change\n const handleFocusChange = useCallback(\n (isFocused: boolean, e: ReactFocusEvent<Target>) => {\n if (isFocused) {\n onFocusProp?.(e);\n onFocusChange?.(true);\n } else {\n onBlurProp?.(e);\n onFocusChange?.(false);\n }\n },\n [onFocusProp, onBlurProp, onFocusChange]\n );\n\n // Blur handler\n const onBlur = useCallback(\n (e: ReactFocusEvent<Target>) => {\n if (e.target === e.currentTarget) {\n handleFocusChange(false, e);\n }\n },\n [handleFocusChange]\n );\n\n // Synthetic focus handler\n const onSyntheticFocus = useSyntheticBlurEvent<Target>(onBlur);\n\n // Focus handler\n const onFocus = useCallback(\n (e: ReactFocusEvent<Target>) => {\n const ownerDocument = getOwnerDocument(e.target);\n const activeElement = ownerDocument ? getActiveElement(ownerDocument) : getActiveElement();\n if (e.target === e.currentTarget && activeElement === getEventTarget(e.nativeEvent)) {\n handleFocusChange(true, e);\n onSyntheticFocus(e);\n }\n },\n [handleFocusChange, onSyntheticFocus]\n );\n\n // Return focus props\n return {\n focusProps: {\n ...(isDisabled ? {} : { onFocus, onBlur }),\n } as DOMAttributes<Target>,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useEffect, useRef } from \"react\";\n\ninterface GlobalListeners {\n addGlobalListener<K extends keyof WindowEventMap | keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : K extends keyof DocumentEventMap ? DocumentEventMap[K] : never) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeGlobalListener<K extends keyof WindowEventMap & keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeAllGlobalListeners(): void;\n}\n\n/**\n * A hook that provides utilities for managing global event listeners.\n * It allows adding, removing, and cleaning up event listeners on global targets like `window` or `document`.\n */\nfunction useGlobalListeners(): GlobalListeners {\n const globalListeners = useRef<Map<EventListenerOrEventListenerObject, { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }>>(new Map());\n\n const addGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => {\n const wrappedListener = typeof options === 'object' && options?.once\n ? (...args: any[]) => {\n globalListeners.current.delete(listener);\n (listener as EventListener)(...args as [any]);\n }\n : listener;\n\n globalListeners.current.set(listener, { type, eventTarget, options });\n eventTarget.addEventListener(type, wrappedListener, options);\n },\n []\n );\n\n const removeGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => {\n const storedListener = globalListeners.current.get(listener);\n const fn = storedListener?.options?.once ? storedListener.fn : listener;\n\n eventTarget.removeEventListener(type, fn as EventListener, options);\n globalListeners.current.delete(listener);\n },\n []\n );\n\n const removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach(({ type, eventTarget, options }: { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }, listener: EventListener) => {\n eventTarget.removeEventListener(type, listener as EventListener, options);\n });\n globalListeners.current.clear();\n }, []);\n\n useEffect(() => {\n return () => removeAllGlobalListeners();\n }, [removeAllGlobalListeners]);\n\n return { addGlobalListener, removeGlobalListener, removeAllGlobalListeners };\n}\n\nexport { useGlobalListeners };","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useRef } from \"react\";\nimport { useGlobalListeners } from \"./useGlobalListeners\";\nimport { useSyntheticBlurEvent, createSyntheticEvent } from \"./useSyntheticBlurEvent\";\nimport { getActiveElement, getEventTarget, getOwnerDocument, nodeContains } from \"@necto/dom\";\n\nimport type { DOMAttributes } from \"@necto-react/types\";\nimport type { FocusEvent as ReactFocusEvent } from \"react\";\n\nexport interface FocusWithinProps {\n isDisabled?: boolean,\n onFocusWithin?: (e: ReactFocusEvent) => void,\n onBlurWithin?: (e: ReactFocusEvent) => void,\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\nexport interface FocusWithinResult {\n focusWithinProps: DOMAttributes\n}\n\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let { isDisabled, onFocusWithin, onBlurWithin, onFocusWithinChange } = props;\n let state = useRef({ isFocusWithin: false });\n let { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n let onBlur = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n if (state.current.isFocusWithin && !(event.currentTarget as Element).contains(event.relatedTarget as Element)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n\n if (onBlurWithin) onBlurWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]);\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n const ownerDocument = getOwnerDocument(event.target);\n const activeElement = getActiveElement(ownerDocument);\n\n if (!state.current.isFocusWithin && activeElement == getEventTarget(event.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(true);\n\n state.current.isFocusWithin = true;\n onSyntheticFocus(event);\n\n let currentTarget = event.currentTarget;\n addGlobalListener(ownerDocument, 'focus', e => {\n if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) {\n let nativeEvent = new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target});\n Object.defineProperty(nativeEvent, 'target', {value: currentTarget});\n Object.defineProperty(nativeEvent, 'currentTarget', {value: currentTarget});\n let event = createSyntheticEvent<ReactFocusEvent>(nativeEvent);\n onBlur(event);\n }\n }, {capture: true});\n }\n }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]);\n\n if (isDisabled) {\n return {\n focusWithinProps: {\n onFocus: undefined,\n onBlur: undefined\n } as DOMAttributes\n };\n }\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n } as unknown as DOMAttributes\n }\n}","function r(n){return typeof window<\"u\"&&window.navigator!=null?n.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}var e=function(){return r(/^Mac/i)};function o(n){return typeof window>\"u\"||window.navigator==null?!1:window.navigator.userAgentData?.brands.some(t=>n.test(t.brand))||n.test(window.navigator.userAgent)}var a=function(){return o(/Android/i)};export{a as isAndroid,e as isMac};\n//# sourceMappingURL=index.mjs.map","import{isAndroid as E}from\"@necto/platform\";function y(e){return e.mozInputSource===0&&e.isTrusted?!0:E()&&e.pointerType?e.type===\"click\"&&e.buttons===1:e.detail===0&&!e.pointerType}import{getOwnerDocument as d,getOwnerWindow as c}from\"@necto/dom\";var p=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]),f={Tab:!0,Escape:!0};function M(e,r,t){if(!t||!(\"target\"in t)||!t.target)return!1;let a=d(t.target),o=c(t.target),i=typeof window<\"u\"?o.HTMLInputElement:HTMLInputElement,s=typeof window<\"u\"?o.HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<\"u\"?o.HTMLElement:HTMLElement,u=typeof window<\"u\"?o.KeyboardEvent:KeyboardEvent,n=a.activeElement;return e=e||n instanceof i&&!p.has(n.type)||n instanceof s||n instanceof l&&n.isContentEditable,!(e&&r===\"keyboard\"&&t instanceof u&&!f[t.key])}export{M as isKeyboardFocusEvent,y as isVirtualClick};\n","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffect } from \"react\";\nimport { isMac } from \"@necto/platform\";\nimport { isKeyboardFocusEvent } from \"@necto-react/helpers\";\nimport { getOwnerWindow, getOwnerDocument } from \"@necto/dom\";\n\ntype Modality = \"keyboard\" | \"pointer\" | \"virtual\";\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\nexport type FocusVisibleHandler = (isFocusVisible: boolean) => void;\n\nconst hasSetupGlobalListeners = new Map<Window, { focus: () => void }>();\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\nlet currentModality: Modality | null = null;\nconst changeHandlers = new Set<Handler>();\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n changeHandlers.forEach((handler) => handler(modality, e));\n}\n\nfunction isValidKey(e: KeyboardEvent) {\n return !(\n e.metaKey ||\n (!isMac() && e.altKey) ||\n e.ctrlKey ||\n [\"Control\", \"Shift\", \"Meta\"].includes(e.key)\n );\n}\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n if (isValidKey(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n if ([\"mousedown\", \"pointerdown\"].includes(e.type)) {\n hasEventBeforeFocus = true;\n currentModality = \"pointer\";\n triggerChangeHandlers(\"pointer\", e);\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n if (\n [window, document].includes(e.target as any) ||\n !e.isTrusted ||\n (!hasEventBeforeFocus && !hasBlurredWindowRecently)\n ) {\n return;\n }\n\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\nfunction setupGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n hasSetupGlobalListeners.has(windowObject)\n ) {\n return;\n }\n\n const originalFocus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function (...args) {\n hasEventBeforeFocus = true;\n originalFocus.apply(this, args);\n };\n\n documentObject.addEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.addEventListener(\"click\", handlePointerEvent, true);\n windowObject.addEventListener(\"focus\", handleFocusEvent, true);\n windowObject.addEventListener(\"blur\", handleWindowBlur, false);\n\n if (typeof PointerEvent !== \"undefined\") {\n documentObject.addEventListener(\"pointerdown\", handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners.set(windowObject, { focus: originalFocus });\n}\n\nfunction tearDownGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (!hasSetupGlobalListeners.has(windowObject)) return;\n\n const { focus } = hasSetupGlobalListeners.get(windowObject)!;\n windowObject.HTMLElement.prototype.focus = focus;\n\n documentObject.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.removeEventListener(\"click\", handlePointerEvent, true);\n windowObject.removeEventListener(\"focus\", handleFocusEvent, true);\n windowObject.removeEventListener(\"blur\", handleWindowBlur, false);\n\n hasSetupGlobalListeners.delete(windowObject);\n}\n\nexport function addWindowFocusTracking(element?: HTMLElement | null): () => void {\n const documentObject = getOwnerDocument(element);\n\n if (documentObject.readyState !== \"loading\") {\n setupGlobalFocusEvents(element);\n } else {\n documentObject.addEventListener(\"DOMContentLoaded\", () =>\n setupGlobalFocusEvents(element)\n );\n }\n\n return () => tearDownGlobalFocusEvents(element);\n}\n\nexport function getInteractionModality(): Modality | null {\n return currentModality;\n}\n\nexport function useFocusVisibleListener(\n fn: FocusVisibleHandler,\n deps: ReadonlyArray<any>,\n opts?: { isTextInput?: boolean }\n): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n const handler: Handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn(currentModality !== \"pointer\");\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useFocus } from './useFocus';\nimport { useFocusWithin } from './useFocusWithin';\nimport { useCallback, useRef, useState } from 'react';\nimport { useFocusVisibleListener } from \"./useFocusVisibleListener\";\n\nimport type { DOMAttributes } from '@necto-react/types';\n\nexport type Modality = 'keyboard' | 'pointer' | 'virtual';\nlet currentModality: null | Modality = null;\n\nexport interface FocusRingProps {\n within?: boolean;\n isTextInput?: boolean;\n autoFocus?: boolean;\n}\n\nexport interface FocusRingResult {\n isFocused: boolean;\n isFocusVisible: boolean;\n focusProps: DOMAttributes;\n}\n\nexport function useFocusRing({\n within = false,\n isTextInput = false,\n autoFocus = false,\n}: FocusRingProps = {}): FocusRingResult {\n const state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || currentModality !== 'pointer',\n });\n\n const [isFocused, setFocused] = useState(false);\n const [isFocusVisible, setFocusVisible] = useState(() => state.current.isFocused && state.current.isFocusVisible);\n\n const updateFocusVisibleState = useCallback(() => {\n setFocusVisible(state.current.isFocused && state.current.isFocusVisible);\n }, []);\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n state.current.isFocused = focused;\n setFocused(focused);\n updateFocusVisibleState();\n },\n [updateFocusVisibleState]\n );\n\n useFocusVisibleListener(\n (focusVisible) => {\n state.current.isFocusVisible = focusVisible;\n updateFocusVisibleState();\n },\n [],\n { isTextInput }\n );\n\n const { focusProps } = useFocus({\n isDisabled: within,\n onFocusChange: handleFocusChange,\n });\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: handleFocusChange,\n });\n\n return {\n isFocused,\n isFocusVisible,\n focusProps: within ? focusWithinProps : focusProps,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useGlobalListeners } from './useGlobalListeners';\nimport { getOwnerDocument, nodeContains } from \"@necto/dom\";\nimport { useState, useMemo, useRef, useEffect, useCallback } from 'react';\n\nimport type { DOMAttributes, HoverEvent } from '@necto-react/types';\n\nexport interface HoverProps extends HoverEvent {\n isDisabled?: boolean;\n onHoverStart?: (event: HoverEvent) => void;\n onHoverEnd?: (event: HoverEvent) => void;\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface HoverResult {\n hoverProps: DOMAttributes;\n isHovered: boolean;\n}\n\n// See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useHover.ts#L33C1-L38C1\n// as well as https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nexport function setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nexport function useHover(props: HoverProps): HoverResult {\n const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;\n\n const [isHovered, setHovered] = useState(false);\n const state = useRef<{\n isHovered: boolean;\n ignoreEmulatedMouseEvents: boolean;\n pointerType: string;\n target: EventTarget | null;\n }>({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null,\n });\n\n const { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n const triggerHoverStart = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n currentState.pointerType = pointerType;\n\n if (\n isDisabled ||\n pointerType === 'touch' ||\n currentState.isHovered ||\n !event.currentTarget.contains(event.target)\n ) {\n return;\n }\n\n currentState.isHovered = true;\n currentState.target = event.currentTarget;\n\n addGlobalListener(\n getOwnerDocument(event.target),\n 'pointerover',\n (e: any) => {\n if (\n currentState.isHovered &&\n currentState.target &&\n !nodeContains(currentState.target, e.target as Element)\n ) {\n triggerHoverEnd(e, e.pointerType);\n }\n },\n { capture: true }\n );\n\n onHoverStart?.({\n type: 'hoverstart',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(true);\n setHovered(true);\n },\n [isDisabled, onHoverStart, onHoverChange, addGlobalListener]\n );\n\n const triggerHoverEnd = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n\n if (pointerType === 'touch' || !currentState.isHovered || !currentState.target) {\n return;\n }\n\n currentState.isHovered = false;\n currentState.pointerType = '';\n currentState.target = null;\n\n removeAllGlobalListeners();\n\n onHoverEnd?.({\n type: 'hoverend',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(false);\n setHovered(false);\n },\n [onHoverEnd, onHoverChange, removeAllGlobalListeners]\n );\n\n const hoverProps = useMemo(() => {\n const props: DOMAttributes = {\n onMouseLeave: () => {},\n onMouseEnter: () => {},\n onTouchStart: () => {},\n onPointerLeave: () => {},\n onPointerEnter: () => {},\n };\n\n if (typeof PointerEvent !== 'undefined') {\n props.onPointerEnter = (e: any) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n props.onPointerLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n props.onTouchStart = () => {\n state.current.ignoreEmulatedMouseEvents = true;\n };\n props.onMouseEnter = (e: any) => {\n if (\n !state.current.ignoreEmulatedMouseEvents &&\n !globalIgnoreEmulatedMouseEvents\n ) {\n triggerHoverStart(e, 'mouse');\n }\n state.current.ignoreEmulatedMouseEvents = false;\n };\n props.onMouseLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n\n return props;\n }, [isDisabled, triggerHoverStart, triggerHoverEnd]);\n\n useEffect(() => {\n if (isDisabled && state.current.isHovered) {\n triggerHoverEnd({ currentTarget: state.current.target }, state.current.pointerType);\n }\n }, [isDisabled, triggerHoverEnd]);\n\n return { hoverProps, isHovered };\n}"],"names":["DisabledContext","createContext","useDisabledFlags","useContext","useDisabled","type","defaultFallback","useDisabledProps","extraProps","isDisabled","useMemo","props","onClick","onChange","disabled","DisabledProvider","value","children","createElement","Provider","useEffectEvent","fn","fnRef","useRef","document","useLayoutEffect","current","useCallback","args","createSyntheticEvent","nativeEvent","event","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","useSyntheticBlurEvent","onBlur","stateRef","isFocused","observer","state","disconnect","dispatchBlur","e","target","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","addEventListener","once","MutationObserver","relatedTargetEl","activeElement","dispatchEvent","FocusEvent","relatedTarget","bubbles","observe","attributes","attributeFilter","nodeType","t","Node","DOCUMENT_FRAGMENT_NODE","n","o","contains","r","Element","tagName","assignedSlot","parentNode","host","shadowRoot","composedPath","i","ownerDocument","a","window","defaultView","useFocus","onFocus","onFocusProp","onBlurProp","onFocusChange","handleFocusChange","currentTarget","onSyntheticFocus","getOwnerDocument","getActiveElement","getEventTarget","focusProps","useGlobalListeners","globalListeners","Map","addGlobalListener","eventTarget","listener","options","wrappedListener","delete","set","removeGlobalListener","storedListener","get","removeEventListener","removeAllGlobalListeners","forEach","clear","useEffect","useFocusWithin","onFocusWithin","onBlurWithin","onFocusWithinChange","isFocusWithin","nodeContains","Object","defineProperty","capture","focusWithinProps","undefined","isMac","re","navigator","test","userAgentData","platform","testPlatform","p","Set","f","Tab","Escape","hasSetupGlobalListeners","hasEventBeforeFocus","hasBlurredWindowRecently","currentModality","changeHandlers","triggerChangeHandlers","modality","handler","handleKeyboardEvent","metaKey","altKey","ctrlKey","includes","key","handlePointerEvent","handleFocusEvent","isTrusted","handleWindowBlur","setupGlobalFocusEvents","element","windowObject","getOwnerWindow","documentObject","has","originalFocus","HTMLElement","prototype","focus","apply","this","PointerEvent","addWindowFocusTracking","readyState","tearDownGlobalFocusEvents","getInteractionModality","useFocusVisibleListener","deps","opts","d","c","s","l","u","KeyboardEvent","isContentEditable","isKeyboardFocusEvent","isTextInput","add","useFocusRing","within","autoFocus","isFocusVisible","setFocused","useState","setFocusVisible","updateFocusVisibleState","focused","focusVisible","globalIgnoreEmulatedMouseEvents","setGlobalIgnoreEmulatedMouseEvents","setTimeout","useHover","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","pointerType","triggerHoverStart","currentState","triggerHoverEnd","hoverProps","onMouseLeave","onMouseEnter","onTouchStart","onPointerLeave","onPointerEnter"],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/useDisabled.ts","../src/useEffectEvent.ts","../src/useSyntheticBlurEvent.ts","../../necto-dom/dist/index.mjs","../src/useFocus.ts","../src/useGlobalListeners.ts","../src/useFocusWithin.ts","../../necto-platform/dist/index.mjs","../../necto-react-helpers/dist/index.js","../src/useFocusVisibleListener.ts","../src/useHover.ts","../src/useFocusRing.ts"],"sourcesContent":["/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { createContext, createElement, useContext, useMemo } from \"react\";\n\nimport type { HTMLAttributes, PropsWithChildren } from \"react\";\n\ntype DisabledFlags = {\n general?: boolean;\n form?: boolean;\n interactions?: boolean;\n [key: string]: boolean | undefined;\n};\n\nlet DisabledContext = createContext<DisabledFlags>({});\n\nexport function useDisabledFlags(): DisabledFlags {\n return useContext(DisabledContext) || {};\n};\n\nexport function useDisabled(\n type: keyof DisabledFlags = 'general',\n defaultFallback: boolean = false\n): boolean {\n const flags = useContext(DisabledContext) || {};\n return flags[type] ?? defaultFallback;\n}\n\nexport function useDisabledProps(type: keyof DisabledFlags = 'general', extraProps: HTMLAttributes<HTMLElement> = {}): HTMLAttributes<HTMLElement> {\n const isDisabled = useDisabled(type);\n\n return useMemo(() => {\n let props: HTMLAttributes<HTMLElement> = {\n ...extraProps\n };\n\n if (isDisabled) {\n props = {\n ...props,\n ...(typeof extraProps.onClick === 'function' || typeof extraProps.onChange === 'function' ? { disabled: isDisabled } : {}),\n 'aria-disabled': isDisabled\n };\n }\n\n return props;\n }, [isDisabled, extraProps]);\n};\n\nexport function DisabledProvider({\n value,\n children,\n}: PropsWithChildren<{ value?: DisabledFlags }>) {\n return createElement(\n DisabledContext.Provider,\n { value: value || {} },\n children\n );\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { useCallback, useRef, useLayoutEffect} from \"react\";\n\nexport function useEffectEvent<T extends (...args: any[]) => any>(fn: T): T {\n const fnRef = useRef(fn);\n\n // Inline SSR-safe useLayoutEffect\n (typeof document !== \"undefined\" ? useLayoutEffect : () => {})(\n () => {\n fnRef.current = fn;\n },\n [fn]\n );\n\n return useCallback(((...args: Parameters<T>): ReturnType<T> => {\n return fnRef.current(...args);\n }) as T, []);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffectEvent } from \"./useEffectEvent\";\nimport { useRef, useCallback, useLayoutEffect } from 'react';\nimport type { FocusEvent as ReactFocusEvent, SyntheticEvent } from 'react';\n\n/**\n * Creates a synthetic React event from a native DOM event.\n * This is used to maintain compatibility with React's event system.\n * \n * @param nativeEvent - The original native DOM event.\n * @returns The synthetic React event.\n */\nexport function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Event): E {\n const event = nativeEvent as unknown as E;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = () => event.defaultPrevented;\n event.isPropagationStopped = () => (event as any).cancelBubble; // Deprecated but widely supported.\n event.persist = () => {}; // No-op for compatibility with React's synthetic event system.\n return event;\n}\n\n/**\n * Custom React hook to handle synthetic blur events, particularly for disabled elements.\n * \n * @param onBlur - Callback to handle the blur event.\n * @returns A callback to attach to the element's blur event.\n */\nexport function useSyntheticBlurEvent<Target extends Element = Element>(\n onBlur: (event: ReactFocusEvent<Target>) => void\n): (event: ReactFocusEvent<Target>) => void {\n const stateRef = useRef<{\n isFocused: boolean;\n observer: MutationObserver | null;\n }>({\n isFocused: false,\n observer: null,\n });\n\n // Cleanup effect to disconnect the MutationObserver when the component unmounts.\n useLayoutEffect(() => {\n const state = stateRef.current;\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n\n // Handler to dispatch the blur event using the provided callback.\n const dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {\n onBlur?.(e);\n });\n\n // Callback to handle the blur event logic.\n return useCallback((e: ReactFocusEvent<Target>) => {\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n stateRef.current.isFocused = true;\n\n const target = e.target;\n const onBlurHandler: EventListenerOrEventListenerObject = (event) => {\n stateRef.current.isFocused = false;\n\n if (target.disabled) {\n // Dispatch a synthetic React event for backward compatibility.\n const syntheticEvent = createSyntheticEvent<ReactFocusEvent<Target>>(event);\n dispatchBlur(syntheticEvent);\n }\n\n // Cleanup the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n\n // Add a one-time blur event listener.\n target.addEventListener('focusout', onBlurHandler, { once: true });\n\n // Set up a MutationObserver to monitor changes to the 'disabled' attribute.\n stateRef.current.observer = new MutationObserver(() => {\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n const relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', { relatedTarget: relatedTargetEl }));\n target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget: relatedTargetEl }));\n }\n });\n\n // Observe changes to the 'disabled' attribute of the target element.\n stateRef.current.observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });\n }\n }, [dispatchBlur]);\n}\n","function e(e){return t(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&\"host\"in e}function t(e){return null!==e&&\"object\"==typeof e&&\"nodeType\"in e&&\"number\"==typeof e.nodeType}function n(t,n,o=!0){if(!t||!n)return!1;if(!o)return t.contains(n);let r=n;for(;r;){if(r===t)return!0;r=r instanceof Element&&\"SLOT\"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:e(r)?r.host:r.parentNode}return!1}var o=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&\"shadowRoot\"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function r(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var i=e=>e?.ownerDocument??document,a=e=>{if(e&&\"window\"in e&&e.window===e)return e;return i(e).defaultView||window};export{o as getActiveElement,r as getEventTarget,i as getOwnerDocument,a as getOwnerWindow,t as isNode,n as nodeContains};","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback } from 'react';\nimport { useSyntheticBlurEvent } from \"./useSyntheticBlurEvent\";\nimport { getOwnerDocument, getEventTarget, getActiveElement } from \"@necto/dom\";\n\nimport type { FocusEvent as ReactFocusEvent } from 'react';\nimport type { DOMAttributes, FocusableElement, FocusEvent } from '@necto-react/types';\n\nexport interface FocusProps<Target = FocusableElement> extends FocusEvent<Target> {\n isDisabled?: boolean;\n}\n\nexport interface FocusResult<Target = FocusableElement> {\n focusProps: DOMAttributes<Target>\n}\n\nexport function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target> {\n const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;\n\n // Unified handler for focus change\n const handleFocusChange = useCallback(\n (isFocused: boolean, e: ReactFocusEvent<Target>) => {\n if (isFocused) {\n onFocusProp?.(e);\n onFocusChange?.(true);\n } else {\n onBlurProp?.(e);\n onFocusChange?.(false);\n }\n },\n [onFocusProp, onBlurProp, onFocusChange]\n );\n\n // Blur handler\n const onBlur = useCallback(\n (e: ReactFocusEvent<Target>) => {\n if (e.target === e.currentTarget) {\n handleFocusChange(false, e);\n }\n },\n [handleFocusChange]\n );\n\n // Synthetic focus handler\n const onSyntheticFocus = useSyntheticBlurEvent<Target>(onBlur);\n\n // Focus handler\n const onFocus = useCallback(\n (e: ReactFocusEvent<Target>) => {\n const ownerDocument = getOwnerDocument(e.target);\n const activeElement = ownerDocument ? getActiveElement(ownerDocument) : getActiveElement();\n if (e.target === e.currentTarget && activeElement === getEventTarget(e.nativeEvent)) {\n handleFocusChange(true, e);\n onSyntheticFocus(e);\n }\n },\n [handleFocusChange, onSyntheticFocus]\n );\n\n // Return focus props\n return {\n focusProps: {\n ...(isDisabled ? {} : { onFocus, onBlur }),\n } as DOMAttributes<Target>,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useEffect, useRef } from \"react\";\n\ninterface GlobalListeners {\n addGlobalListener<K extends keyof WindowEventMap | keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : K extends keyof DocumentEventMap ? DocumentEventMap[K] : never) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeGlobalListener<K extends keyof WindowEventMap & keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeAllGlobalListeners(): void;\n}\n\n/**\n * A hook that provides utilities for managing global event listeners.\n * It allows adding, removing, and cleaning up event listeners on global targets like `window` or `document`.\n */\nfunction useGlobalListeners(): GlobalListeners {\n const globalListeners = useRef<Map<EventListenerOrEventListenerObject, { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }>>(new Map());\n\n const addGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => {\n const wrappedListener = typeof options === 'object' && options?.once\n ? (...args: any[]) => {\n globalListeners.current.delete(listener);\n (listener as EventListener)(...args as [any]);\n }\n : listener;\n\n globalListeners.current.set(listener, { type, eventTarget, options });\n eventTarget.addEventListener(type, wrappedListener, options);\n },\n []\n );\n\n const removeGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => {\n const storedListener = globalListeners.current.get(listener);\n const fn = storedListener?.options?.once ? storedListener.fn : listener;\n\n eventTarget.removeEventListener(type, fn as EventListener, options);\n globalListeners.current.delete(listener);\n },\n []\n );\n\n const removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach(({ type, eventTarget, options }: { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }, listener: EventListener) => {\n eventTarget.removeEventListener(type, listener as EventListener, options);\n });\n globalListeners.current.clear();\n }, []);\n\n useEffect(() => {\n return () => removeAllGlobalListeners();\n }, [removeAllGlobalListeners]);\n\n return { addGlobalListener, removeGlobalListener, removeAllGlobalListeners };\n}\n\nexport { useGlobalListeners };","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useRef } from \"react\";\nimport { useGlobalListeners } from \"./useGlobalListeners\";\nimport { useSyntheticBlurEvent, createSyntheticEvent } from \"./useSyntheticBlurEvent\";\nimport { getActiveElement, getEventTarget, getOwnerDocument, nodeContains } from \"@necto/dom\";\n\nimport type { DOMAttributes } from \"@necto-react/types\";\nimport type { FocusEvent as ReactFocusEvent } from \"react\";\n\nexport interface FocusWithinProps {\n isDisabled?: boolean,\n onFocusWithin?: (e: ReactFocusEvent) => void,\n onBlurWithin?: (e: ReactFocusEvent) => void,\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\nexport interface FocusWithinResult {\n focusWithinProps: DOMAttributes\n}\n\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let { isDisabled, onFocusWithin, onBlurWithin, onFocusWithinChange } = props;\n let state = useRef({ isFocusWithin: false });\n let { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n let onBlur = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n if (state.current.isFocusWithin && !(event.currentTarget as Element).contains(event.relatedTarget as Element)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n\n if (onBlurWithin) onBlurWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]);\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n const ownerDocument = getOwnerDocument(event.target);\n const activeElement = getActiveElement(ownerDocument);\n\n if (!state.current.isFocusWithin && activeElement == getEventTarget(event.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(true);\n\n state.current.isFocusWithin = true;\n onSyntheticFocus(event);\n\n let currentTarget = event.currentTarget;\n addGlobalListener(ownerDocument, 'focus', e => {\n if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) {\n let nativeEvent = new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target});\n Object.defineProperty(nativeEvent, 'target', {value: currentTarget});\n Object.defineProperty(nativeEvent, 'currentTarget', {value: currentTarget});\n let event = createSyntheticEvent<ReactFocusEvent>(nativeEvent);\n onBlur(event);\n }\n }, {capture: true});\n }\n }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]);\n\n if (isDisabled) {\n return {\n focusWithinProps: {\n onFocus: undefined,\n onBlur: undefined\n } as DOMAttributes\n };\n }\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n } as unknown as DOMAttributes\n }\n}","function r(n){return typeof window<\"u\"&&window.navigator!=null?n.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}var e=function(){return r(/^Mac/i)};function o(n){return typeof window>\"u\"||window.navigator==null?!1:window.navigator.userAgentData?.brands.some(t=>n.test(t.brand))||n.test(window.navigator.userAgent)}var a=function(){return o(/Android/i)};export{a as isAndroid,e as isMac};\n//# sourceMappingURL=index.mjs.map","import{isAndroid as E}from\"@necto/platform\";function y(e){return e.mozInputSource===0&&e.isTrusted?!0:E()&&e.pointerType?e.type===\"click\"&&e.buttons===1:e.detail===0&&!e.pointerType}import{getOwnerDocument as d,getOwnerWindow as c}from\"@necto/dom\";var p=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]),f={Tab:!0,Escape:!0};function M(e,r,t){if(!t||!(\"target\"in t)||!t.target)return!1;let a=d(t.target),o=c(t.target),i=typeof window<\"u\"?o.HTMLInputElement:HTMLInputElement,s=typeof window<\"u\"?o.HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<\"u\"?o.HTMLElement:HTMLElement,u=typeof window<\"u\"?o.KeyboardEvent:KeyboardEvent,n=a.activeElement;return e=e||n instanceof i&&!p.has(n.type)||n instanceof s||n instanceof l&&n.isContentEditable,!(e&&r===\"keyboard\"&&t instanceof u&&!f[t.key])}export{M as isKeyboardFocusEvent,y as isVirtualClick};\n","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffect } from \"react\";\nimport { isMac } from \"@necto/platform\";\nimport { isKeyboardFocusEvent } from \"@necto-react/helpers\";\nimport { getOwnerWindow, getOwnerDocument } from \"@necto/dom\";\n\nexport type Modality = \"keyboard\" | \"pointer\" | \"virtual\";\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\nexport type FocusVisibleHandler = (isFocusVisible: boolean) => void;\n\nconst hasSetupGlobalListeners = new Map<Window, { focus: () => void }>();\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\nlet currentModality: Modality | null = null;\nconst changeHandlers = new Set<Handler>();\n\nconst FOCUS_VISIBLE_INPUT_KEYS = { Tab: true, Escape: true };\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n changeHandlers.forEach((handler) => handler(modality, e));\n}\n\nfunction isValidKey(e: KeyboardEvent) {\n return !(\n e.metaKey ||\n (!isMac() && e.altKey) ||\n e.ctrlKey ||\n [\"Control\", \"Shift\", \"Meta\"].includes(e.key)\n );\n}\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n if (isValidKey(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n if ([\"mousedown\", \"pointerdown\"].includes(e.type)) {\n hasEventBeforeFocus = true;\n currentModality = \"pointer\";\n triggerChangeHandlers(\"pointer\", e);\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n if (\n [window, document].includes(e.target as any) ||\n !e.isTrusted ||\n (!hasEventBeforeFocus && !hasBlurredWindowRecently)\n ) {\n return;\n }\n\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\nfunction setupGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n hasSetupGlobalListeners.has(windowObject)\n ) {\n return;\n }\n\n const originalFocus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function (...args) {\n hasEventBeforeFocus = true;\n originalFocus.apply(this, args);\n };\n\n documentObject.addEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.addEventListener(\"click\", handlePointerEvent, true);\n windowObject.addEventListener(\"focus\", handleFocusEvent, true);\n windowObject.addEventListener(\"blur\", handleWindowBlur, false);\n\n if (typeof PointerEvent !== \"undefined\") {\n documentObject.addEventListener(\"pointerdown\", handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners.set(windowObject, { focus: originalFocus });\n}\n\nfunction tearDownGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (!hasSetupGlobalListeners.has(windowObject)) return;\n\n const { focus } = hasSetupGlobalListeners.get(windowObject)!;\n windowObject.HTMLElement.prototype.focus = focus;\n\n documentObject.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.removeEventListener(\"click\", handlePointerEvent, true);\n windowObject.removeEventListener(\"focus\", handleFocusEvent, true);\n windowObject.removeEventListener(\"blur\", handleWindowBlur, false);\n\n hasSetupGlobalListeners.delete(windowObject);\n}\n\nexport function addWindowFocusTracking(element?: HTMLElement | null): () => void {\n const documentObject = getOwnerDocument(element);\n\n if (documentObject.readyState !== \"loading\") {\n setupGlobalFocusEvents(element);\n } else {\n documentObject.addEventListener(\"DOMContentLoaded\", () =>\n setupGlobalFocusEvents(element)\n );\n }\n\n return () => tearDownGlobalFocusEvents(element);\n}\n\nexport function getInteractionModality(): Modality | null {\n return currentModality;\n}\n\nexport function useFocusVisibleListener(\n fn: FocusVisibleHandler,\n deps: ReadonlyArray<any>,\n opts?: { isTextInput?: boolean }\n): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n const handler: Handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn(currentModality !== \"pointer\");\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useGlobalListeners } from './useGlobalListeners';\nimport { getOwnerDocument, nodeContains } from \"@necto/dom\";\nimport { useState, useMemo, useRef, useEffect, useCallback } from 'react';\n\nimport type { DOMAttributes, HoverEvent } from '@necto-react/types';\n\nexport interface HoverProps extends HoverEvent {\n isDisabled?: boolean;\n onHoverStart?: (event: HoverEvent) => void;\n onHoverEnd?: (event: HoverEvent) => void;\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface HoverResult {\n hoverProps: DOMAttributes;\n isHovered: boolean;\n}\n\n// See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useHover.ts#L33C1-L38C1\n// as well as https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nexport function setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nexport function useHover(props: HoverProps): HoverResult {\n const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;\n\n const [isHovered, setHovered] = useState(false);\n const state = useRef<{\n isHovered: boolean;\n ignoreEmulatedMouseEvents: boolean;\n pointerType: string;\n target: EventTarget | null;\n }>({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null,\n });\n\n const { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n const triggerHoverStart = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n currentState.pointerType = pointerType;\n\n if (\n isDisabled ||\n pointerType === 'touch' ||\n currentState.isHovered ||\n !event.currentTarget.contains(event.target)\n ) {\n return;\n }\n\n currentState.isHovered = true;\n currentState.target = event.currentTarget;\n\n addGlobalListener(\n getOwnerDocument(event.target),\n 'pointerover',\n (e: any) => {\n if (\n currentState.isHovered &&\n currentState.target &&\n !nodeContains(currentState.target, e.target as Element)\n ) {\n triggerHoverEnd(e, e.pointerType);\n }\n },\n { capture: true }\n );\n\n onHoverStart?.({\n type: 'hoverstart',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(true);\n setHovered(true);\n },\n [isDisabled, onHoverStart, onHoverChange, addGlobalListener]\n );\n\n const triggerHoverEnd = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n\n if (pointerType === 'touch' || !currentState.isHovered || !currentState.target) {\n return;\n }\n\n currentState.isHovered = false;\n currentState.pointerType = '';\n currentState.target = null;\n\n removeAllGlobalListeners();\n\n onHoverEnd?.({\n type: 'hoverend',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(false);\n setHovered(false);\n },\n [onHoverEnd, onHoverChange, removeAllGlobalListeners]\n );\n\n const hoverProps = useMemo(() => {\n const props: DOMAttributes = {\n onMouseLeave: () => {},\n onMouseEnter: () => {},\n onTouchStart: () => {},\n onPointerLeave: () => {},\n onPointerEnter: () => {},\n };\n\n if (typeof PointerEvent !== 'undefined') {\n props.onPointerEnter = (e: any) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n props.onPointerLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n props.onTouchStart = () => {\n state.current.ignoreEmulatedMouseEvents = true;\n };\n props.onMouseEnter = (e: any) => {\n if (\n !state.current.ignoreEmulatedMouseEvents &&\n !globalIgnoreEmulatedMouseEvents\n ) {\n triggerHoverStart(e, 'mouse');\n }\n state.current.ignoreEmulatedMouseEvents = false;\n };\n props.onMouseLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n\n return props;\n }, [isDisabled, triggerHoverStart, triggerHoverEnd]);\n\n useEffect(() => {\n if (isDisabled && state.current.isHovered) {\n triggerHoverEnd({ currentTarget: state.current.target }, state.current.pointerType);\n }\n }, [isDisabled, triggerHoverEnd]);\n\n return { hoverProps, isHovered };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useFocus } from './useFocus';\nimport { useFocusWithin } from './useFocusWithin';\nimport { useCallback, useRef, useState } from 'react';\nimport { useFocusVisibleListener } from \"./useFocusVisibleListener\";\n\nimport type { DOMAttributes } from '@necto-react/types';\n\nexport type Modality = 'keyboard' | 'pointer' | 'virtual';\nlet currentModality: null | Modality = null;\n\nexport interface FocusRingProps {\n within?: boolean;\n isTextInput?: boolean;\n autoFocus?: boolean;\n}\n\nexport interface FocusRingResult {\n isFocused: boolean;\n isFocusVisible: boolean;\n focusProps: DOMAttributes;\n}\n\nexport function useFocusRing({\n within = false,\n isTextInput = false,\n autoFocus = false,\n}: FocusRingProps = {}): FocusRingResult {\n const state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || currentModality !== 'pointer',\n });\n\n const [isFocused, setFocused] = useState(false);\n const [isFocusVisible, setFocusVisible] = useState(() => state.current.isFocused && state.current.isFocusVisible);\n\n const updateFocusVisibleState = useCallback(() => {\n setFocusVisible(state.current.isFocused && state.current.isFocusVisible);\n }, []);\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n state.current.isFocused = focused;\n setFocused(focused);\n updateFocusVisibleState();\n },\n [updateFocusVisibleState]\n );\n\n useFocusVisibleListener(\n (focusVisible) => {\n state.current.isFocusVisible = focusVisible;\n updateFocusVisibleState();\n },\n [],\n { isTextInput }\n );\n\n const { focusProps } = useFocus({\n isDisabled: within,\n onFocusChange: handleFocusChange,\n });\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: handleFocusChange,\n });\n\n return {\n isFocused,\n isFocusVisible,\n focusProps: within ? focusWithinProps : focusProps,\n };\n}"],"names":["DisabledContext","createContext","useDisabled","type","defaultFallback","useContext","useEffectEvent","fn","fnRef","useRef","document","useLayoutEffect","current","useCallback","args","createSyntheticEvent","nativeEvent","event","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","useSyntheticBlurEvent","onBlur","stateRef","isFocused","observer","state","disconnect","dispatchBlur","e","target","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","addEventListener","disabled","once","MutationObserver","relatedTargetEl","activeElement","dispatchEvent","FocusEvent","relatedTarget","bubbles","observe","attributes","attributeFilter","nodeType","t","Node","DOCUMENT_FRAGMENT_NODE","n","o","contains","r","Element","tagName","assignedSlot","parentNode","host","shadowRoot","composedPath","i","ownerDocument","a","window","defaultView","useFocus","props","isDisabled","onFocus","onFocusProp","onBlurProp","onFocusChange","handleFocusChange","currentTarget","onSyntheticFocus","getOwnerDocument","getActiveElement","getEventTarget","focusProps","useGlobalListeners","globalListeners","Map","addGlobalListener","eventTarget","listener","options","wrappedListener","delete","set","removeGlobalListener","storedListener","get","removeEventListener","removeAllGlobalListeners","forEach","clear","useEffect","useFocusWithin","onFocusWithin","onBlurWithin","onFocusWithinChange","isFocusWithin","nodeContains","Object","defineProperty","value","capture","focusWithinProps","undefined","isMac","re","navigator","test","userAgentData","platform","testPlatform","p","Set","f","Tab","Escape","hasSetupGlobalListeners","hasEventBeforeFocus","hasBlurredWindowRecently","currentModality","changeHandlers","triggerChangeHandlers","modality","handler","handleKeyboardEvent","metaKey","altKey","ctrlKey","includes","key","handlePointerEvent","handleFocusEvent","isTrusted","handleWindowBlur","setupGlobalFocusEvents","element","windowObject","getOwnerWindow","documentObject","has","originalFocus","HTMLElement","prototype","focus","apply","this","PointerEvent","useFocusVisibleListener","deps","opts","d","c","s","l","u","KeyboardEvent","isContentEditable","isKeyboardFocusEvent","isTextInput","add","globalIgnoreEmulatedMouseEvents","children","createElement","Provider","readyState","tearDownGlobalFocusEvents","setTimeout","extraProps","useMemo","onClick","onChange","within","autoFocus","isFocusVisible","setFocused","useState","setFocusVisible","updateFocusVisibleState","focused","focusVisible","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","pointerType","triggerHoverStart","currentState","triggerHoverEnd","hoverProps","onMouseLeave","onMouseEnter","onTouchStart","onPointerLeave","onPointerEnter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/useDisabled.ts","../src/useEffectEvent.ts","../src/useSyntheticBlurEvent.ts","../../necto-dom/dist/index.mjs","../src/useFocus.ts","../src/useGlobalListeners.ts","../src/useFocusWithin.ts","../../necto-platform/dist/index.mjs","../../necto-react-helpers/dist/index.js","../src/useFocusVisibleListener.ts","../src/useHover.ts","../src/useFocusRing.ts"],"sourcesContent":["/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { createContext, createElement, useContext, useMemo } from \"react\";\n\nimport type { HTMLAttributes, PropsWithChildren } from \"react\";\n\ntype DisabledFlags = {\n general?: boolean;\n form?: boolean;\n interactions?: boolean;\n [key: string]: boolean | undefined;\n};\n\nlet DisabledContext = createContext<DisabledFlags>({});\n\nexport function useDisabledFlags(): DisabledFlags {\n return useContext(DisabledContext) || {};\n};\n\nexport function useDisabled(\n type: keyof DisabledFlags = 'general',\n defaultFallback: boolean = false\n): boolean {\n const flags = useContext(DisabledContext) || {};\n return flags[type] ?? defaultFallback;\n}\n\nexport function useDisabledProps(type: keyof DisabledFlags = 'general', extraProps: HTMLAttributes<HTMLElement> = {}): HTMLAttributes<HTMLElement> {\n const isDisabled = useDisabled(type);\n\n return useMemo(() => {\n let props: HTMLAttributes<HTMLElement> = {\n ...extraProps\n };\n\n if (isDisabled) {\n props = {\n ...props,\n ...(typeof extraProps.onClick === 'function' || typeof extraProps.onChange === 'function' ? { disabled: isDisabled } : {}),\n 'aria-disabled': isDisabled\n };\n }\n\n return props;\n }, [isDisabled, extraProps]);\n};\n\nexport function DisabledProvider({\n value,\n children,\n}: PropsWithChildren<{ value?: DisabledFlags }>) {\n return createElement(\n DisabledContext.Provider,\n { value: value || {} },\n children\n );\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { useCallback, useRef, useLayoutEffect} from \"react\";\n\nexport function useEffectEvent<T extends (...args: any[]) => any>(fn: T): T {\n const fnRef = useRef(fn);\n\n // Inline SSR-safe useLayoutEffect\n (typeof document !== \"undefined\" ? useLayoutEffect : () => {})(\n () => {\n fnRef.current = fn;\n },\n [fn]\n );\n\n return useCallback(((...args: Parameters<T>): ReturnType<T> => {\n return fnRef.current(...args);\n }) as T, []);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffectEvent } from \"./useEffectEvent\";\nimport { useRef, useCallback, useLayoutEffect } from 'react';\nimport type { FocusEvent as ReactFocusEvent, SyntheticEvent } from 'react';\n\n/**\n * Creates a synthetic React event from a native DOM event.\n * This is used to maintain compatibility with React's event system.\n * \n * @param nativeEvent - The original native DOM event.\n * @returns The synthetic React event.\n */\nexport function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Event): E {\n const event = nativeEvent as unknown as E;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = () => event.defaultPrevented;\n event.isPropagationStopped = () => (event as any).cancelBubble; // Deprecated but widely supported.\n event.persist = () => {}; // No-op for compatibility with React's synthetic event system.\n return event;\n}\n\n/**\n * Custom React hook to handle synthetic blur events, particularly for disabled elements.\n * \n * @param onBlur - Callback to handle the blur event.\n * @returns A callback to attach to the element's blur event.\n */\nexport function useSyntheticBlurEvent<Target extends Element = Element>(\n onBlur: (event: ReactFocusEvent<Target>) => void\n): (event: ReactFocusEvent<Target>) => void {\n const stateRef = useRef<{\n isFocused: boolean;\n observer: MutationObserver | null;\n }>({\n isFocused: false,\n observer: null,\n });\n\n // Cleanup effect to disconnect the MutationObserver when the component unmounts.\n useLayoutEffect(() => {\n const state = stateRef.current;\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n\n // Handler to dispatch the blur event using the provided callback.\n const dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {\n onBlur?.(e);\n });\n\n // Callback to handle the blur event logic.\n return useCallback((e: ReactFocusEvent<Target>) => {\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n stateRef.current.isFocused = true;\n\n const target = e.target;\n const onBlurHandler: EventListenerOrEventListenerObject = (event) => {\n stateRef.current.isFocused = false;\n\n if (target.disabled) {\n // Dispatch a synthetic React event for backward compatibility.\n const syntheticEvent = createSyntheticEvent<ReactFocusEvent<Target>>(event);\n dispatchBlur(syntheticEvent);\n }\n\n // Cleanup the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n\n // Add a one-time blur event listener.\n target.addEventListener('focusout', onBlurHandler, { once: true });\n\n // Set up a MutationObserver to monitor changes to the 'disabled' attribute.\n stateRef.current.observer = new MutationObserver(() => {\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n const relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', { relatedTarget: relatedTargetEl }));\n target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget: relatedTargetEl }));\n }\n });\n\n // Observe changes to the 'disabled' attribute of the target element.\n stateRef.current.observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });\n }\n }, [dispatchBlur]);\n}\n","function e(e){return t(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&\"host\"in e}function t(e){return null!==e&&\"object\"==typeof e&&\"nodeType\"in e&&\"number\"==typeof e.nodeType}function n(t,n,o=!0){if(!t||!n)return!1;if(!o)return t.contains(n);let r=n;for(;r;){if(r===t)return!0;r=r instanceof Element&&\"SLOT\"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:e(r)?r.host:r.parentNode}return!1}var o=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&\"shadowRoot\"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function r(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var i=e=>e?.ownerDocument??document,a=e=>{if(e&&\"window\"in e&&e.window===e)return e;return i(e).defaultView||window};export{o as getActiveElement,r as getEventTarget,i as getOwnerDocument,a as getOwnerWindow,t as isNode,n as nodeContains};","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback } from 'react';\nimport { useSyntheticBlurEvent } from \"./useSyntheticBlurEvent\";\nimport { getOwnerDocument, getEventTarget, getActiveElement } from \"@necto/dom\";\n\nimport type { FocusEvent as ReactFocusEvent } from 'react';\nimport type { DOMAttributes, FocusableElement, FocusEvent } from '@necto-react/types';\n\nexport interface FocusProps<Target = FocusableElement> extends FocusEvent<Target> {\n isDisabled?: boolean;\n}\n\nexport interface FocusResult<Target = FocusableElement> {\n focusProps: DOMAttributes<Target>\n}\n\nexport function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target> {\n const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;\n\n // Unified handler for focus change\n const handleFocusChange = useCallback(\n (isFocused: boolean, e: ReactFocusEvent<Target>) => {\n if (isFocused) {\n onFocusProp?.(e);\n onFocusChange?.(true);\n } else {\n onBlurProp?.(e);\n onFocusChange?.(false);\n }\n },\n [onFocusProp, onBlurProp, onFocusChange]\n );\n\n // Blur handler\n const onBlur = useCallback(\n (e: ReactFocusEvent<Target>) => {\n if (e.target === e.currentTarget) {\n handleFocusChange(false, e);\n }\n },\n [handleFocusChange]\n );\n\n // Synthetic focus handler\n const onSyntheticFocus = useSyntheticBlurEvent<Target>(onBlur);\n\n // Focus handler\n const onFocus = useCallback(\n (e: ReactFocusEvent<Target>) => {\n const ownerDocument = getOwnerDocument(e.target);\n const activeElement = ownerDocument ? getActiveElement(ownerDocument) : getActiveElement();\n if (e.target === e.currentTarget && activeElement === getEventTarget(e.nativeEvent)) {\n handleFocusChange(true, e);\n onSyntheticFocus(e);\n }\n },\n [handleFocusChange, onSyntheticFocus]\n );\n\n // Return focus props\n return {\n focusProps: {\n ...(isDisabled ? {} : { onFocus, onBlur }),\n } as DOMAttributes<Target>,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useEffect, useRef } from \"react\";\n\ninterface GlobalListeners {\n addGlobalListener<K extends keyof WindowEventMap | keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : K extends keyof DocumentEventMap ? DocumentEventMap[K] : never) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeGlobalListener<K extends keyof WindowEventMap & keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeAllGlobalListeners(): void;\n}\n\n/**\n * A hook that provides utilities for managing global event listeners.\n * It allows adding, removing, and cleaning up event listeners on global targets like `window` or `document`.\n */\nfunction useGlobalListeners(): GlobalListeners {\n const globalListeners = useRef<Map<EventListenerOrEventListenerObject, { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }>>(new Map());\n\n const addGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => {\n const wrappedListener = typeof options === 'object' && options?.once\n ? (...args: any[]) => {\n globalListeners.current.delete(listener);\n (listener as EventListener)(...args as [any]);\n }\n : listener;\n\n globalListeners.current.set(listener, { type, eventTarget, options });\n eventTarget.addEventListener(type, wrappedListener, options);\n },\n []\n );\n\n const removeGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => {\n const storedListener = globalListeners.current.get(listener);\n const fn = storedListener?.options?.once ? storedListener.fn : listener;\n\n eventTarget.removeEventListener(type, fn as EventListener, options);\n globalListeners.current.delete(listener);\n },\n []\n );\n\n const removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach(({ type, eventTarget, options }: { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }, listener: EventListener) => {\n eventTarget.removeEventListener(type, listener as EventListener, options);\n });\n globalListeners.current.clear();\n }, []);\n\n useEffect(() => {\n return () => removeAllGlobalListeners();\n }, [removeAllGlobalListeners]);\n\n return { addGlobalListener, removeGlobalListener, removeAllGlobalListeners };\n}\n\nexport { useGlobalListeners };","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useRef } from \"react\";\nimport { useGlobalListeners } from \"./useGlobalListeners\";\nimport { useSyntheticBlurEvent, createSyntheticEvent } from \"./useSyntheticBlurEvent\";\nimport { getActiveElement, getEventTarget, getOwnerDocument, nodeContains } from \"@necto/dom\";\n\nimport type { DOMAttributes } from \"@necto-react/types\";\nimport type { FocusEvent as ReactFocusEvent } from \"react\";\n\nexport interface FocusWithinProps {\n isDisabled?: boolean,\n onFocusWithin?: (e: ReactFocusEvent) => void,\n onBlurWithin?: (e: ReactFocusEvent) => void,\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\nexport interface FocusWithinResult {\n focusWithinProps: DOMAttributes\n}\n\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let { isDisabled, onFocusWithin, onBlurWithin, onFocusWithinChange } = props;\n let state = useRef({ isFocusWithin: false });\n let { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n let onBlur = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n if (state.current.isFocusWithin && !(event.currentTarget as Element).contains(event.relatedTarget as Element)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n\n if (onBlurWithin) onBlurWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]);\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n const ownerDocument = getOwnerDocument(event.target);\n const activeElement = getActiveElement(ownerDocument);\n\n if (!state.current.isFocusWithin && activeElement == getEventTarget(event.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(true);\n\n state.current.isFocusWithin = true;\n onSyntheticFocus(event);\n\n let currentTarget = event.currentTarget;\n addGlobalListener(ownerDocument, 'focus', e => {\n if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) {\n let nativeEvent = new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target});\n Object.defineProperty(nativeEvent, 'target', {value: currentTarget});\n Object.defineProperty(nativeEvent, 'currentTarget', {value: currentTarget});\n let event = createSyntheticEvent<ReactFocusEvent>(nativeEvent);\n onBlur(event);\n }\n }, {capture: true});\n }\n }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]);\n\n if (isDisabled) {\n return {\n focusWithinProps: {\n onFocus: undefined,\n onBlur: undefined\n } as DOMAttributes\n };\n }\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n } as unknown as DOMAttributes\n }\n}","function r(n){return typeof window<\"u\"&&window.navigator!=null?n.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}var e=function(){return r(/^Mac/i)};function o(n){return typeof window>\"u\"||window.navigator==null?!1:window.navigator.userAgentData?.brands.some(t=>n.test(t.brand))||n.test(window.navigator.userAgent)}var a=function(){return o(/Android/i)};export{a as isAndroid,e as isMac};\n//# sourceMappingURL=index.mjs.map","import{isAndroid as E}from\"@necto/platform\";function y(e){return e.mozInputSource===0&&e.isTrusted?!0:E()&&e.pointerType?e.type===\"click\"&&e.buttons===1:e.detail===0&&!e.pointerType}import{getOwnerDocument as d,getOwnerWindow as c}from\"@necto/dom\";var p=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]),f={Tab:!0,Escape:!0};function M(e,r,t){if(!t||!(\"target\"in t)||!t.target)return!1;let a=d(t.target),o=c(t.target),i=typeof window<\"u\"?o.HTMLInputElement:HTMLInputElement,s=typeof window<\"u\"?o.HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<\"u\"?o.HTMLElement:HTMLElement,u=typeof window<\"u\"?o.KeyboardEvent:KeyboardEvent,n=a.activeElement;return e=e||n instanceof i&&!p.has(n.type)||n instanceof s||n instanceof l&&n.isContentEditable,!(e&&r===\"keyboard\"&&t instanceof u&&!f[t.key])}export{M as isKeyboardFocusEvent,y as isVirtualClick};\n","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffect } from \"react\";\nimport { isMac } from \"@necto/platform\";\nimport { isKeyboardFocusEvent } from \"@necto-react/helpers\";\nimport { getOwnerWindow, getOwnerDocument } from \"@necto/dom\";\n\ntype Modality = \"keyboard\" | \"pointer\" | \"virtual\";\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\nexport type FocusVisibleHandler = (isFocusVisible: boolean) => void;\n\nconst hasSetupGlobalListeners = new Map<Window, { focus: () => void }>();\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\nlet currentModality: Modality | null = null;\nconst changeHandlers = new Set<Handler>();\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n changeHandlers.forEach((handler) => handler(modality, e));\n}\n\nfunction isValidKey(e: KeyboardEvent) {\n return !(\n e.metaKey ||\n (!isMac() && e.altKey) ||\n e.ctrlKey ||\n [\"Control\", \"Shift\", \"Meta\"].includes(e.key)\n );\n}\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n if (isValidKey(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n if ([\"mousedown\", \"pointerdown\"].includes(e.type)) {\n hasEventBeforeFocus = true;\n currentModality = \"pointer\";\n triggerChangeHandlers(\"pointer\", e);\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n if (\n [window, document].includes(e.target as any) ||\n !e.isTrusted ||\n (!hasEventBeforeFocus && !hasBlurredWindowRecently)\n ) {\n return;\n }\n\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\nfunction setupGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n hasSetupGlobalListeners.has(windowObject)\n ) {\n return;\n }\n\n const originalFocus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function (...args) {\n hasEventBeforeFocus = true;\n originalFocus.apply(this, args);\n };\n\n documentObject.addEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.addEventListener(\"click\", handlePointerEvent, true);\n windowObject.addEventListener(\"focus\", handleFocusEvent, true);\n windowObject.addEventListener(\"blur\", handleWindowBlur, false);\n\n if (typeof PointerEvent !== \"undefined\") {\n documentObject.addEventListener(\"pointerdown\", handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners.set(windowObject, { focus: originalFocus });\n}\n\nfunction tearDownGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (!hasSetupGlobalListeners.has(windowObject)) return;\n\n const { focus } = hasSetupGlobalListeners.get(windowObject)!;\n windowObject.HTMLElement.prototype.focus = focus;\n\n documentObject.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.removeEventListener(\"click\", handlePointerEvent, true);\n windowObject.removeEventListener(\"focus\", handleFocusEvent, true);\n windowObject.removeEventListener(\"blur\", handleWindowBlur, false);\n\n hasSetupGlobalListeners.delete(windowObject);\n}\n\nexport function addWindowFocusTracking(element?: HTMLElement | null): () => void {\n const documentObject = getOwnerDocument(element);\n\n if (documentObject.readyState !== \"loading\") {\n setupGlobalFocusEvents(element);\n } else {\n documentObject.addEventListener(\"DOMContentLoaded\", () =>\n setupGlobalFocusEvents(element)\n );\n }\n\n return () => tearDownGlobalFocusEvents(element);\n}\n\nexport function getInteractionModality(): Modality | null {\n return currentModality;\n}\n\nexport function useFocusVisibleListener(\n fn: FocusVisibleHandler,\n deps: ReadonlyArray<any>,\n opts?: { isTextInput?: boolean }\n): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n const handler: Handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn(currentModality !== \"pointer\");\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useGlobalListeners } from './useGlobalListeners';\nimport { getOwnerDocument, nodeContains } from \"@necto/dom\";\nimport { useState, useMemo, useRef, useEffect, useCallback } from 'react';\n\nimport type { DOMAttributes, HoverEvent } from '@necto-react/types';\n\nexport interface HoverProps extends HoverEvent {\n isDisabled?: boolean;\n onHoverStart?: (event: HoverEvent) => void;\n onHoverEnd?: (event: HoverEvent) => void;\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface HoverResult {\n hoverProps: DOMAttributes;\n isHovered: boolean;\n}\n\n// See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useHover.ts#L33C1-L38C1\n// as well as https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nexport function setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nexport function useHover(props: HoverProps): HoverResult {\n const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;\n\n const [isHovered, setHovered] = useState(false);\n const state = useRef<{\n isHovered: boolean;\n ignoreEmulatedMouseEvents: boolean;\n pointerType: string;\n target: EventTarget | null;\n }>({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null,\n });\n\n const { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n const triggerHoverStart = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n currentState.pointerType = pointerType;\n\n if (\n isDisabled ||\n pointerType === 'touch' ||\n currentState.isHovered ||\n !event.currentTarget.contains(event.target)\n ) {\n return;\n }\n\n currentState.isHovered = true;\n currentState.target = event.currentTarget;\n\n addGlobalListener(\n getOwnerDocument(event.target),\n 'pointerover',\n (e: any) => {\n if (\n currentState.isHovered &&\n currentState.target &&\n !nodeContains(currentState.target, e.target as Element)\n ) {\n triggerHoverEnd(e, e.pointerType);\n }\n },\n { capture: true }\n );\n\n onHoverStart?.({\n type: 'hoverstart',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(true);\n setHovered(true);\n },\n [isDisabled, onHoverStart, onHoverChange, addGlobalListener]\n );\n\n const triggerHoverEnd = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n\n if (pointerType === 'touch' || !currentState.isHovered || !currentState.target) {\n return;\n }\n\n currentState.isHovered = false;\n currentState.pointerType = '';\n currentState.target = null;\n\n removeAllGlobalListeners();\n\n onHoverEnd?.({\n type: 'hoverend',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(false);\n setHovered(false);\n },\n [onHoverEnd, onHoverChange, removeAllGlobalListeners]\n );\n\n const hoverProps = useMemo(() => {\n const props: DOMAttributes = {\n onMouseLeave: () => {},\n onMouseEnter: () => {},\n onTouchStart: () => {},\n onPointerLeave: () => {},\n onPointerEnter: () => {},\n };\n\n if (typeof PointerEvent !== 'undefined') {\n props.onPointerEnter = (e: any) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n props.onPointerLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n props.onTouchStart = () => {\n state.current.ignoreEmulatedMouseEvents = true;\n };\n props.onMouseEnter = (e: any) => {\n if (\n !state.current.ignoreEmulatedMouseEvents &&\n !globalIgnoreEmulatedMouseEvents\n ) {\n triggerHoverStart(e, 'mouse');\n }\n state.current.ignoreEmulatedMouseEvents = false;\n };\n props.onMouseLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n\n return props;\n }, [isDisabled, triggerHoverStart, triggerHoverEnd]);\n\n useEffect(() => {\n if (isDisabled && state.current.isHovered) {\n triggerHoverEnd({ currentTarget: state.current.target }, state.current.pointerType);\n }\n }, [isDisabled, triggerHoverEnd]);\n\n return { hoverProps, isHovered };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useFocus } from './useFocus';\nimport { useFocusWithin } from './useFocusWithin';\nimport { useCallback, useRef, useState } from 'react';\nimport { useFocusVisibleListener } from \"./useFocusVisibleListener\";\n\nimport type { DOMAttributes } from '@necto-react/types';\n\nexport type Modality = 'keyboard' | 'pointer' | 'virtual';\nlet currentModality: null | Modality = null;\n\nexport interface FocusRingProps {\n within?: boolean;\n isTextInput?: boolean;\n autoFocus?: boolean;\n}\n\nexport interface FocusRingResult {\n isFocused: boolean;\n isFocusVisible: boolean;\n focusProps: DOMAttributes;\n}\n\nexport function useFocusRing({\n within = false,\n isTextInput = false,\n autoFocus = false,\n}: FocusRingProps = {}): FocusRingResult {\n const state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || currentModality !== 'pointer',\n });\n\n const [isFocused, setFocused] = useState(false);\n const [isFocusVisible, setFocusVisible] = useState(() => state.current.isFocused && state.current.isFocusVisible);\n\n const updateFocusVisibleState = useCallback(() => {\n setFocusVisible(state.current.isFocused && state.current.isFocusVisible);\n }, []);\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n state.current.isFocused = focused;\n setFocused(focused);\n updateFocusVisibleState();\n },\n [updateFocusVisibleState]\n );\n\n useFocusVisibleListener(\n (focusVisible) => {\n state.current.isFocusVisible = focusVisible;\n updateFocusVisibleState();\n },\n [],\n { isTextInput }\n );\n\n const { focusProps } = useFocus({\n isDisabled: within,\n onFocusChange: handleFocusChange,\n });\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: handleFocusChange,\n });\n\n return {\n isFocused,\n isFocusVisible,\n focusProps: within ? focusWithinProps : focusProps,\n };\n}"],"names":["DisabledContext","createContext","useDisabled","type","defaultFallback","useContext","useEffectEvent","fn","fnRef","useRef","document","useLayoutEffect","current","useCallback","args","createSyntheticEvent","nativeEvent","event","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","useSyntheticBlurEvent","onBlur","stateRef","isFocused","observer","state","disconnect","dispatchBlur","e","target","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","addEventListener","disabled","once","MutationObserver","relatedTargetEl","activeElement","dispatchEvent","FocusEvent","relatedTarget","bubbles","observe","attributes","attributeFilter","nodeType","t","Node","DOCUMENT_FRAGMENT_NODE","n","o","contains","r","Element","tagName","assignedSlot","parentNode","host","shadowRoot","composedPath","i","ownerDocument","a","window","defaultView","useFocus","props","isDisabled","onFocus","onFocusProp","onBlurProp","onFocusChange","handleFocusChange","currentTarget","onSyntheticFocus","getOwnerDocument","getActiveElement","getEventTarget","focusProps","useGlobalListeners","globalListeners","Map","addGlobalListener","eventTarget","listener","options","wrappedListener","delete","set","removeGlobalListener","storedListener","get","removeEventListener","removeAllGlobalListeners","forEach","clear","useEffect","useFocusWithin","onFocusWithin","onBlurWithin","onFocusWithinChange","isFocusWithin","nodeContains","Object","defineProperty","value","capture","focusWithinProps","undefined","isMac","re","navigator","test","userAgentData","platform","testPlatform","p","Set","f","Tab","Escape","hasSetupGlobalListeners","hasEventBeforeFocus","hasBlurredWindowRecently","currentModality","changeHandlers","triggerChangeHandlers","modality","handler","handleKeyboardEvent","metaKey","altKey","ctrlKey","includes","key","handlePointerEvent","handleFocusEvent","isTrusted","handleWindowBlur","setupGlobalFocusEvents","element","windowObject","getOwnerWindow","documentObject","has","originalFocus","HTMLElement","prototype","focus","apply","this","PointerEvent","useFocusVisibleListener","deps","opts","d","c","s","l","u","KeyboardEvent","isContentEditable","isKeyboardFocusEvent","isTextInput","add","globalIgnoreEmulatedMouseEvents","children","createElement","Provider","readyState","tearDownGlobalFocusEvents","setTimeout","extraProps","useMemo","onClick","onChange","within","autoFocus","isFocusVisible","setFocused","useState","setFocusVisible","updateFocusVisibleState","focused","focusVisible","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","pointerType","triggerHoverStart","currentState","triggerHoverEnd","hoverProps","onMouseLeave","onMouseEnter","onTouchStart","onPointerLeave","onPointerEnter"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@necto-react/hooks",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Necto's library for providing utility hooks for React applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@necto/dom": "1.1.0",
|
|
36
36
|
"@necto/platform": "1.1.0",
|
|
37
|
-
"@necto-react/
|
|
38
|
-
"@necto-react/
|
|
37
|
+
"@necto-react/types": "2.0.0",
|
|
38
|
+
"@necto-react/helpers": "2.1.0"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "npm-run-all build:*",
|