@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 2.28 kB
Source Map (JSON)
{"version":3,"file":"focus-trap.mjs","sources":["../../../../../../packages/components/focus-trap/src/focus-trap.ts"],"sourcesContent":["import { buildProps, definePropType } from '@vuesax-alpha/utils'\nimport {\n onReleaseFocusEvent,\n onTrapFocusEvent,\n} from '@vuesax-alpha/tokens/focus-trap'\nimport type { createFocusOutPreventedEvent } from './utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type FocusTrap from './focus-trap.vue'\n\nexport const focusTrapProps = buildProps({\n loop: {\n type: Boolean,\n },\n trapped: {\n type: Boolean,\n },\n focusTrapEl: {\n type: definePropType<HTMLElement>(Object),\n },\n focusStartEl: {\n type: definePropType<'container' | 'first' | HTMLElement>([Object, String]),\n default: 'first',\n },\n} as const)\n\nexport type FocusTrapProps = ExtractPropTypes<typeof focusTrapProps>\n\ntype CustomEvent = ReturnType<typeof createFocusOutPreventedEvent>\n\nexport const focusTrapEmits = {\n [onTrapFocusEvent]: (e: Event) => e instanceof Event,\n [onReleaseFocusEvent]: (e: CustomEvent) => e,\n\n // NOTE: when autofill by browser, the focus event is instanceof Event, not FocusEvent\n focusin: (e: FocusEvent | Event) => e instanceof Event,\n focusout: (e: FocusEvent | Event) => e instanceof Event,\n\n focusoutPrevented: (e: CustomEvent) => e,\n\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n releaseRequested: (e: KeyboardEvent | Event) => e instanceof Event,\n}\n\nexport type FocusTrapInstance = InstanceType<typeof FocusTrap>\n"],"names":[],"mappings":";;;;AAUO,MAAM,iBAAiB,UAAW,CAAA;AAAA,EACvC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAA4B,MAAM,CAAA;AAAA,GAC1C;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,cAAA,CAAoD,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IAC1E,OAAS,EAAA,OAAA;AAAA,GACX;AACF,CAAU,EAAA;AAMH,MAAM,cAAiB,GAAA;AAAA,EAC5B,CAAC,gBAAA,GAAmB,CAAC,CAAA,KAAa,CAAa,YAAA,KAAA;AAAA,EAC/C,CAAC,mBAAsB,GAAA,CAAC,CAAmB,KAAA,CAAA;AAAA,EAG3C,OAAA,EAAS,CAAC,CAAA,KAA0B,CAAa,YAAA,KAAA;AAAA,EACjD,QAAA,EAAU,CAAC,CAAA,KAA0B,CAAa,YAAA,KAAA;AAAA,EAElD,iBAAA,EAAmB,CAAC,CAAmB,KAAA,CAAA;AAAA,EAGvC,gBAAA,EAAkB,CAAC,CAAA,KAA6B,CAAa,YAAA,KAAA;AAC/D;;;;"}