{"version":3,"file":"classes-D6JE1Dex.mjs","names":[],"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"],"mappings":";AAKA,IAAa,UAAb,MAAa,QAAQ;CACnB,aAA+B;CAC/B,cAAsC;CACtC,oBAA4B;CAC5B,YAA6B;CAC7B,cAAsC;CACtC;CACA,gBAA6C;CAC7C,SAAsC;CAGtC,IAAW,mBAAmB;AAC5B,SAAO,KAAK;;CAEd,IAAc,iBAAiB,MAAM;AACnC,OAAK,oBAAoB;;CAK3B,IAAW,iBAAiB;AAC1B,SAAO,KAAK;;CAId,IAAc,eAAe,QAAoB;AAC/C,OAAK,kBAAkB;;CAGzB,YACE,WACA,YAAkE,EAAE,EACpE;AACA,MAAI,CAAC,UACH,OAAM,IAAI,UACR,wBAAwB,KAAK,YAAY,KAAK,0BAA0B,UAAU,OAAO,SAC1F;AAKH,SAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU,CAAC;AAE7D,OAAK,kBAAkB,SAAS,kBAAkB;AAChD,OAAI,KAAK,WACP,MAAK,mBAAmB;;;CAK9B,WAAW,WAAW;AACpB,SAAO;GACL,YAAY;GACZ,aAAa;GACb,WAAW;GACX,aAAa;GACb,eAAe;GACf,QAAQ;GACT;;;AAIL,IAAa,qBAAb,cAAwC,QAAQ;CAC9C,UAAkC;CAClC,KAAiC,KAAA;CAEjC,YACE,WACA,YAA6E,EAAE,EAC/E;AACA,QAAM,WAAW,UAAU;AAI3B,SAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU,CAAC;;CAG/D,WAAW,WAAW;AACpB,SAAO;GACL,GAAG,MAAM;GACT,SAAS;GACT,IAAI,KAAA;GACL;;;AAIL,IAAa,kBAAb,cAAqC,QAAQ;CAC3C;CACA;CACA;CAEA,YACE,WACA,WAKA;AACA,QAAM,WAAW,UAAU;AAC3B,SAAO,OAAO,MAAM,QAAQ,UAAU,WAAW,EAAC,WAAU,CAAC;EAC7D,MAAM,EAAC,MAAM,WAAW,OAAM;AAC9B,OAAK,OAAO;AACZ,OAAK,KAAK;AACV,OAAK,YAAY;;CAGnB,WAAW,WAAW;AACpB,SAAO,EACL,GAAG,MAAM,UACV"}