You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
4.1 KiB
1 lines
4.1 KiB
{"ast":null,"code":"import { ref } from 'vue';\nconst usePopperContentFocusTrap = (props, emit) => {\n const trapped = ref(false);\n const focusStartRef = ref();\n const onFocusAfterTrapped = () => {\n emit(\"focus\");\n };\n const onFocusAfterReleased = event => {\n var _a;\n if (((_a = event.detail) == null ? void 0 : _a.focusReason) !== \"pointer\") {\n focusStartRef.value = \"first\";\n emit(\"blur\");\n }\n };\n const onFocusInTrap = event => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target;\n }\n trapped.value = true;\n }\n };\n const onFocusoutPrevented = event => {\n if (!props.trapping) {\n if (event.detail.focusReason === \"pointer\") {\n event.preventDefault();\n }\n trapped.value = false;\n }\n };\n const onReleaseRequested = () => {\n trapped.value = false;\n emit(\"close\");\n };\n return {\n focusStartRef,\n trapped,\n onFocusAfterReleased,\n onFocusAfterTrapped,\n onFocusInTrap,\n onFocusoutPrevented,\n onReleaseRequested\n };\n};\nexport { usePopperContentFocusTrap };","map":{"version":3,"names":["usePopperContentFocusTrap","props","emit","trapped","ref","focusStartRef","onFocusAfterTrapped","onFocusAfterReleased","event","_a","detail","focusReason","value","onFocusInTrap","visible","target","onFocusoutPrevented","trapping","preventDefault","onReleaseRequested"],"sources":["../../../../../../../packages/components/popper/src/composables/use-focus-trap.ts"],"sourcesContent":["import { ref } from 'vue'\n\nimport type { SetupContext } from 'vue'\nimport type { PopperContentEmits, PopperContentProps } from '../content'\n\nexport const usePopperContentFocusTrap = (\n props: PopperContentProps,\n emit: SetupContext<PopperContentEmits>['emit']\n) => {\n const trapped = ref(false)\n const focusStartRef = ref<'container' | 'first' | HTMLElement>()\n\n const onFocusAfterTrapped = () => {\n emit('focus')\n }\n\n const onFocusAfterReleased = (event: CustomEvent) => {\n if (event.detail?.focusReason !== 'pointer') {\n focusStartRef.value = 'first'\n emit('blur')\n }\n }\n\n const onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n }\n }\n\n const onFocusoutPrevented = (event: CustomEvent) => {\n if (!props.trapping) {\n if (event.detail.focusReason === 'pointer') {\n event.preventDefault()\n }\n trapped.value = false\n }\n }\n\n const onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n }\n\n return {\n focusStartRef,\n trapped,\n\n onFocusAfterReleased,\n onFocusAfterTrapped,\n onFocusInTrap,\n onFocusoutPrevented,\n onReleaseRequested,\n }\n}\n\nexport type UsePopperContentFocusTrapReturn = ReturnType<\n typeof usePopperContentFocusTrap\n>\n"],"mappings":";AACY,MAACA,yBAAyB,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACxD,MAAMC,OAAO,GAAGC,GAAG,CAAC,KAAK,CAAC;EAC1B,MAAMC,aAAa,GAAGD,GAAG,EAAE;EAC3B,MAAME,mBAAmB,GAAGA,CAAA,KAAM;IAChCJ,IAAI,CAAC,OAAO,CAAC;EACjB,CAAG;EACD,MAAMK,oBAAoB,GAAIC,KAAK,IAAK;IACtC,IAAIC,EAAE;IACN,IAAI,CAAC,CAACA,EAAE,GAAGD,KAAK,CAACE,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGD,EAAE,CAACE,WAAW,MAAM,SAAS,EAAE;MACzEN,aAAa,CAACO,KAAK,GAAG,OAAO;MAC7BV,IAAI,CAAC,MAAM,CAAC;IAClB;EACA,CAAG;EACD,MAAMW,aAAa,GAAIL,KAAK,IAAK;IAC/B,IAAIP,KAAK,CAACa,OAAO,IAAI,CAACX,OAAO,CAACS,KAAK,EAAE;MACnC,IAAIJ,KAAK,CAACO,MAAM,EAAE;QAChBV,aAAa,CAACO,KAAK,GAAGJ,KAAK,CAACO,MAAM;MAC1C;MACMZ,OAAO,CAACS,KAAK,GAAG,IAAI;IAC1B;EACA,CAAG;EACD,MAAMI,mBAAmB,GAAIR,KAAK,IAAK;IACrC,IAAI,CAACP,KAAK,CAACgB,QAAQ,EAAE;MACnB,IAAIT,KAAK,CAACE,MAAM,CAACC,WAAW,KAAK,SAAS,EAAE;QAC1CH,KAAK,CAACU,cAAc,EAAE;MAC9B;MACMf,OAAO,CAACS,KAAK,GAAG,KAAK;IAC3B;EACA,CAAG;EACD,MAAMO,kBAAkB,GAAGA,CAAA,KAAM;IAC/BhB,OAAO,CAACS,KAAK,GAAG,KAAK;IACrBV,IAAI,CAAC,OAAO,CAAC;EACjB,CAAG;EACD,OAAO;IACLG,aAAa;IACbF,OAAO;IACPI,oBAAoB;IACpBD,mBAAmB;IACnBO,aAAa;IACbG,mBAAmB;IACnBG;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|