{"version":3,"file":"classes-BW_GpXTu.mjs","sources":["../src/utils/classes.ts"],"sourcesContent":["/**\n * Items that are omitted from the BvEventInit constructor arg\n */\nexport type BvEventConstructorOmittables = 'eventType' | 'defaultPrevented'\n\nexport class BvEvent {\n  readonly cancelable: boolean = true\n  readonly componentId: string | null = null\n  private _defaultPrevented = false\n  readonly eventType: string = ''\n  readonly nativeEvent: string | null = null\n  private _preventDefault: () => void\n  readonly relatedTarget: EventTarget | null = null\n  readonly target: EventTarget | null = null\n  // Readable by everyone,\n  // But only overwritten by inherrited constructors\n  public get defaultPrevented() {\n    return this._defaultPrevented\n  }\n  protected set defaultPrevented(prop) {\n    this._defaultPrevented = prop\n  }\n  // I think this is right\n  // We want to be able to have it callable to everyone,\n  // But only overwritten by inherrited constructors\n  public get preventDefault() {\n    return this._preventDefault\n  }\n  // This may not be correct, because it doesn't get correct type inferences in children\n  // Ex overwrite this.preventDefault = () => true is valid. Could be a TS issue\n  protected set preventDefault(setter: () => void) {\n    this._preventDefault = setter\n  }\n\n  constructor(\n    eventType: string,\n    eventInit: Partial<Omit<BvEvent, BvEventConstructorOmittables>> = {}\n  ) {\n    if (!eventType) {\n      throw new TypeError(\n        `Failed to construct '${this.constructor.name}'. 1 argument required, ${arguments.length} given.`\n      )\n    }\n\n    // Merge defaults first, the eventInit, and the type last\n    // so, it can't be overwritten\n    Object.assign(this, BvEvent.Defaults, eventInit, {eventType})\n\n    this._preventDefault = function _preventDefault() {\n      if (this.cancelable) {\n        this.defaultPrevented = true\n      }\n    }\n  }\n\n  static get Defaults() {\n    return {\n      cancelable: true,\n      componentId: null,\n      eventType: '',\n      nativeEvent: null,\n      relatedTarget: null,\n      target: null,\n    }\n  }\n}\n\nexport class BvTriggerableEvent extends BvEvent {\n  readonly trigger: string | null = null\n  ok: boolean | null | undefined = undefined\n\n  constructor(\n    eventType: string,\n    eventInit: Partial<Omit<BvTriggerableEvent, BvEventConstructorOmittables>> = {}\n  ) {\n    super(eventType, eventInit)\n\n    // Merge defaults first, the eventInit, and the type last\n    // so, it can't be overwritten\n    Object.assign(this, BvEvent.Defaults, eventInit, {eventType})\n  }\n\n  static get Defaults() {\n    return {\n      ...super.Defaults,\n      trigger: null,\n      ok: undefined,\n    }\n  }\n}\n\nexport class BvCarouselEvent extends BvEvent {\n  readonly from: number\n  readonly to: number\n  readonly direction: 'left' | 'right'\n\n  constructor(\n    eventType: string,\n    eventInit: Partial<Omit<BvEvent, BvEventConstructorOmittables>> & {\n      from: number\n      to: number\n      direction: 'left' | 'right'\n    }\n  ) {\n    super(eventType, eventInit)\n    Object.assign(this, BvEvent.Defaults, eventInit, {eventType})\n    const {from, direction, to} = eventInit\n    this.from = from\n    this.to = to\n    this.direction = direction\n  }\n\n  static get Defaults() {\n    return {\n      ...super.Defaults,\n    }\n  }\n}\n"],"names":[],"mappings":"AAKO,MAAM,QAAQ;AAAA,EACV,aAAsB;AAAA,EACtB,cAA6B;AAAA,EAC9B,oBAAoB;AAAA,EACnB,YAAoB;AAAA,EACpB,cAA6B;AAAA,EAC9B;AAAA,EACC,gBAAoC;AAAA,EACpC,SAA6B;AAAA;AAAA;AAAA,EAGtC,IAAW,mBAAmB;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAc,iBAAiB,MAAM;AACnC,SAAK,oBAAoB;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAIA,IAAW,iBAAiB;AAC1B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA,EAGA,IAAc,eAAe,QAAoB;AAC/C,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,YACE,WACA,YAAkE,IAClE;AACA,QAAI,CAAC,WAAW;AACd,YAAM,IAAI;AAAA,QACR,wBAAwB,KAAK,YAAY,IAAI,2BAA2B,UAAU,MAAM;AAAA,MAAA;AAAA,IAE5F;AAIA,WAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU;AAE5D,SAAK,kBAAkB,SAAS,kBAAkB;AAChD,UAAI,KAAK,YAAY;AACnB,aAAK,mBAAmB;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WAAW,WAAW;AACpB,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,WAAW;AAAA,MACX,aAAa;AAAA,MACb,eAAe;AAAA,MACf,QAAQ;AAAA,IAAA;AAAA,EAEZ;AACF;AAEO,MAAM,2BAA2B,QAAQ;AAAA,EACrC,UAAyB;AAAA,EAClC,KAAiC;AAAA,EAEjC,YACE,WACA,YAA6E,IAC7E;AACA,UAAM,WAAW,SAAS;AAI1B,WAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU;AAAA,EAC9D;AAAA,EAEA,WAAW,WAAW;AACpB,WAAO;AAAA,MACL,GAAG,MAAM;AAAA,MACT,SAAS;AAAA,MACT,IAAI;AAAA,IAAA;AAAA,EAER;AACF;AAEO,MAAM,wBAAwB,QAAQ;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EAET,YACE,WACA,WAKA;AACA,UAAM,WAAW,SAAS;AAC1B,WAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU;AAC5D,UAAM,EAAC,MAAM,WAAW,GAAA,IAAM;AAC9B,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,WAAW,WAAW;AACpB,WAAO;AAAA,MACL,GAAG,MAAM;AAAA,IAAA;AAAA,EAEb;AACF;"}