{"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType, isBoolean, isNumber } from '@bigin/utils'\nimport { UPDATE_MODEL_EVENT } from '@bigin/constants'\nimport { useSizeProp } from '@bigin/hooks'\nimport { dialogContentProps } from './dialog-content'\n\nimport type { ExtractPropTypes } from 'vue'\n\ntype DoneFn = (cancel?: boolean) => void\nexport type DialogBeforeCloseFn = (done: DoneFn) => void\n\nexport const dialogProps = buildProps({\n  ...dialogContentProps,\n  appendToBody: {\n    type: Boolean,\n    default: false,\n  },\n  beforeClose: {\n    type: definePropType<DialogBeforeCloseFn>(Function),\n  },\n  destroyOnClose: {\n    type: Boolean,\n    default: false,\n  },\n  closeOnClickModal: {\n    type: Boolean,\n    default: true,\n  },\n  closeOnPressEscape: {\n    type: Boolean,\n    default: true,\n  },\n  lockScroll: {\n    type: Boolean,\n    default: true,\n  },\n  modal: {\n    type: Boolean,\n    default: true,\n  },\n  openDelay: {\n    type: Number,\n    default: 0,\n  },\n  closeDelay: {\n    type: Number,\n    default: 0,\n  },\n  top: {\n    type: String,\n  },\n  modelValue: {\n    type: Boolean,\n    required: true,\n  },\n  width: {\n    type: [String, Number],\n  },\n  zIndex: {\n    type: Number,\n  },\n  trapFocus: {\n    type: Boolean,\n    default: false,\n  },\n  size: useSizeProp,\n  xsmall: {\n    type: Boolean,\n    default: false,\n  },\n  small: {\n    type: Boolean,\n    default: false,\n  },\n  large: {\n    type: Boolean,\n    default: false,\n  },\n  xlarge: {\n    type: Boolean,\n    default: false,\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n} as const)\n\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n  open: () => true,\n  opened: () => true,\n  close: () => true,\n  closed: () => true,\n  [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n  openAutoFocus: () => true,\n  closeAutoFocus: () => true,\n  scroll: ({\n    scrollTop,\n    scrollLeft,\n  }: {\n    scrollTop: number\n    scrollLeft: number\n  }) => [scrollTop, scrollLeft].every(isNumber),\n}\nexport type DialogEmits = typeof dialogEmits\n"],"names":[],"mappings":";;;;;;;;;AAUO,MAAM,cAAc,UAAW,CAAA;AAAA,EACpC,GAAG,kBAAA;AAAA,EACH,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAoC,QAAQ,CAAA;AAAA,GACpD;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,GACvB;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA,WAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAIH,MAAM,WAAc,GAAA;AAAA,EACzB,MAAM,MAAM,IAAA;AAAA,EACZ,QAAQ,MAAM,IAAA;AAAA,EACd,OAAO,MAAM,IAAA;AAAA,EACb,QAAQ,MAAM,IAAA;AAAA,EACd,CAAC,kBAAA,GAAqB,CAAC,KAAA,KAAmB,UAAU,KAAK,CAAA;AAAA,EACzD,eAAe,MAAM,IAAA;AAAA,EACrB,gBAAgB,MAAM,IAAA;AAAA,EACtB,QAAQ,CAAC;AAAA,IACP,SAAA;AAAA,IACA,UAAA;AAAA,QAII,CAAC,SAAA,EAAW,UAAU,CAAA,CAAE,MAAM,QAAQ,CAAA;AAC9C;;;;"}