{"version":3,"file":"index.js","mappings":"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","sources":["webpack://dataflex-webapis/webpack/bootstrap","webpack://dataflex-webapis/webpack/runtime/global","webpack://dataflex-webapis/./src/broadcast-channel.js","webpack://dataflex-webapis/./src/utils/permissions.js","webpack://dataflex-webapis/./src/clipboard.js","webpack://dataflex-webapis/./src/contact-picker.js","webpack://dataflex-webapis/./src/credential-management.js","webpack://dataflex-webapis/./src/eye-dropper.js","webpack://dataflex-webapis/./src/fullscreen.js","webpack://dataflex-webapis/./src/network-information.js","webpack://dataflex-webapis/./src/notifications.js","webpack://dataflex-webapis/./src/page-visibility.js","webpack://dataflex-webapis/./src/screen-wake-lock.js","webpack://dataflex-webapis/./src/sensor.js","webpack://dataflex-webapis/./src/vibration.js","webpack://dataflex-webapis/./src/web-share.js","webpack://dataflex-webapis/./src/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","export default class BroadcastChannelComponent extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.prop(df.tString, 'psName', '');\r\n this.event('OnMessage', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', !!window.BroadcastChannel);\r\n if (this.pbIsSupported && this.psName !== '') {\r\n this._channel = new BroadcastChannel(this.psName);\r\n this._channel.addEventListener('message', event => {\r\n this.fire('OnMessage', [event.data]);\r\n });\r\n }\r\n }\r\n\r\n postMessage(sData) {\r\n this._channel.postMessage(sData);\r\n }\r\n}","export async function queryPermission(instance, name, property, event) {\r\n try {\r\n const result = await navigator.permissions.query({ name });\r\n instance.set(property, result.state || result.status);\r\n if (event) {\r\n result.onchange = () => {\r\n instance.set(property, result.state || result.status);\r\n instance.fire(event);\r\n };\r\n }\r\n return result.state || result.status;\r\n } catch (error) {\r\n instance.fire('OnError', [error.name, error.message]);\r\n }\r\n}\r\n","import { queryPermission } from \"./utils/permissions\";\r\n\r\nexport default class Clipboard extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.prop(df.tString, 'psReadPermission', '');\r\n this.prop(df.tString, 'psWritePermission', '');\r\n this.event('OnReadPermissionChange');\r\n this.event('OnWritePermissionChange');\r\n this.event('OnRead', df.cCallModeDefault, 'OnReadProxy');\r\n this.event('OnReadText');\r\n this.event('OnWrite');\r\n this.event('OnWriteText');\r\n this.event('OnError');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'clipboard' in navigator);\r\n if (this.pbIsSupported && 'permissions' in navigator) {\r\n queryPermission(this, 'clipboard-read', 'psReadPermission', 'OnReadPermissionChange');\r\n queryPermission(this, 'clipboard-write', 'psWritePermission', 'OnWritePermissionChange');\r\n }\r\n }\r\n\r\n async read() {\r\n const items = await navigator.clipboard.read();\r\n const data = await Promise.all(\r\n items.map(item => Promise.all(\r\n item.types.map(async (type) => {\r\n const blob = await item.getType(type);\r\n return this.#readBlob(blob);\r\n })\r\n ))\r\n );\r\n this.fireEx({\r\n sEvent: 'OnRead',\r\n tActionData: data\r\n });\r\n }\r\n\r\n async readText() {\r\n try {\r\n const text = await navigator.clipboard.readText();\r\n this.fire('OnReadText', [text])\r\n } catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n\r\n async write(url) {\r\n try {\r\n const response = await fetch(url);\r\n const blob = await response.blob();\r\n const data = [new ClipboardItem({ [blob.type]: blob })];\r\n await navigator.clipboard.write(data);\r\n this.fire('OnWrite');\r\n } catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n\r\n async writeText(text) {\r\n try {\r\n await navigator.clipboard.writeText(text);\r\n this.fire('OnWriteText');\r\n } catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n\r\n #readBlob(blob) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = reject;\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n}\r\n","export default class ContactPicker extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.prop(df.tString, 'psSupportedProperties', '');\r\n this.event('OnSelect', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'contacts' in navigator);\r\n if (this.pbIsSupported) {\r\n navigator.contacts.getProperties().then(p => this.set('psSupportedProperties', p.join(',')));\r\n }\r\n }\r\n\r\n select() {\r\n const params = this._tActionData;\r\n navigator.contacts.select(\r\n params.aProperties,\r\n { multiple: params.bMultiple }\r\n ).then(result => this.fire('OnSelect', [JSON.stringify(result)]));\r\n }\r\n}\r\n","export default class CredentialManagement extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnCredential', df.cCallModeDefault, 'OnCredentialProxy');\r\n this.event('OnSuccess');\r\n this.event('OnError');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', window.PasswordCredential || window.FederatedCredential);\r\n }\r\n\r\n async getCredential() {\r\n const options = this._tActionData;\r\n const c = await navigator.credentials.get(options);\r\n // Have to manually clone object, because none of these properties are enumerable\r\n const credential = {\r\n id: c.id,\r\n type: c.type,\r\n iconURL: c.iconURL,\r\n name: c.name,\r\n password: c.password,\r\n provider: c.provider,\r\n protocol: c.protocol\r\n };\r\n this.fireEx({ sEvent: 'OnCredential', tActionData: credential });\r\n }\r\n\r\n async #store(options) {\r\n try {\r\n const credential = await navigator.credentials.create(options);\r\n console.log({ credential });\r\n if (credential) {\r\n await navigator.credentials.store(credential);\r\n this.fire('OnSuccess');\r\n } else {\r\n this.fire('OnError', ['CredentialCreationError', 'Unable to create credential based on these options']);\r\n }\r\n } catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n\r\n storePassword(id, name, iconURL, password) {\r\n const options = {\r\n password: {\r\n id,\r\n name: name || undefined,\r\n iconURL: iconURL || undefined,\r\n password\r\n }\r\n };\r\n this.#store(options);\r\n }\r\n\r\n storeFederated(id, name, iconURL, provider, protocol) {\r\n const options = {\r\n federated: {\r\n id,\r\n name: name || undefined,\r\n iconURL: iconURL || undefined,\r\n provider,\r\n protocol: protocol || undefined\r\n }\r\n };\r\n this.#store(options);\r\n }\r\n\r\n async preventSilentAccess() {\r\n try {\r\n await navigator.credentials.preventSilentAccess();\r\n this.fire('OnSuccess');\r\n } catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n}","export default class EyeDropperComponent extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnSelect', df.cCallModeDefault);\r\n this._abortController = new AbortController();\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', !!window.EyeDropper);\r\n }\r\n\r\n open() {\r\n const dropper = new EyeDropper();\r\n dropper\r\n .open({ signal: this._abortController.signal })\r\n .then(result => this.fire('OnSelect', [result.sRGBHex]))\r\n }\r\n\r\n abort() {\r\n this._abortController.abort();\r\n }\r\n}\r\n","export default class Fullscreen extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnFullscreenChange', df.cCallModeDefault);\r\n this.event('OnFullscreenError', df.cCallModeDefault);\r\n }\r\n\r\n static getDfObjName(obj) {\r\n if (obj.dataset.dfobj) {\r\n return obj.dataset.dfobj;\r\n }\r\n if (obj.parentElement) {\r\n return Fullscreen.getDfObjName(obj.parentElement);\r\n }\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', document.fullscreenEnabled);\r\n if (this.pbIsSupported) {\r\n df.dom.on('fullscreenchange', document, this.onFullscreenChange, this);\r\n df.dom.on('fullscreenerror', document, this.onFullscreenError, this);\r\n }\r\n }\r\n\r\n destroy() {\r\n df.dom.off('fullscreenchange', document, this.onFullscreenChange);\r\n df.dom.off('fullscreenerror', document, this.onFullscreenError);\r\n super.destroy();\r\n }\r\n\r\n exitFullscreen() {\r\n document.exitFullscreen();\r\n }\r\n\r\n requestFullscreen(sObjName) {\r\n const obj = this.getWebApp().findObj(sObjName);\r\n if (obj) {\r\n obj._eElem.requestFullscreen().then(() => obj.sizeHeight(-1));\r\n }\r\n }\r\n\r\n onFullscreenChange() {\r\n this.fire('OnFullscreenChange', [document.fullscreenElement ? Fullscreen.getDfObjName(document.fullscreenElement) : ''])\r\n }\r\n\r\n onFullscreenError() {\r\n this.fire('OnFullscreenError');\r\n }\r\n}\r\n","function fix(val, def) {\r\n return (val !== undefined && val !== Infinity) ? val : def;\r\n}\r\n\r\nexport default class NetworkInformation extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n\r\n this.prop(df.tNumber, 'pnDownlink', 0);\r\n this.prop(df.tNumber, 'pnDownlinkMax', 0);\r\n this.prop(df.tString, 'psEffectiveType', '');\r\n this.prop(df.tInt, 'piRTT', 0);\r\n this.prop(df.tBool, 'pbSaveData', false);\r\n this.prop(df.tString, 'psType', '');\r\n\r\n this.event('OnNetworkChange', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'connection' in navigator);\r\n if (this.pbIsSupported) {\r\n this.update();\r\n navigator.connection.addEventListener('change', () => {\r\n this.update();\r\n this.fire('OnNetworkChange');\r\n });\r\n }\r\n }\r\n\r\n update() {\r\n const con = navigator.connection;\r\n \r\n this.set('pnDownlink', fix(con.downlink, 0));\r\n this.set('pnDownlinkMax', fix(con.downlinkMax, 0));\r\n this.set('psEffectiveType', fix(con.effectiveType, ''));\r\n this.set('piRTT', fix(con.rtt, 0));\r\n this.set('pbSaveData', fix(con.saveData, false));\r\n this.set('psType', fix(con.type, ''));\r\n }\r\n}","const notifications = [];\r\n\r\nexport default class Notifications extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.prop(df.tString, 'psPermission', '');\r\n this.event('OnPermissionChange', df.cCallModeDefault);\r\n this.event('OnClick', df.cCallModeDefault);\r\n this.event('OnClose', df.cCallModeDefault);\r\n this.event('OnError', df.cCallModeDefault);\r\n this.event('OnShow', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'Notification' in window);\r\n if (this.pbIsSupported) {\r\n this.set('psPermission', Notification.permission);\r\n }\r\n }\r\n\r\n requestPermission() {\r\n Notification.requestPermission().then(permission => {\r\n this.set('psPermission', permission);\r\n this.fire('OnPermissionChange');\r\n });\r\n }\r\n\r\n createNotification() {\r\n const data = this._tActionData;\r\n try {\r\n const notification = new Notification(data.sTitle, {\r\n dir: data.sDir || undefined,\r\n lang: data.sLang || undefined,\r\n badge: data.sBadge || undefined,\r\n body: data.sBody || undefined,\r\n tag: data.sTag || undefined,\r\n icon: data.sIcon || undefined,\r\n image: data.sImage || undefined,\r\n data: data.data || undefined,\r\n vibrate: data.aVibrate,\r\n renotify: data.bReNotify,\r\n requireInteraction: data.bRequireInteraction,\r\n silent: data.bSilent\r\n });\r\n notification.addEventListener('click', () => this.fire('OnClick', [data.id]));\r\n notification.addEventListener('close', () => this.fire('OnClose', [data.id]));\r\n notification.addEventListener('error', error => this.fire('OnError', [data.id, error.message]));\r\n notification.addEventListener('show', () => this.fire('OnShow', [data.id]));\r\n notifications.push({ id: data.id, notification });\r\n }\r\n catch (error) {\r\n this.fire('OnError', [data.id, error.message]);\r\n }\r\n }\r\n\r\n closeNotification(idString) {\r\n const id = parseInt(idString, 10);\r\n const record = notifications.find(n => n.id === id);\r\n if (record) {\r\n record.notification.close();\r\n notifications.splice(notifications.indexOf(record), 1);\r\n }\r\n }\r\n}\r\n","export default class PageVisibility extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnVisibilityChange', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', typeof document.visibilityState !== 'undefined');\r\n if (this.pbIsSupported) {\r\n document.addEventListener('visibilitychange', () => {\r\n this.fire('OnVisibilityChange', [document.visibilityState]);\r\n });\r\n }\r\n }\r\n}\r\n","export default class ScreenWakeLock extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnSuccess', df.cCallModeDefault);\r\n this.event('OnError', df.cCallModeDefault);\r\n this.event('OnRelease', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'wakeLock' in navigator);\r\n }\r\n\r\n request() {\r\n navigator.wakeLock.request('screen')\r\n .then(wakeLock => {\r\n this._wakeLock = wakeLock;\r\n this._wakeLock.addEventListener('release', () => this.fire('OnRelease'));\r\n this.fire('OnSuccess');\r\n })\r\n .catch(error => {\r\n this.fire('OnError', [error.name, error.message])\r\n });\r\n }\r\n\r\n release() {\r\n if (this._wakeLock) {\r\n this._wakeLock.release().then(() => this._wakeLock = null);\r\n }\r\n }\r\n}\r\n","import { queryPermission } from \"./utils/permissions\";\r\n\r\nclass Sensor extends df.WebObject {\r\n #sensorConstructor;\r\n #sensor;\r\n #permissions = [];\r\n\r\n constructor(sName, oParent, fSensorConstructor) {\r\n super(sName, oParent);\r\n this.#sensorConstructor = fSensorConstructor;\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnActivate');\r\n this.event('OnReading');\r\n this.event('OnError');\r\n }\r\n\r\n get sensor() {\r\n return this.#sensor;\r\n }\r\n\r\n set sensor(val) {\r\n val.addEventListener('activate', () => this.fire('OnActivate'));\r\n val.addEventListener('reading', () => this.fire('OnReading', this.reading));\r\n val.addEventListener('error', event => this.fire('OnError', [event.error.name, event.error.message]));\r\n this.#sensor = val;\r\n }\r\n\r\n createSensor(options) {\r\n this.stop();\r\n if (this.pbIsSupported) {\r\n try {\r\n this.sensor = new this.#sensorConstructor(options);\r\n }\r\n catch (error) {\r\n this.fire('OnError', [error.name, error.message]);\r\n }\r\n }\r\n }\r\n\r\n get reading() {\r\n return [];\r\n }\r\n\r\n configurePermission(permission, property, event) {\r\n this.prop(df.tString, property, '');\r\n this.event(event);\r\n this.#permissions.push([permission, property, event]);\r\n }\r\n\r\n async start() {\r\n const queries = this.#permissions.map(perm => queryPermission(this, ...perm));\r\n const results = await Promise.all(queries);\r\n if (results.every(result => result === 'granted')) {\r\n this.#sensor?.start();\r\n }\r\n else {\r\n this.fire('OnError', ['SensorPermissionError', 'No permission to use this sensor']);\r\n }\r\n }\r\n\r\n stop() {\r\n this.#sensor?.stop();\r\n }\r\n\r\n destroy() {\r\n this.stop();\r\n super.destroy();\r\n }\r\n}\r\n\r\nclass FrequencySensor extends Sensor {\r\n constructor(sName, oParent, fSensorConstructor) {\r\n super(sName, oParent, fSensorConstructor);\r\n this.prop(df.tNumber, 'pnFrequency', 1);\r\n }\r\n\r\n set_pnFrequency(nFrequency) {\r\n this.createSensor({ frequency: nFrequency });\r\n }\r\n}\r\n\r\nclass ReferenceFrameSensor extends FrequencySensor {\r\n constructor(sName, oParent, fSensorConstructor) {\r\n super(sName, oParent, fSensorConstructor);\r\n this.prop(df.tString, 'psReferenceFrame', 'device');\r\n }\r\n\r\n set_pnFrequency(nFrequency) {\r\n this.createSensor({ frequency: nFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n set_psReferenceFrame(sReferenceFrame) {\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: sReferenceFrame });\r\n }\r\n}\r\n\r\nexport class AbsoluteOrientationSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, window.AbsoluteOrientationSensor);\r\n this.configurePermission('accelerometer', 'psAccelerometerPermission', 'OnAccelerometerPermissionChange');\r\n this.configurePermission('magnetometer', 'psMagnetometerPermission', 'OnMagnetometerPermissionChange');\r\n this.configurePermission('gyroscope', 'psGyroscopePermission', 'OnGyroscopePermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'AbsoluteOrientationSensor' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return this.sensor.quaternion;\r\n }\r\n}\r\n\r\nexport class AccelerometerSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, Accelerometer);\r\n this.configurePermission('accelerometer', 'psAccelerometerPermission', 'OnAccelerometerPermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'Accelerometer' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.x, this.sensor.y, this.sensor.z];\r\n }\r\n}\r\n\r\nexport class AmbientLightSensor extends FrequencySensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, window.AmbientLightSensor);\r\n this.configurePermission('ambient-light-sensor', 'psAmbientLightSensorPermission', 'OnAmbientLightSensorPermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'AmbientLightSensor' in window);\r\n this.createSensor({ frequency: this.pnFrequency });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.illuminance];\r\n }\r\n}\r\n\r\nexport class GravitySensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, window.GravitySensor);\r\n this.configurePermission('accelerometer', 'psAccelerometerPermission', 'OnAccelerometerPermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'GravitySensor' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.x, this.sensor.y, this.sensor.z];\r\n }\r\n}\r\n\r\nexport class GyroscopeSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, Gyroscope);\r\n this.configurePermission('gyroscope', 'psGyroscopePermission', 'OnGyroscopePermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'Gyroscope' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.x, this.sensor.y, this.sensor.z];\r\n }\r\n}\r\n\r\nexport class LinearAccelerationSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, window.LinearAccelerationSensor);\r\n this.configurePermission('accelerometer', 'psAccelerometerPermission', 'OnAccelerometerPermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'LinearAccelerationSensor' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.x, this.sensor.y, this.sensor.z];\r\n }\r\n}\r\n\r\nexport class MagnetometerSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, Magnetometer);\r\n this.configurePermission('magnetometer', 'psMagnetometerPermission', 'OnMagnetometerPermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'Magnetometer' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return [this.sensor.x, this.sensor.y, this.sensor.z];\r\n }\r\n}\r\n\r\nexport class RelativeOrientationSensor extends ReferenceFrameSensor {\r\n constructor(sName, oParent) {\r\n super(sName, oParent, window.RelativeOrientationSensor);\r\n this.configurePermission('accelerometer', 'psAccelerometerPermission', 'OnAccelerometerPermissionChange');\r\n this.configurePermission('gyroscope', 'psGyroscopePermission', 'OnGyroscopePermissionChange');\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'RelativeOrientationSensor' in window);\r\n this.createSensor({ frequency: this.pnFrequency, referenceFrame: this.psReferenceFrame });\r\n }\r\n\r\n get reading() {\r\n return this.sensor.quaternion;\r\n }\r\n}\r\n","export default class Vibration extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'vibrate' in navigator);\r\n }\r\n\r\n vibrate() {\r\n navigator.vibrate(arguments);\r\n }\r\n}\r\n","export default class WebShare extends df.WebObject {\r\n constructor(sName, oParent) {\r\n super(sName, oParent);\r\n this.prop(df.tBool, 'pbIsSupported', false);\r\n this.event('OnSuccess', df.cCallModeDefault);\r\n this.event('OnError', df.cCallModeDefault);\r\n }\r\n\r\n create(tDef) {\r\n super.create(tDef);\r\n this.set('pbIsSupported', 'share' in navigator);\r\n }\r\n\r\n share(text, title, url) {\r\n const data = {\r\n text: text || undefined,\r\n title: title || undefined,\r\n url\r\n };\r\n Promise.all(this._tActionData?.aFiles?.map(info => this.toFile(info)) || [])\r\n .then(files => {\r\n if (files.length > 0) {\r\n if (navigator.canShare && navigator.canShare({ files })) {\r\n return {\r\n ...data,\r\n files\r\n };\r\n } else {\r\n throw ({ name: 'CantShareError', message: 'These files can\\'t be shared' });\r\n }\r\n }\r\n return data;\r\n })\r\n .then(data => navigator.share(data))\r\n .then(() => this.fire('OnSuccess'))\r\n .catch(error => this.fire('OnError', [error.name, error.message]));\r\n }\r\n\r\n toFile(info) {\r\n return fetch(info.sURL, { credentials: 'same-origin' })\r\n .then(response => response.blob())\r\n .then(data => new File([data], info.sName, {\r\n type: info.sContentType,\r\n }));\r\n }\r\n}\r\n","import BroadcastChannel from './broadcast-channel';\r\nimport Clipboard from './clipboard';\r\nimport ContactPicker from './contact-picker';\r\nimport CredentialManagement from './credential-management';\r\nimport EyeDropper from './eye-dropper';\r\nimport Fullscreen from './fullscreen';\r\nimport NetworkInformation from './network-information';\r\nimport Notifications from './notifications';\r\nimport PageVisibility from './page-visibility';\r\nimport ScreenWakeLock from './screen-wake-lock';\r\nimport {\r\n AbsoluteOrientationSensor,\r\n AccelerometerSensor,\r\n AmbientLightSensor,\r\n GravitySensor,\r\n GyroscopeSensor,\r\n LinearAccelerationSensor,\r\n MagnetometerSensor,\r\n RelativeOrientationSensor\r\n} from './sensor';\r\nimport Vibration from './vibration';\r\nimport WebShare from './web-share';\r\n\r\nglobal.WebAPIs = {\r\n AbsoluteOrientationSensor,\r\n AccelerometerSensor,\r\n AmbientLightSensor,\r\n BroadcastChannel,\r\n Clipboard,\r\n ContactPicker,\r\n CredentialManagement,\r\n EyeDropper,\r\n Fullscreen,\r\n GravitySensor,\r\n GyroscopeSensor,\r\n LinearAccelerationSensor,\r\n MagnetometerSensor,\r\n NetworkInformation,\r\n Notifications,\r\n PageVisibility,\r\n RelativeOrientationSensor,\r\n ScreenWakeLock,\r\n Vibration,\r\n WebShare\r\n};\r\n"],"names":["__webpack_require__","g","globalThis","this","Function","e","window","BroadcastChannelComponent","df","WebObject","constructor","sName","oParent","super","prop","tBool","tString","event","cCallModeDefault","create","tDef","set","BroadcastChannel","pbIsSupported","psName","_channel","addEventListener","fire","data","postMessage","sData","async","queryPermission","instance","name","property","result","navigator","permissions","query","state","status","onchange","error","message","Clipboard","items","clipboard","read","Promise","all","map","item","types","blob","getType","type","fireEx","sEvent","tActionData","text","readText","url","response","fetch","ClipboardItem","write","writeText","resolve","reject","reader","FileReader","onload","onerror","readAsDataURL","ContactPicker","contacts","getProperties","then","p","join","select","params","_tActionData","aProperties","multiple","bMultiple","JSON","stringify","CredentialManagement","PasswordCredential","FederatedCredential","options","c","credentials","get","credential","id","iconURL","password","provider","protocol","storePassword","undefined","storeFederated","federated","preventSilentAccess","console","log","store","EyeDropperComponent","_abortController","AbortController","EyeDropper","open","signal","sRGBHex","abort","Fullscreen","obj","dataset","dfobj","parentElement","getDfObjName","document","fullscreenEnabled","dom","on","onFullscreenChange","onFullscreenError","destroy","off","exitFullscreen","requestFullscreen","sObjName","getWebApp","findObj","_eElem","sizeHeight","fullscreenElement","fix","val","def","Infinity","NetworkInformation","tNumber","tInt","update","connection","con","downlink","downlinkMax","effectiveType","rtt","saveData","notifications","Notifications","Notification","permission","requestPermission","createNotification","notification","sTitle","dir","sDir","lang","sLang","badge","sBadge","body","sBody","tag","sTag","icon","sIcon","image","sImage","vibrate","aVibrate","renotify","bReNotify","requireInteraction","bRequireInteraction","silent","bSilent","push","closeNotification","idString","parseInt","record","find","n","close","splice","indexOf","PageVisibility","visibilityState","ScreenWakeLock","request","wakeLock","_wakeLock","catch","release","Sensor","fSensorConstructor","sensor","reading","createSensor","stop","configurePermission","queries","perm","every","start","FrequencySensor","set_pnFrequency","nFrequency","frequency","ReferenceFrameSensor","referenceFrame","psReferenceFrame","set_psReferenceFrame","sReferenceFrame","pnFrequency","Vibration","arguments","WebShare","share","title","aFiles","info","toFile","files","length","canShare","sURL","File","sContentType","global","WebAPIs","AbsoluteOrientationSensor","quaternion","AccelerometerSensor","Accelerometer","x","y","z","AmbientLightSensor","illuminance","GravitySensor","GyroscopeSensor","Gyroscope","LinearAccelerationSensor","MagnetometerSensor","Magnetometer","RelativeOrientationSensor"],"sourceRoot":""}