diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index dc67022..beaf613 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -15,7 +15,7 @@ include ':capacitor-browser' project(':capacitor-browser').projectDir = new File('../node_modules/@capacitor/browser/android') include ':capacitor-camera' -project(':capacitor-camera').projectDir = new File('../../capacitor-plugins/camera/android') +project(':capacitor-camera').projectDir = new File('../../capacitor-camera/android') include ':capacitor-clipboard' project(':capacitor-clipboard').projectDir = new File('../node_modules/@capacitor/clipboard/android') diff --git a/ios/App/Podfile b/ios/App/Podfile index 1bc4e94..857e409 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -15,7 +15,7 @@ def capacitor_pods pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app' pod 'CapacitorAppLauncher', :path => '../../node_modules/@capacitor/app-launcher' pod 'CapacitorBrowser', :path => '../../node_modules/@capacitor/browser' - pod 'CapacitorCamera', :path => '../../../capacitor-plugins/camera' + pod 'CapacitorCamera', :path => '../../../capacitor-camera' pod 'CapacitorClipboard', :path => '../../node_modules/@capacitor/clipboard' pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device' pod 'CapacitorDialog', :path => '../../node_modules/@capacitor/dialog' diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock index 70a0c90..85b8424 100644 --- a/ios/App/Podfile.lock +++ b/ios/App/Podfile.lock @@ -1,54 +1,54 @@ PODS: - - Capacitor (8.0.2): + - Capacitor (8.2.0): - CapacitorCordova - - CapacitorActionSheet (8.0.0): + - CapacitorActionSheet (8.1.0): - Capacitor - - CapacitorApp (8.0.0): + - CapacitorApp (8.0.1): - Capacitor - - CapacitorAppLauncher (8.0.0): + - CapacitorAppLauncher (8.0.1): - Capacitor - - CapacitorBrowser (8.0.0): + - CapacitorBrowser (8.0.2): - Capacitor - CapacitorCamera (8.0.1): - Capacitor - - CapacitorClipboard (8.0.0): + - CapacitorClipboard (8.0.1): - Capacitor - - CapacitorCordova (8.0.2) - - CapacitorDevice (8.0.0): + - CapacitorCordova (8.2.0) + - CapacitorDevice (8.0.1): - Capacitor - - CapacitorDialog (8.0.0): + - CapacitorDialog (8.0.1): - Capacitor - - CapacitorFilesystem (8.1.0): + - CapacitorFilesystem (8.1.2): - Capacitor - - IONFilesystemLib (~> 1.1.0) - - CapacitorGeolocation (8.0.0): + - IONFilesystemLib (~> 1.1.1) + - CapacitorGeolocation (8.1.0): - Capacitor - IONGeolocationLib (= 2.0.0) - - CapacitorHaptics (8.0.0): + - CapacitorHaptics (8.0.1): - Capacitor - - CapacitorKeyboard (8.0.0): + - CapacitorKeyboard (8.0.1): - Capacitor - - CapacitorLocalNotifications (8.0.0): + - CapacitorLocalNotifications (8.0.2): - Capacitor - - CapacitorNetwork (8.0.0): + - CapacitorNetwork (8.0.1): - Capacitor - - CapacitorPreferences (8.0.0): + - CapacitorPreferences (8.0.1): - Capacitor - - CapacitorPushNotifications (8.0.0): + - CapacitorPushNotifications (8.0.2): - Capacitor - - CapacitorScreenOrientation (8.0.0): + - CapacitorScreenOrientation (8.0.1): - Capacitor - - CapacitorScreenReader (8.0.0): + - CapacitorScreenReader (8.0.1): - Capacitor - - CapacitorShare (8.0.0): + - CapacitorShare (8.0.1): - Capacitor - - CapacitorSplashScreen (8.0.0): + - CapacitorSplashScreen (8.0.1): - Capacitor - - CapacitorStatusBar (8.0.0): + - CapacitorStatusBar (8.0.1): - Capacitor - - CapacitorTextZoom (8.0.0): + - CapacitorTextZoom (8.0.1): - Capacitor - - CapacitorToast (8.0.0): + - CapacitorToast (8.0.1): - Capacitor - Firebase/CoreOnly (12.9.0): - FirebaseCore (~> 12.9.0) @@ -117,7 +117,7 @@ DEPENDENCIES: - "CapacitorApp (from `../../node_modules/@capacitor/app`)" - "CapacitorAppLauncher (from `../../node_modules/@capacitor/app-launcher`)" - "CapacitorBrowser (from `../../node_modules/@capacitor/browser`)" - - CapacitorCamera (from `../../../capacitor-plugins/camera`) + - CapacitorCamera (from `../../../capacitor-camera`) - "CapacitorClipboard (from `../../node_modules/@capacitor/clipboard`)" - "CapacitorCordova (from `../../node_modules/@capacitor/ios`)" - "CapacitorDevice (from `../../node_modules/@capacitor/device`)" @@ -165,7 +165,7 @@ EXTERNAL SOURCES: CapacitorBrowser: :path: "../../node_modules/@capacitor/browser" CapacitorCamera: - :path: "../../../capacitor-plugins/camera" + :path: "../../../capacitor-camera" CapacitorClipboard: :path: "../../node_modules/@capacitor/clipboard" CapacitorCordova: @@ -206,31 +206,31 @@ EXTERNAL SOURCES: :path: "../../node_modules/@capacitor/toast" SPEC CHECKSUMS: - Capacitor: cfc1ce4a70dbc19fdc4e66e17808937088029752 - CapacitorActionSheet: 5caa107329840f9fbf6e98b06a1a5b02421990d3 - CapacitorApp: cfa0120a1f3a6f69d4d37d3041782aa5c5167d0b - CapacitorAppLauncher: a72c5bf90dccef44d3b7ff9fc01813afa38e455e - CapacitorBrowser: 7452c73a202716d9c9035e5dbe5c5d8d07737f22 + Capacitor: c04568d0798e8c9a481d70e8d3df1f7fe1966549 + CapacitorActionSheet: 5b1f008e0267f7bf421a63330dd8ae63d6f9304e + CapacitorApp: fcd990168c3249d2c5a7ae94920a031d05789e73 + CapacitorAppLauncher: fc7c313549920528d0f28493b60d20de679deba4 + CapacitorBrowser: a9d79172878eea4b0cbfa7556bc9fa5338ca85fb CapacitorCamera: 71da609c24e9ebde9dd253019e52102573937a30 - CapacitorClipboard: 9a0c0a654641f93482748efb659bf95c0382b65a - CapacitorCordova: 921bdb690ebe82421b24fce45552fd3dea2ae43a - CapacitorDevice: 56baac70d6493c42756676d521e99eea5cc83e71 - CapacitorDialog: c4d52ac6a863f8093f9d815b19584c644bdfe98c - CapacitorFilesystem: 57c128a5ea9875aa7bb54eb7431e63d7721bedd4 - CapacitorGeolocation: a8381371f7b460e6be569576557285e70f0c9d6c - CapacitorHaptics: 7a77ce744c4b516b3ffd7f8c96d3de574d77b898 - CapacitorKeyboard: 0a2e7c0635ccf3db60abed14bd6f35147ce25942 - CapacitorLocalNotifications: b0003a1b69c95badd88f9cb56b1965ace20eb346 - CapacitorNetwork: e03b0c02b4a9d76e58c19e15e9e0c200929529b9 - CapacitorPreferences: 83f13cc19660ca9649a4769ec255be93f8c2ff68 - CapacitorPushNotifications: 49cd6c474cb03ee171494636693f6f06209469a0 - CapacitorScreenOrientation: 82b7c0bcc6189e97269ec66c613d0cd4f1c1c004 - CapacitorScreenReader: cdb0f08e44eac266cfb50d2afc2bf44d36618e44 - CapacitorShare: 703a2744f755982f1a4950f5120bea9763d6dfea - CapacitorSplashScreen: 4b78177a21f0f73ccc1c78dd93b2a94854ac4b83 - CapacitorStatusBar: c6fa2d404083e41d145ea56698707a6986d4428b - CapacitorTextZoom: 28c493db937d1f25e696b2db7c0fef5e3c5ba2bf - CapacitorToast: 6275c84283ac9c424a20554e71b8a6263f44554c + CapacitorClipboard: 1ba60616f1b2d3df52417000217ec810216bbbaf + CapacitorCordova: a9ac88d84a1f5280f33b349fe50fce1902683ac0 + CapacitorDevice: ebd210e29ae690225291b8616e6cfaf419d2e866 + CapacitorDialog: d43769d1245d315ffc931b2ca3d4eea76870798b + CapacitorFilesystem: 7d3e3df84be4f0d999a5d6baa23aeb30c2de6450 + CapacitorGeolocation: a2009727714adfa58bf093300b15856aa59e4b7a + CapacitorHaptics: af524744f86b761c13306b4c88a0de6cd28e3062 + CapacitorKeyboard: cbbe3df7194442bfd18ed4ac1d9ed0294ce579a9 + CapacitorLocalNotifications: adb0776e74524387e48b9b683690fdf79f274753 + CapacitorNetwork: 7afc28ed4d9abe1d9801264fa485db32e4420546 + CapacitorPreferences: 0fa33b3affebf12d96358b491ed7c2b39bec3270 + CapacitorPushNotifications: ea06743630efa295851de6867b72bd8894c02928 + CapacitorScreenOrientation: 07503c9d633377427f1e122449b06b1dbc992d10 + CapacitorScreenReader: 4faf73361fd8564c6a288050a585ec2dc2a16bc4 + CapacitorShare: 8a565649d321a05a1ae8b525b2a9b4f2d92c70ce + CapacitorSplashScreen: 1281f7df4d9b4a72bccab8d03e6b2bbd17dff122 + CapacitorStatusBar: 7fc9bb6737a29524034dfdc51ae1f1880d972b4d + CapacitorTextZoom: afbf3d1cb61547480e60b4d06979bc239afee747 + CapacitorToast: 0432f40d66143ab56a322095e09740aa2c9a88a5 Firebase: 065f2bb395062046623036d8e6dc857bc2521d56 FirebaseCore: 428912f751178b06bef0a1793effeb4a5e09a9b8 FirebaseCoreInternal: b321eafae5362113bc182956fafc9922cfc77b72 @@ -243,6 +243,6 @@ SPEC CHECKSUMS: nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 -PODFILE CHECKSUM: a46d55aa682d4f0c1581140965843afeaa9028f5 +PODFILE CHECKSUM: b49ced8e6228a0f22eeb59362e0574053de57408 COCOAPODS: 1.16.2 diff --git a/package-lock.json b/package-lock.json index 32cc557..21fa222 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@capacitor/app": "^8.0.0", "@capacitor/app-launcher": "^8.0.0", "@capacitor/browser": "^8.0.0", - "@capacitor/camera": "file:/Users/ruimendes/Documents/Outsystems/Capacitor/capacitor-plugins/camera", + "@capacitor/camera": "file:/Users/ruimendes/Documents/Outsystems/Capacitor/capacitor-camera", "@capacitor/clipboard": "^8.0.0", "@capacitor/core": "^8.0.0", "@capacitor/device": "^8.0.0", @@ -71,7 +71,7 @@ "vitest": "^0.29.2" } }, - "../capacitor-plugins/camera": { + "../capacitor-camera": { "name": "@capacitor/camera", "version": "8.0.1", "license": "MIT", @@ -83,6 +83,7 @@ "@ionic/eslint-config": "^0.4.0", "@ionic/prettier-config": "^4.0.0", "@ionic/swiftlint-config": "^2.0.0", + "@types/node": "^25.3.3", "eslint": "^8.57.1", "prettier": "^3.6.2", "prettier-plugin-java": "^2.7.7", @@ -1709,58 +1710,58 @@ } }, "node_modules/@capacitor/action-sheet": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/action-sheet/-/action-sheet-8.0.0.tgz", - "integrity": "sha512-6NYSv9EeaPiInu+/4AfuvSlJEaH+F7J6UmAejVdPW8YHF+Qinc/DKYkMvqMx+8MXVKIptCA0Zwz8JnabuNCl2Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@capacitor/action-sheet/-/action-sheet-8.1.0.tgz", + "integrity": "sha512-c/I3ESi2z4g2JSYCpqSqGLc/8dFU+DNLfkwHSex63Xkwd9mCmKTf6myPB8vQ1GrTBvaT2fiF48mRmD4/rxSTnw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/android": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.0.2.tgz", - "integrity": "sha512-0D7j0YvzjnfCMKLvFkAbx8b3Vwx+QfHFG5NzoXpI9sAl3zWiLsfa+NX4x92Fy+k4MGjLSMAfLThCqILYGDDsgw==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.2.0.tgz", + "integrity": "sha512-XLm5OsWLPfXQxDxzFS7SOdMEgGvW+2c7TGLXkTR2cSKdkWK5Abns4imlT5qghKYhjM9r74IrDkBWg/9ALUGNKQ==", "license": "MIT", "peerDependencies": { - "@capacitor/core": "^8.0.0" + "@capacitor/core": "^8.2.0" } }, "node_modules/@capacitor/app": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-8.0.0.tgz", - "integrity": "sha512-OwzIkUs4w433Bu9WWAEbEYngXEfJXZ9Wmdb8eoaqzYBgB0W9/3Ed/mh6sAYPNBAZlpyarmewgP7Nb+d3Vrh+xA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-8.0.1.tgz", + "integrity": "sha512-yeG3yyA0ETKqvgqexwHMBlmVOF13A1hRXzv/km0Ptv5TrNIZvZJK4MTI3uiqvnbHrzoJGP5DwWAjEXEfi90v3Q==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/app-launcher": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/app-launcher/-/app-launcher-8.0.0.tgz", - "integrity": "sha512-sHPE1fkRfyxisDDMHKdSXNHT147q+7+6gSVQi7KCCZ2B9Ibl3/QlFVzWDp0z0OuCHVz97jjoML9jqd5ELg94+g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/app-launcher/-/app-launcher-8.0.1.tgz", + "integrity": "sha512-23D8zi74sn7kxvISix8qYwgqdxGJN+4NImcNGvHen98LB1zb4eZfkJvFvp7pwntxGw4OjIE7yuf4wbzZxQHpog==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/browser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/browser/-/browser-8.0.0.tgz", - "integrity": "sha512-xey7maszGABKuStvXDV4vXN+EzIyz0o7zlyzw4JKG6o/1GzqeqHqVuE+8Ux+Hks3DZji4LoriWZVgVF6mR6RGg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/browser/-/browser-8.0.2.tgz", + "integrity": "sha512-oJEtVP5huwPJ8GgOCH3OewhsBPTW6aVtWg8hU6g65MxBdhkcAKyzYrhsyXupC5GaMxltqLf1JzKETMmGkh6tDw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/camera": { - "resolved": "../capacitor-plugins/camera", + "resolved": "../capacitor-camera", "link": true }, "node_modules/@capacitor/cli": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-8.0.2.tgz", - "integrity": "sha512-/8qLYxhytMyUKTHK8i6YU+DMD3AuFiQgSuJCyMltcg9MN3W9En7zqQZSo/WN4eC7qif/oyZACzm7OkAZKani7g==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-8.2.0.tgz", + "integrity": "sha512-1cMEk0d/I6tl1U+v/lnJR5Oylpx8ZBIHrvQxD5zK0MkjYOUyQAAGJgh97rkhGJqjAUvrGpa8H4BmyhNQN9a17A==", "dev": true, "license": "MIT", "dependencies": { @@ -1791,18 +1792,18 @@ } }, "node_modules/@capacitor/clipboard": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/clipboard/-/clipboard-8.0.0.tgz", - "integrity": "sha512-nRgx07ThaoxOaTObZo/G39se9wA3oVgP0ooNO539P1TOZzWObwuXWObZgvaRJNpJfHVYcNe45Ylb8nlYl7VleA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/clipboard/-/clipboard-8.0.1.tgz", + "integrity": "sha512-iOlbTi8MojKyLnYE+M27priXid7vHd0PlDwyHohPzkuQ8Rkp6q7ykwZmPEUD+OnU/Ink7Qw/pUOfKgraKmA6Eg==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/core": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.0.2.tgz", - "integrity": "sha512-EXZfxkL6GFJS2cb7TIBR7RiHA5iz6ufDcl1VmUpI2pga3lJ5Ck2+iqbx7N+osL3XYem9ad4XCidJEMm64DX6UQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.2.0.tgz", + "integrity": "sha512-oKaoNeNtH2iIZMDFVrb1atoyRECDGHcfLMunJ5KWN8DtvpVBeeA4c41e20NTuhMxw1cSYbpq2PV2hb+/9CJxlQ==", "license": "MIT", "peer": true, "dependencies": { @@ -1810,27 +1811,27 @@ } }, "node_modules/@capacitor/device": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-8.0.0.tgz", - "integrity": "sha512-qFmlTDnAvUwIg93YUF3u3ovqpDFqUl2RFkf2dVIF8Py7vTA+GjQIHQWITcBKfeUENoVXPNn04t5nxg5mAkjNEA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-8.0.1.tgz", + "integrity": "sha512-LHtf3ObK7dpFS3jJ0GNrTG0lHufNgD0tLBukeEAxeR28mu80dHQA1XxmQV0CWo+KKcI0hBdz4dfucRta3TdVxw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/dialog": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/dialog/-/dialog-8.0.0.tgz", - "integrity": "sha512-ri19ISkWK89JHgVgR1JHZ4Yf6jzZHrXCMG4mqeiuUQqXXu6nw0uVBwEy9MwNQRw3Wlq/KboqLeIs1pQnOswqrQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/dialog/-/dialog-8.0.1.tgz", + "integrity": "sha512-Dq0mZBsd++7CvPvpD2gfbUB44k/zCoe5K9IgYmMImQ4Yphu4/MxLVpFDFAqSya011UBBTGPrUQGVacIW3jDNkw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/filesystem": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-8.1.0.tgz", - "integrity": "sha512-AfawIxQ8xBmKsEn/vEpgurGQB9+hFXRtwEiCXR+SSS0MkTw4bJrvLGnloZ/PblegYefvnay1q079Yz3PQ6y1dA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-8.1.2.tgz", + "integrity": "sha512-doaaMfGoFR2hWU6aV6u83I+5ZsGyJVq+Gz4r9lMpJzUKMm1eMu0hLnFdV1aXZlU9FlK/RndFrVD8oRZfNOqWgQ==", "license": "MIT", "dependencies": { "@capacitor/synapse": "^1.0.4" @@ -1840,9 +1841,9 @@ } }, "node_modules/@capacitor/geolocation": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/geolocation/-/geolocation-8.0.0.tgz", - "integrity": "sha512-ci6gOWd5/uruC3bRTxI3xFd9g82WnnJbdQxOH3oZOATNuedlaAw5c5/zXEIMYfRB7t2x1v8/N9gXkND6/nOmVQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@capacitor/geolocation/-/geolocation-8.1.0.tgz", + "integrity": "sha512-dHeGuVlT3ELxxn8WaoRsGjfx8tmziaC0ZuaKhUBCoKFjOue4fAnmLczCMQsYW7OykgiyBh0pirNPwWZ0/LXB7Q==", "license": "MIT", "dependencies": { "@capacitor/synapse": "^1.0.4" @@ -1852,36 +1853,36 @@ } }, "node_modules/@capacitor/haptics": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-8.0.0.tgz", - "integrity": "sha512-DY1IUOjke1T4ITl7mFHQIKCaJJyHYAYRYHG9bVApU7PDOZiMVGMp48Yjzdqjya+wv/AHS5mDabSTUmhJ5uDvBA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-8.0.1.tgz", + "integrity": "sha512-8v8rowLBMeb3CryqoQvXndwyUsoi4pPXf0qFw7IGA4D32Uk7+K6juN2SjRowqunoovkvvbFmU9TD7JIAz2zmFw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/ios": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-8.0.2.tgz", - "integrity": "sha512-7EM7vBxXI3Ku49aYCJcS9su5Y3i6UmXpx7e0y+oQV9PzCnZ6l5B0ACJ+gXAU0bM3q7/f+kGBsOtXMid84rU6MQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-8.2.0.tgz", + "integrity": "sha512-X2/VtM4qP/R1SM0VQ5W/VotEc6PS/KTooD33EijsfAHWBdee+xmBapW8SeNLnu16wJ+tsfWlvtipaJEyfKbRKQ==", "license": "MIT", "peerDependencies": { - "@capacitor/core": "^8.0.0" + "@capacitor/core": "^8.2.0" } }, "node_modules/@capacitor/keyboard": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-8.0.0.tgz", - "integrity": "sha512-ycPW6iQyFwzDK95jihesj5EGiyyGSfbBqNek11iNp9tBOB7zDeYkUA2S/vPpOETt3dhP6pWr7a9gNVGuEfj11g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-8.0.1.tgz", + "integrity": "sha512-HDf4qrvvhLRMsgBoqeqIld6hP8JMK/WPbCYMvz8ajhY6TaibYt6B+NQyky4oIPCOfHTz5OcVsuHkbb8fQvGDAg==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/local-notifications": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/local-notifications/-/local-notifications-8.0.0.tgz", - "integrity": "sha512-Jn2IJs13vhRyOUtYni7PIPdMDYMILb4uI/rRAi7PmGg2lnaKbM5aWBmHZWt0laTYyVApYIbCWmdgBqWx/IH4dQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/local-notifications/-/local-notifications-8.0.2.tgz", + "integrity": "sha512-X7KE/I4ZutMTGVHNUyTjIugYcQEcHJRLks+TsPnOriuS+lo0geSTuaRln6zAZlJSSXSoVMSSzHexdSbIjR/8iw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" @@ -1897,72 +1898,72 @@ } }, "node_modules/@capacitor/network": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/network/-/network-8.0.0.tgz", - "integrity": "sha512-fgvB7pNKn8pKavuzys218j4YuA5euNfavp7nS3NuwWKWNupZAlbucfnl75lazxCyVF/ZRjzYVTb4vtTEfFrK1A==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/network/-/network-8.0.1.tgz", + "integrity": "sha512-9xK/FHFmzKGanB6BdoSZOzXk8vF0OFVQSQ4PAsIrzAzLuXHryO317qy8dcHVpgxYeuZq2noI0My9z1DvVDi/9w==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/preferences": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/preferences/-/preferences-8.0.0.tgz", - "integrity": "sha512-NsE7Srk9Zr0SxiVelHGiAJR7M238eyCD6dI/sDhu3ckKwFrXn8/GRyGr+SZcnGLlQKy948li8Pfcfr0dqxNf1g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/preferences/-/preferences-8.0.1.tgz", + "integrity": "sha512-T6no3ebi79XJCk91U3Jp/liJUwgBdvHR+s6vhvPkPxSuch7z3zx5Rv1bdWM6sWruNx+pViuEGqZvbfCdyBvcHQ==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/push-notifications": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/push-notifications/-/push-notifications-8.0.0.tgz", - "integrity": "sha512-xJWQLqAfC8b2ETqAPmwDnkKB4t/lVrbYc2D8VpA2fSu10JFSL/R722Vk0Lfl9Lo9WusmyIiQbVfILNQ3iFNGKw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/push-notifications/-/push-notifications-8.0.2.tgz", + "integrity": "sha512-mej8Eh4EU4JXbaeyMX2l+4NNK6IdY5iRsEXpBOTHLD29fuCACBP7kOJTiJv6piw134zdlbFH0rR+sDKHIiFOFg==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/screen-orientation": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/screen-orientation/-/screen-orientation-8.0.0.tgz", - "integrity": "sha512-wjIYtDuNAbbg+rovOQPL9jYXBBNy8YJCKzicAZA9AKfHUubREuxrLmkuE2K95kckFfHuWtZ45wzr0Yapmn2c5A==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/screen-orientation/-/screen-orientation-8.0.1.tgz", + "integrity": "sha512-DPz/1YGmlAUDMg2ON+AGJp1eFn9IfVNP9VKI5zIU+jD5xAZ4JGxUDlY9MDCvEPQs7UCD53NduJpqvqhcnb32Kw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/screen-reader": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/screen-reader/-/screen-reader-8.0.0.tgz", - "integrity": "sha512-F7H9+KH/Fq4urJNFATyhMV2SpMY8rB7A0ncoTfb7CIBRy27nA1ssdmpjLKahluVG2M813HIKY5Oc1aphVxSVIw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/screen-reader/-/screen-reader-8.0.1.tgz", + "integrity": "sha512-r7tS7pjWawaBPbda0rSJsi1/4/5voaeGw18Txt8UyRo5e0YBkscxfPb+29Io0/CDc+fmE73cVhKl/PVUxwFwtQ==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/share": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/share/-/share-8.0.0.tgz", - "integrity": "sha512-VU+xT4LFwr4keIC0UKDqGQVAiNlAHwoTMQg8wVVSxtn/k32VOvvtqFfu63qnXr40WKytZWrxJfVESvRjd761yg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/share/-/share-8.0.1.tgz", + "integrity": "sha512-3cSBKBCJVon54rKDROP2rqGyeGks4pBh9TbaEk9S375Kbek/ZHe72N50zIa0Vn9Eac/SuhwgehO/mmA4CsUOiw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/splash-screen": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/splash-screen/-/splash-screen-8.0.0.tgz", - "integrity": "sha512-zkFdUSd6C6gd3s3bIEgtO3DVjfwpaX5mmWU9er8xYTg47zr2toEkGtfyE6CPhhErG09fl4rCqrK5DfnGrXLh9w==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/splash-screen/-/splash-screen-8.0.1.tgz", + "integrity": "sha512-c/ew/Z3eA7z8l06WoRAtzVF16VwYYrExmHmfGq1Cg675pVzaC/yuucB8/1xG1vhEfnW4fZ1KhSf/kzR1RiVYgg==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/status-bar": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-8.0.0.tgz", - "integrity": "sha512-aIj3bc7z8lfPgOen8HlrBrkfnxpFnh21OCx6jCUx4Mvv+B6eEkUQ49b32DOddgVfr+igRHLX2SYi7duqIsNDXg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-8.0.1.tgz", + "integrity": "sha512-OR59dlbwvmrV5dKsC9lvwv48QaGbqcbSTBpk+9/WXWxXYSdXXdzJZU9p8oyNPAkuJhCdnSa3XmU43fZRPBJJ5w==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" @@ -1975,18 +1976,18 @@ "license": "ISC" }, "node_modules/@capacitor/text-zoom": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/text-zoom/-/text-zoom-8.0.0.tgz", - "integrity": "sha512-co6Ow8NpIjOrDd6zUXgtt7C83I2D+GwdBieF8PGdywIDKCYubjcGx7jZgaJm0pqc3CgYu7TwWTblKd98g0MmiQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/text-zoom/-/text-zoom-8.0.1.tgz", + "integrity": "sha512-hib9Srjme4DRmbzGYfwAWB5OIl0C3ihjXQNTpMMSVqBUxlHfm3O35H/In6FtNrbJ78ro13Zb0NDDK8o3kLPEnQ==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" } }, "node_modules/@capacitor/toast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@capacitor/toast/-/toast-8.0.0.tgz", - "integrity": "sha512-khWSYsBd+kc28s+nTfswxEfTQ3edY2f0BbvPZmEoBnXclunZbC7Bn1/ZyjKtM9wEA1RC5Umq4RUeFh8TtP+02g==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/toast/-/toast-8.0.1.tgz", + "integrity": "sha512-0uoyftoAeFjtOMiozBo7YXEo+zcpQCAxtBONSvrljJ05SKdlb1A8OFHaV/DZfIpGt+19kzUGaEaUemLdll4wUw==", "license": "MIT", "peerDependencies": { "@capacitor/core": ">=8.0.0" @@ -2494,9 +2495,9 @@ } }, "node_modules/@ionic/pwa-elements": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@ionic/pwa-elements/-/pwa-elements-3.3.0.tgz", - "integrity": "sha512-vbykpxd2nGRlA67AnqDwsiVf8PUmInLyi6lQdnPDjeiML1WZa0CPe6r632nGDV9PTi+sWNde9Xexg9SD6Pwyqw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ionic/pwa-elements/-/pwa-elements-3.4.0.tgz", + "integrity": "sha512-WmL7An4NOsvJvct4V/A8hudr+yXgLBHYmxzqWGsetZmzN7C6suLRS/KIh2P1t8cSYCYL7HRrbv8NrIChPkh6Ow==", "license": "MIT", "engines": { "node": ">=16.0.0", @@ -2667,29 +2668,6 @@ "node": ">=16.0.0" } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", - "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", @@ -2842,9 +2820,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.9.tgz", - "integrity": "sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.0.tgz", + "integrity": "sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==", "cpu": [ "arm64" ], @@ -2855,9 +2833,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.9.tgz", - "integrity": "sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.0.tgz", + "integrity": "sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==", "cpu": [ "x64" ], @@ -2868,9 +2846,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.9.tgz", - "integrity": "sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.0.tgz", + "integrity": "sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==", "cpu": [ "arm64" ], @@ -2881,9 +2859,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.9.tgz", - "integrity": "sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.0.tgz", + "integrity": "sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==", "cpu": [ "arm64" ], @@ -2894,9 +2872,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.9.tgz", - "integrity": "sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.0.tgz", + "integrity": "sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==", "cpu": [ "x64" ], @@ -2907,9 +2885,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.9.tgz", - "integrity": "sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.0.tgz", + "integrity": "sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==", "cpu": [ "x64" ], @@ -2920,9 +2898,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.9.tgz", - "integrity": "sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.0.tgz", + "integrity": "sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==", "cpu": [ "arm64" ], @@ -2933,9 +2911,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.9", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.9.tgz", - "integrity": "sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==", + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.0.tgz", + "integrity": "sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==", "cpu": [ "x64" ], @@ -2946,9 +2924,9 @@ ] }, "node_modules/@stencil/core": { - "version": "4.42.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.42.1.tgz", - "integrity": "sha512-KsjkaWnJmjMcsLjTK77FJV/8OK9qZ4f83/sXzYsjkUF21pqpNrDUkY6/+rnVFWnVfoYMpNdjWfGyJem4VlcMXw==", + "version": "4.43.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.43.2.tgz", + "integrity": "sha512-hOprMw/n1fyu5OOtZG7N8sqiKxPshR1oss/y1qr6r98cVV9NcVoCMz2x2TT2enkHan6pCMpiQgUU7vmN90lIVw==", "license": "MIT", "bin": { "stencil": "bin/stencil" @@ -2958,14 +2936,14 @@ "npm": ">=7.10.0" }, "optionalDependencies": { - "@rollup/rollup-darwin-arm64": "4.34.9", - "@rollup/rollup-darwin-x64": "4.34.9", - "@rollup/rollup-linux-arm64-gnu": "4.34.9", - "@rollup/rollup-linux-arm64-musl": "4.34.9", - "@rollup/rollup-linux-x64-gnu": "4.34.9", - "@rollup/rollup-linux-x64-musl": "4.34.9", - "@rollup/rollup-win32-arm64-msvc": "4.34.9", - "@rollup/rollup-win32-x64-msvc": "4.34.9" + "@rollup/rollup-darwin-arm64": "4.44.0", + "@rollup/rollup-darwin-x64": "4.44.0", + "@rollup/rollup-linux-arm64-gnu": "4.44.0", + "@rollup/rollup-linux-arm64-musl": "4.44.0", + "@rollup/rollup-linux-x64-gnu": "4.44.0", + "@rollup/rollup-linux-x64-musl": "4.44.0", + "@rollup/rollup-win32-arm64-msvc": "4.44.0", + "@rollup/rollup-win32-x64-msvc": "4.44.0" } }, "node_modules/@testing-library/dom": { @@ -3503,9 +3481,9 @@ "license": "BSD-3-Clause" }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "peer": true, @@ -3527,9 +3505,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", "dev": true, "license": "MIT", "dependencies": { @@ -3553,9 +3531,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -3892,13 +3870,16 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/big-integer": { @@ -4058,9 +4039,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001769", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", - "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "version": "1.0.30001777", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", + "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", "dev": true, "funding": [ { @@ -4239,13 +4220,13 @@ } }, "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -4688,9 +4669,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "dev": true, "license": "ISC" }, @@ -5108,19 +5089,25 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5372,9 +5359,9 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", + "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", "dev": true, "license": "ISC" }, @@ -5437,9 +5424,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", "dependencies": { @@ -5602,18 +5589,18 @@ } }, "node_modules/glob": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.1.tgz", - "integrity": "sha512-B7U/vJpE3DkJ5WXTgTpTRN63uV42DseiXXKMwG14LQBXmsdeIoHAPbU/MEo6II0k5ED74uc2ZGTC6MwHFQhF6w==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.2", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -5632,17 +5619,40 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/glob/node_modules/minimatch": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz", - "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -6850,9 +6860,9 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -6863,11 +6873,11 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -6886,16 +6896,16 @@ } }, "node_modules/mlly": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", - "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.1.tgz", + "integrity": "sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", - "ufo": "^1.6.1" + "ufo": "^1.6.3" } }, "node_modules/mlly/node_modules/pathe": { @@ -6964,10 +6974,39 @@ "dev": true, "license": "MIT" }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-exports-info/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "dev": true, "license": "MIT" }, @@ -7269,9 +7308,9 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -7279,16 +7318,16 @@ "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz", - "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -7380,9 +7419,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", "dev": true, "funding": [ { @@ -7838,13 +7877,13 @@ } }, "node_modules/rimraf": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz", - "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^13.0.0", + "glob": "^13.0.3", "package-json-from-dist": "^1.0.1" }, "bin": { @@ -7858,9 +7897,9 @@ } }, "node_modules/rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.30.0.tgz", + "integrity": "sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==", "dev": true, "license": "MIT", "bin": { @@ -8515,9 +8554,9 @@ "license": "MIT" }, "node_modules/tar": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", - "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.10.tgz", + "integrity": "sha512-8mOPs1//5q/rlkNSPcCegA6hiHJYDmSLEI8aMH/CdSQJNWztHC9WHNam5zdQlfpTwB9Xp7IBEsHfV5LKMJGVAw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { diff --git a/package.json b/package.json index 0c8d18a..f1dd168 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@capacitor/app": "^8.0.0", "@capacitor/app-launcher": "^8.0.0", "@capacitor/browser": "^8.0.0", - "@capacitor/camera": "file:/Users/ruimendes/Documents/Outsystems/Capacitor/capacitor-plugins/camera", + "@capacitor/camera": "file:/Users/ruimendes/Documents/Outsystems/Capacitor/capacitor-camera", "@capacitor/clipboard": "^8.0.0", "@capacitor/core": "^8.0.0", "@capacitor/device": "^8.0.0", diff --git a/src/pages/Camera.tsx b/src/pages/Camera.tsx index e8cbc7d..91f0e40 100644 --- a/src/pages/Camera.tsx +++ b/src/pages/Camera.tsx @@ -24,7 +24,12 @@ import { GalleryPhoto, GalleryImageOptions, RecordVideoOptions, + PlayVideoOptions, MediaResult, + EditPhotoOptions, + EditURIPhotoOptions, + GalleryOptions, + MediaType, } from '@capacitor/camera'; import { Capacitor } from '@capacitor/core'; @@ -33,12 +38,18 @@ interface CameraPageState { metadata: string | null; photos: GalleryPhoto[] | null; isVideo?: boolean; + photoBase64: string | null; } class CameraPage extends React.Component<{}, CameraPageState> { constructor(props: {}) { super(props); - this.state = { filePath: null, metadata: null, photos: null }; + this.state = { + filePath: null, + metadata: null, + photos: null, + photoBase64: null, + }; } addPhoto = async ( @@ -60,6 +71,7 @@ class CameraPage extends React.Component<{}, CameraPageState> { filePath: photo.path ?? photo.webPath ?? null, metadata: JSON.stringify(photo.exif, null, 2), isVideo: false, + photoBase64: null, }); } catch (e) { let message = 'Unknown error'; @@ -92,7 +104,7 @@ class CameraPage extends React.Component<{}, CameraPageState> { try { const options: ImageOptions = { quality: 100, - resultType: CameraResultType.Uri, + resultType: CameraResultType.Base64, source: source, saveToGallery: save, allowEditing: editing, @@ -100,16 +112,47 @@ class CameraPage extends React.Component<{}, CameraPageState> { }; var photo = await Camera.getPhoto(options); this.setState({ - filePath: photo.path ?? photo.webPath ?? null, + filePath: null, metadata: JSON.stringify(photo.exif, null, 2), isVideo: false, + photoBase64: photo.base64String ?? null, }); } catch (e) { alert(`Failed to get picture with error:\n'${e}'`); } }; - pickPhotos = async (limit: number = 0) => { + chooseFromGallery = async ( + mediaType: MediaType = MediaType.picture, + allowMultipleSelection: boolean = true, + includeMetadata: boolean = true, + allowEdit: boolean = true, + ) => { + try { + const options: GalleryOptions = { + mediaType: mediaType, + allowMultipleSelection: allowMultipleSelection, + includeMetadata: includeMetadata, + allowEdit: allowEdit, + limit: 2 + }; + var photosResult = await Camera.chooseFromGallery(options); + console.log('photos result', photosResult.photos); + const video = photosResult.photos.find(photo => + ['mp4'].includes(photo.format?.toLowerCase()), + ); + const hasVideo = !!video; + this.setState({ + photos: photosResult.photos, + isVideo: hasVideo, + filePath: video?.path ?? null, + }); + } catch (e) { + alert(`Failed to get picture with error:\n'${e}'`); + } + }; + + pickPhotosLegacy = async (limit: number = 0) => { try { const options: GalleryImageOptions = { quality: 100, @@ -189,7 +232,10 @@ class CameraPage extends React.Component<{}, CameraPageState> { if (!this.state.filePath) return; try { - await Camera.playVideo({ videoURI: this.state.filePath }); + const options: PlayVideoOptions = { + videoURI: this.state.filePath, + }; + await Camera.playVideo(options); } catch (e) { let message = 'Unknown error'; let code = ''; @@ -209,6 +255,79 @@ class CameraPage extends React.Component<{}, CameraPageState> { } }; + editPhoto = async () => { + if (!this.state.photoBase64) { + alert('No photo available to edit. Please take a photo first.'); + return; + } + + try { + const options: EditPhotoOptions = { + base64: this.state.photoBase64, + }; + const result = await Camera.editPhoto(options); + this.setState({ + photoBase64: result.base64String ?? null, + metadata: 'Edited photo (base64)', + }); + alert('Photo edited successfully!'); + } catch (e) { + let message = 'Unknown error'; + let code = ''; + + if (typeof e === 'object' && e !== null) { + const err = e as { message?: string; code?: string }; + + if (err.message) { + message = err.message; + } + + if (err.code) { + code = err.code; + } + } + alert(`Failed to edit photo:\n${code ? code + '\n' : ''}${message}`); + } + }; + + editURIPhoto = async (saveToGallery: boolean = false) => { + if (!this.state.filePath) { + alert('No photo URI available to edit. Please take a photo first.'); + return; + } + + try { + const options: EditURIPhotoOptions = { + uri: this.state.filePath, + saveToGallery: saveToGallery, + includeMetadata: true, + }; + const result: MediaResult = await Camera.editURIPhoto(options); + this.setState({ + filePath: result.path, + metadata: JSON.stringify(result, null, 2), + isVideo: false, + }); + alert('Photo edited successfully!'); + } catch (e) { + let message = 'Unknown error'; + let code = ''; + + if (typeof e === 'object' && e !== null) { + const err = e as { message?: string; code?: string }; + + if (err.message) { + message = err.message; + } + + if (err.code) { + code = err.code; + } + } + alert("Failed to edit photo:\n${code ? code + '\n' : ''}${message}"); + } + }; + render() { const photos = this.state.photos; return ( @@ -279,12 +398,38 @@ class CameraPage extends React.Component<{}, CameraPageState> { Record Video and Save {this.state.isVideo && this.state.filePath && ( - this.playVideo()}> + this.playVideo()}> Play Video (Native) )} + this.chooseFromGallery(MediaType.picture)}> + Choose From Gallery (Pictures) + + this.chooseFromGallery(MediaType.all)}> + Choose From Gallery (All Media) + + {!this.state.isVideo && this.state.photoBase64 && ( + this.editPhoto()}> + Edit Photo (Base64) + + )} + + {!this.state.isVideo && this.state.filePath && ( +
+ this.editURIPhoto()}> + Edit Photo (URI) + + this.editURIPhoto(true)}> + Edit Photo and Save (URI) + +
+ )} @@ -319,10 +464,12 @@ class CameraPage extends React.Component<{}, CameraPageState> { onClick={() => this.addPhotoLegacy(CameraSource.Prompt)}> Prompt
- this.pickPhotos()}> + this.pickPhotosLegacy()}> Pick Photos - this.pickPhotos(3)}> + this.pickPhotosLegacy(10000)}> Pick 3 Photos { {photos?.map(photo => ( - - + + {photo.format === 'jpg' || + photo.format === 'jpeg' || + photo.format === 'png' ? ( + + ) : ( + ))} - {this.state.filePath != null ? ( + {this.state.filePath || this.state.photoBase64 ? (
- {this.state.isVideo ? ( + {this.state.isVideo && this.state.filePath ? (
{this.state.metadata}