{"version":3,"file":"affix.mjs","sources":["../../../../../../packages/components/affix/src/affix.ts"],"sourcesContent":["import { buildProps, definePropType, isBoolean, isNumber } from '@bigin/utils'\nimport { CHANGE_EVENT } from '@bigin/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Property } from 'csstype'\nimport type Affix from './affix.vue'\n\nexport const affixProps = buildProps({\n  zIndex: {\n    type: definePropType<Property.ZIndex>([Number, String]),\n    default: 100,\n  },\n  target: {\n    type: String,\n    default: '',\n  },\n  offset: {\n    type: Number,\n    default: 0,\n  },\n  position: {\n    type: String,\n    values: ['top', 'bottom'],\n    default: 'top',\n  },\n} as const)\nexport type AffixProps = ExtractPropTypes<typeof affixProps>\n\nexport const affixEmits = {\n  scroll: ({ scrollTop, fixed }: { scrollTop: number; fixed: boolean }) =>\n    isNumber(scrollTop) && isBoolean(fixed),\n  [CHANGE_EVENT]: (fixed: boolean) => isBoolean(fixed),\n}\nexport type AffixEmits = typeof affixEmits\n\nexport type AffixInstance = InstanceType<typeof Affix>\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,aAAa,UAAW,CAAA;AAAA,EACnC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACtD,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,MAAA,EAAQ,CAAC,KAAA,EAAO,QAAQ,CAAA;AAAA,IACxB,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAGH,MAAM,UAAa,GAAA;AAAA,EACxB,MAAA,EAAQ,CAAC,EAAE,SAAW,EAAA,KAAA,OACpB,QAAS,CAAA,SAAS,CAAK,IAAA,SAAA,CAAU,KAAK,CAAA;AAAA,EACxC,CAAC,YAAA,GAAe,CAAC,KAAA,KAAmB,UAAU,KAAK,CAAA;AACrD;;;;"}