export class NativeDragSource { initializeExposedProperties() { Object.keys(this.config.exposeProperties).forEach((property)=>{ Object.defineProperty(this.item, property, { configurable: true, enumerable: true, get () { // eslint-disable-next-line no-console console.warn(`Browser doesn't allow reading "${property}" until the drop event.`); return null; } }); }); } loadDataTransfer(dataTransfer) { if (dataTransfer) { const newProperties = {}; Object.keys(this.config.exposeProperties).forEach((property)=>{ const propertyFn = this.config.exposeProperties[property]; if (propertyFn != null) { newProperties[property] = { value: propertyFn(dataTransfer, this.config.matchesTypes), configurable: true, enumerable: true }; } }); Object.defineProperties(this.item, newProperties); } } canDrag() { return true; } beginDrag() { return this.item; } isDragging(monitor, handle) { return handle === monitor.getSourceId(); } endDrag() { // empty } constructor(config){ this.config = config; this.item = {}; this.initializeExposedProperties(); } } //# sourceMappingURL=NativeDragSource.js.map