{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/popper/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@vuesax-alpha/utils'\nimport { defaultZIndex, placements } from '@vuesax-alpha/constants'\nimport type {\n  FlipOptions,\n  OffsetOptions,\n  Placement,\n  ShiftOptions,\n  Strategy,\n} from '@vuesax-alpha/hooks/use-floating/vue'\nimport type { EmitFn } from '@vuesax-alpha/utils'\nimport type Content from './content.vue'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nconst POSITIONING_STRATEGIES = ['fixed', 'absolute'] as const\n\ntype ClassObjectType = Record<string, boolean>\ntype ClassType = string | ClassObjectType | ClassType[]\n\nexport const popperContentProps = buildProps({\n  animation: {\n    type: String,\n    default: 'fade-in-linear',\n  },\n  appendTo: {\n    type: definePropType<string | HTMLElement>(String),\n  },\n  // because model toggle prop is generated dynamically\n  // so the typing cannot be evaluated by typescript as type:\n  // [name]: { type: Boolean, default: null }\n  // so we need to declare that again for type checking.\n  /**\n   * @description visibility of Tooltip\n   */\n  visible: {\n    type: definePropType<boolean | null>(Boolean),\n    default: null,\n  },\n  teleported: {\n    type: Boolean,\n    default: true,\n  },\n  disabled: {\n    type: Boolean,\n  },\n  strategy: {\n    type: definePropType<Strategy>(String),\n    values: POSITIONING_STRATEGIES,\n    default: 'absolute',\n  },\n  /**\n   * @description fit popper's width to trigger element\n   */\n  fit: {\n    type: Boolean,\n  },\n  placement: {\n    type: definePropType<Placement>(String),\n    values: placements,\n    default: 'bottom',\n  },\n  zIndex: {\n    type: Number,\n    default: defaultZIndex,\n  },\n  interactivity: {\n    type: Boolean,\n    default: true,\n  },\n  flip: {\n    type: definePropType<FlipOptions | boolean>([Object, Boolean]),\n    default: () => ({}),\n  },\n  shift: {\n    type: definePropType<ShiftOptions | boolean>([Object, Boolean]),\n    default: () => ({}),\n  },\n  windowResize: {\n    type: Boolean,\n    default: true,\n  },\n  windowScroll: {\n    type: Boolean,\n    default: true,\n  },\n  showArrow: {\n    type: Boolean,\n    default: true,\n  },\n  offset: {\n    type: definePropType<OffsetOptions>([Number, Object]),\n    default: 12,\n  },\n  content: {\n    type: String,\n  },\n  rawContent: {\n    type: Boolean,\n  },\n  popperClass: {\n    type: definePropType<ClassType>([String, Array, Object]),\n    default: '',\n  },\n  popperStyle: {\n    type: definePropType<StyleValue>([String, Array, Object]),\n    default: '',\n  },\n  /**\n   * @description `persistent` is `false`, popper content will be destroyed\n   */\n  persistent: {\n    type: Boolean,\n  },\n})\n\nexport type PopperContentProps = ExtractPropTypes<typeof popperContentProps>\n\nexport const popperContentEmits = {\n  mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n  mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n  focus: () => true,\n  blur: () => true,\n  close: () => true,\n}\nexport type PopperContentEmits = typeof popperContentEmits\nexport type PopperContentEmitFn = EmitFn<PopperContentEmits>\n\nexport type PopperContentInstance = InstanceType<typeof Content>\n"],"names":[],"mappings":";;;;;;AAcA,MAAM,sBAAA,GAAyB,CAAC,OAAA,EAAS,UAAU,CAAA,CAAA;AAK5C,MAAM,qBAAqB,UAAW,CAAA;AAAA,EAC3C,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,gBAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAqC,MAAM,CAAA;AAAA,GACnD;AAAA,EAQA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA+B,OAAO,CAAA;AAAA,IAC5C,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,MAAQ,EAAA,sBAAA;AAAA,IACR,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EAIA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA0B,MAAM,CAAA;AAAA,IACtC,MAAQ,EAAA,UAAA;AAAA,IACR,OAAS,EAAA,QAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,aAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,cAAA,CAAsC,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA;AAAA,IAC7D,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,CAAuC,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA;AAAA,IAC9D,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,cAAA,CAA8B,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACpD,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,MAAM,cAA0B,CAAA,CAAC,MAAQ,EAAA,KAAA,EAAO,MAAM,CAAC,CAAA;AAAA,IACvD,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,MAAM,cAA2B,CAAA,CAAC,MAAQ,EAAA,KAAA,EAAO,MAAM,CAAC,CAAA;AAAA,IACxD,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAC,EAAA;AAIM,MAAM,kBAAqB,GAAA;AAAA,EAChC,UAAA,EAAY,CAAC,GAAA,KAAoB,GAAe,YAAA,UAAA;AAAA,EAChD,UAAA,EAAY,CAAC,GAAA,KAAoB,GAAe,YAAA,UAAA;AAAA,EAChD,OAAO,MAAM,IAAA;AAAA,EACb,MAAM,MAAM,IAAA;AAAA,EACZ,OAAO,MAAM,IAAA;AACf;;;;"}