feat: initial build - static app kapp-pwa
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,271 @@
|
||||
(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([[6709],{
|
||||
|
||||
/***/ 73315:
|
||||
/*!***************************************************************************!*\
|
||||
!*** ./node_modules/@aparajita/capacitor-biometric-auth/dist/esm/base.js ***!
|
||||
\***************************************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "BiometricAuthBase": () => (/* binding */ BiometricAuthBase)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 71670);
|
||||
/* harmony import */ var _capacitor_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @capacitor/app */ 35057);
|
||||
/* harmony import */ var _capacitor_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @capacitor/core */ 97718);
|
||||
/* harmony import */ var _definitions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./definitions */ 43172);
|
||||
|
||||
|
||||
|
||||
|
||||
class BiometricAuthBase extends _capacitor_core__WEBPACK_IMPORTED_MODULE_2__.WebPlugin {
|
||||
authenticate(options) {
|
||||
var _this = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
try {
|
||||
yield _this.internalAuthenticate(options);
|
||||
} catch (error) {
|
||||
// error will be an instance of CapacitorException on native platforms,
|
||||
// an instance of BiometryError on the web.
|
||||
if (error instanceof _capacitor_core__WEBPACK_IMPORTED_MODULE_2__.CapacitorException) {
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_3__.BiometryError(error.message, error.code);
|
||||
} else {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
})();
|
||||
}
|
||||
|
||||
addResumeListener(listener) {
|
||||
var _this2 = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
return _capacitor_app__WEBPACK_IMPORTED_MODULE_1__.App.addListener('appStateChange', ({
|
||||
isActive
|
||||
}) => {
|
||||
if (isActive) {
|
||||
_this2.checkBiometry().then(info => {
|
||||
listener(info);
|
||||
}).catch(console.error);
|
||||
}
|
||||
});
|
||||
})();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 36709:
|
||||
/*!**************************************************************************!*\
|
||||
!*** ./node_modules/@aparajita/capacitor-biometric-auth/dist/esm/web.js ***!
|
||||
\**************************************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "BiometricAuthWeb": () => (/* binding */ BiometricAuthWeb)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 71670);
|
||||
/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ 73315);
|
||||
/* harmony import */ var _definitions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./definitions */ 43172);
|
||||
/* harmony import */ var _web_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./web-utils */ 56798);
|
||||
|
||||
|
||||
|
||||
// eslint-disable-next-line import/prefer-default-export
|
||||
|
||||
class BiometricAuthWeb extends _base__WEBPACK_IMPORTED_MODULE_1__.BiometricAuthBase {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.biometryType = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none;
|
||||
this.biometryTypes = [];
|
||||
this.biometryIsEnrolled = false;
|
||||
this.deviceIsSecure = false;
|
||||
} // On the web, return the fake biometry set by setBiometryType().
|
||||
|
||||
|
||||
checkBiometry() {
|
||||
var _this = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
const hasBiometry = _this.biometryType !== _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none;
|
||||
const available = hasBiometry && _this.biometryIsEnrolled;
|
||||
let reason = '';
|
||||
let code = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.none;
|
||||
|
||||
if (!hasBiometry) {
|
||||
reason = 'No biometry is available';
|
||||
code = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.biometryNotAvailable;
|
||||
} else if (!_this.biometryIsEnrolled) {
|
||||
reason = 'Biometry is not enrolled';
|
||||
code = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.biometryNotEnrolled;
|
||||
}
|
||||
|
||||
return Promise.resolve({
|
||||
isAvailable: available,
|
||||
strongBiometryIsAvailable: _this.biometryIsEnrolled && _this.hasStrongBiometry(),
|
||||
biometryType: _this.biometryType,
|
||||
biometryTypes: _this.biometryTypes,
|
||||
deviceIsSecure: _this.deviceIsSecure,
|
||||
reason,
|
||||
code
|
||||
});
|
||||
})();
|
||||
}
|
||||
|
||||
hasStrongBiometry() {
|
||||
return this.biometryTypes.some(type => type === _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.faceId || type === _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.touchId || type === _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.fingerprintAuthentication);
|
||||
}
|
||||
/* eslint-disable no-alert */
|
||||
// On the web, fake authentication with a confirm dialog.
|
||||
|
||||
|
||||
internalAuthenticate(options) {
|
||||
var _this2 = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
const result = yield _this2.checkBiometry(); // First try biometry if available.
|
||||
|
||||
if (result.isAvailable) {
|
||||
if (confirm( // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we want to use the default value if options?.reason is an empty string
|
||||
(options === null || options === void 0 ? void 0 : options.reason) || `Authenticate with ${result.biometryTypes.map(type => (0,_web_utils__WEBPACK_IMPORTED_MODULE_3__.getBiometryName)(type)).join(' or ')}?`)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (options === null || options === void 0 ? void 0 : options.allowDeviceCredential) {
|
||||
// Either biometry is not available, or the user declined to use it
|
||||
// and device security is allowed.
|
||||
if (result.deviceIsSecure) {
|
||||
if (confirm('Authenticate with device security?')) {
|
||||
return;
|
||||
} else {
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryError('User cancelled', _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.userCancel);
|
||||
}
|
||||
} else if (result.isAvailable) {
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryError('Device is not secure', _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.noDeviceCredential);
|
||||
}
|
||||
} else if (!result.isAvailable) {
|
||||
// Biometry is not available and device security is not allowed.
|
||||
if (result.biometryType === _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none) {
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryError('Biometry is not available', _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.biometryNotAvailable);
|
||||
} else {
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryError('Biometry is not enrolled', _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.biometryNotEnrolled);
|
||||
}
|
||||
} // The user declined to use biometry and device credentials not allowed.
|
||||
|
||||
|
||||
throw new _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryError('User cancelled', _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryErrorType.userCancel);
|
||||
})();
|
||||
} // Web only, used for simulating biometric authentication.
|
||||
|
||||
|
||||
setBiometryType(type) {
|
||||
var _this3 = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
if (type === undefined) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
const types = Array.isArray(type) ? type : [type];
|
||||
_this3.biometryTypes = [];
|
||||
_this3.biometryType = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none;
|
||||
|
||||
if (types.length === 0) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
if (isBiometryTypes(types)) {
|
||||
_this3.biometryType = types[0];
|
||||
|
||||
if (_this3.biometryType !== _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none) {
|
||||
_this3.biometryTypes = types;
|
||||
}
|
||||
} else {
|
||||
for (let i = 0; i < types.length; i++) {
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
if (_definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.hasOwnProperty(types[i])) {
|
||||
const biometryType = _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType[types[i]];
|
||||
|
||||
if (_this3.biometryType === _definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType.none) {
|
||||
_this3.biometryTypes = [];
|
||||
} else {
|
||||
_this3.biometryTypes.push(biometryType);
|
||||
}
|
||||
|
||||
if (i === 0) {
|
||||
_this3.biometryType = biometryType;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
})();
|
||||
} // Web only, used for simulating device unlock security.
|
||||
|
||||
|
||||
setBiometryIsEnrolled(enrolled) {
|
||||
var _this4 = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
_this4.biometryIsEnrolled = enrolled;
|
||||
return Promise.resolve();
|
||||
})();
|
||||
} // Web only, used for simulating device unlock security.
|
||||
|
||||
|
||||
setDeviceIsSecure(isSecure) {
|
||||
var _this5 = this;
|
||||
|
||||
return (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
_this5.deviceIsSecure = isSecure;
|
||||
return Promise.resolve();
|
||||
})();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function isBiometryTypes(value) {
|
||||
return Object.values(_definitions__WEBPACK_IMPORTED_MODULE_2__.BiometryType).includes(value[0]);
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 64406:
|
||||
/*!**************************************************************************************************************!*\
|
||||
!*** ./node_modules/@aparajita/capacitor-biometric-auth/node_modules/@capacitor/app/dist/esm/definitions.js ***!
|
||||
\**************************************************************************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 35057:
|
||||
/*!********************************************************************************************************!*\
|
||||
!*** ./node_modules/@aparajita/capacitor-biometric-auth/node_modules/@capacitor/app/dist/esm/index.js ***!
|
||||
\********************************************************************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "App": () => (/* binding */ App)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _capacitor_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @capacitor/core */ 97718);
|
||||
/* harmony import */ var _definitions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./definitions */ 64406);
|
||||
|
||||
const App = (0,_capacitor_core__WEBPACK_IMPORTED_MODULE_0__.registerPlugin)('App', {
|
||||
web: () => __webpack_require__.e(/*! import() */ 740).then(__webpack_require__.bind(__webpack_require__, /*! ./web */ 50740)).then(m => new m.AppWeb())
|
||||
});
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}])
|
||||
//# sourceMappingURL=6709.js.map
|
||||
Reference in New Issue
Block a user