bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
1 lines • 4.52 kB
Source Map (JSON)
{"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"}