{"version":3,"file":"focus-trap.mjs","sources":["../../../../../../../packages/components/focus-trap/src/focus-trap.ts"],"sourcesContent":["import { buildProps } from '@xzx-design/utils'\nimport { ON_RELEASE_FOCUS_EVT, ON_TRAP_FOCUS_EVT } from './tokens'\n\nimport type { ExtractPropTypes, PropType } from 'vue-demi' // test vue-demi\nimport type FocusTrap from './focus-trap.vue'\n\nexport const focusTrapProps = buildProps({\n  loop: Boolean,\n  trapped: Boolean,\n  focusTrapEl: {\n    type: Object as PropType<HTMLElement>,\n  },\n  focusStartEl: {\n    type: [Object, String] as PropType<'container' | 'first' | HTMLElement>,\n    default: 'first',\n  },\n})\n\nexport const focusTrapEmits = [\n  ON_TRAP_FOCUS_EVT,\n  ON_RELEASE_FOCUS_EVT,\n  'focusin',\n  'focusout',\n  'focusout-prevented',\n  'release-requested',\n]\n\nexport type FocusTrapProps = ExtractPropTypes<typeof focusTrapProps>\nexport type FocusTrapInstance = InstanceType<typeof FocusTrap>\n"],"names":[],"mappings":";;;;AAMO,MAAM,iBAAiB,UAAW,CAAA;AAAA,EACvC,IAAM,EAAA,OAAA;AAAA,EACN,OAAS,EAAA,OAAA;AAAA,EACT,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,OAAA;AAAA,GACX;AACF,CAAC,EAAA;AAEM,MAAM,cAAiB,GAAA;AAAA,EAC5B,iBAAA;AAAA,EACA,oBAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,oBAAA;AAAA,EACA,mBAAA;AACF;;;;"}