{"_id":"@aparajita/capacitor-splash-screen","_rev":"4-4b06df9411877612a6450a11fa27d266","name":"@aparajita/capacitor-splash-screen","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.1":{"name":"@aparajita/capacitor-splash-screen","version":"1.0.1","description":"A Capacitor plugin that provides full native splash screen functionality","main":"dist/esm/index.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","scripts":{"clean":"rimraf ./dist","build":"npm run clean && tsc && rollup -c rollup.config.js","watch":"nodemon -w ./src -w tsconfig.json -w rollup.config.js --exec 'npm run build --silent' -e ts","lint":"npm run prettier && npm run swiftlint","lint.fix":"npm run prettier.fix && npm run swiftlint.fix","prettier":"prettier --check --plugin=./node_modules/prettier-plugin-java \"**/*.{css,html,ts,js,java}\"","prettier.fix":"prettier --write --check --plugin=./node_modules/prettier-plugin-java \"**/*.{css,html,ts,js,java}\"","swiftlint":"cd ios; node-swiftlint; cd ..","swiftlint.fix":"cd ios; node-swiftlint autocorrect; cd ..","docgen":"docgen --api WSSplashScreenPlugin --output-readme README.md","release":"standard-version","push":"git push --follow-tags origin main && npm publish"},"author":{"name":"Aparajita Fishman"},"license":"MIT","devDependencies":{"@aparajita/capacitor-docgen":"^0.0.10-3","@ionic/prettier-config":"^1.0.1","@ionic/swiftlint-config":"^1.1.2","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1","nodemon":"^2.0.7","prettier":"^2.2.1","prettier-plugin-java":"^1.0.2","rimraf":"^3.0.2","rollup":"^2.44.0","swiftlint":"^1.0.1","typescript":"~4.2.3"},"dependencies":{"@capacitor/android":"^2.4.7","@capacitor/core":"^2.4.7","@capacitor/ios":"^2.4.7"},"keywords":["capacitor","plugin","native","ios","android","splash","launch"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"prettier":"@ionic/prettier-config","swiftlint":"@ionic/swiftlint-config","repository":{"type":"git","url":"git+https://github.com/aparajita/capacitor-splash-screen.git"},"bugs":{"url":"https://github.com/aparajita/capacitor-splash-screen/issues"},"gitHead":"b1f5482fcbbfa165561a39a755b65575926ab4bc","homepage":"https://github.com/aparajita/capacitor-splash-screen#readme","_id":"@aparajita/capacitor-splash-screen@1.0.1","_nodeVersion":"15.12.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-7umw0JEaSTq2ivTKAzgtUTsk2AUl8rOeXSZhYV3h6I/1+reyuZobYsOqdUNmJ+U0eq36bBtz2wsOY/jOxguAWw==","shasum":"c3ea77095ba2e90ce49f29555370e6a125d89277","tarball":"https://registry.npmjs.org/@aparajita/capacitor-splash-screen/-/capacitor-splash-screen-1.0.1.tgz","fileCount":40,"unpackedSize":124700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZnZrCRA9TVsSAnZWagAAiiEP/AzYlxAW+9OBG1V8q+i4\nPyWTjplnyrYlZHG0w7gcrXBssD1vvrJOgaib5z5zilXqkIZTbkmSWaRuAmZn\n1X9F3HpRQHXgD3psctluSsB5Wxcf+rWWMpnEY1Kd3I/qSDu4OkQRhDSeDH6h\n7YcLAbGdaN6mwi2ZHCxi2dRI/UEjWwwP0fCdQpmZMOFqoTupUrYSEcVgkhsj\n8vCZGK6YJ5rY+DZm8aRx9ELb1pRHSeRoUyk9Wd5ubuQ3Gxt/fdgBD4sEBPR2\ndgz41J+PzvnlIx6uuiZQlSvmmyLU2B8NhWZWqRK0B19HP+mX5qtmdTjVHJGz\nBbe4kXQFPWVqN4X3iMciagYzk5ibIVSwh5L04lZOR5RQwZ5LZ9mp2IHqiZAy\nEruIPOnu6+NvtfKHThyAAnAptcg7cZM5wo1ZAywJ/n0mCF1LumD5BNtUujfp\n7/vDFRszFbChAWwBdI33IRtW8ecTAPYeaJ1jnCiRrkcWYWZ4Fk4IVfFadveI\nSgyIgeek+fGds/+1U3j2z8+lrc/pvLwVvC04BCjJRJ8p4zELX6HJGgnnSizI\n7Z+nX2cRWOafO4E01v6JVr0BEmDfX7OP6Dzg+txWT9qXADmoCBizr1ViYAVA\njjCk1XMZ6CZpROiFELdqVZkE/bMj7rzPGCTXCfIZNyyVQfIUxbeIIvRin2Zn\nRxNq\r\n=GDrb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCR+jZh/UOkvdrUstGPx/HpDqc6uekkX+5ufOQEfqeKGQIhALencRttcnAgvuqSDoRxYNLn+7SGkEwG1x7Law+O16x2"}]},"_npmUser":{"name":"ckgaparajita","email":"aparajita@aparajita.com"},"directories":{},"maintainers":[{"name":"ckgaparajita","email":"aparajita@aparajita.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/capacitor-splash-screen_1.0.1_1617327722740_0.4770311867869992"},"_hasShrinkwrap":false},"2.0.0":{"name":"@aparajita/capacitor-splash-screen","version":"2.0.0","description":"A Capacitor plugin that provides full native splash screen functionality","author":{"name":"Aparajita Fishman"},"license":"MIT","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","engines":{"node":">=16.15.1"},"commit-and-tag-version":{"scripts":{"postbump":"pnpm -s builder"}},"keywords":["capacitor","plugin","native","splash","splashscreen","splash screen"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"type":"git","url":"git+https://github.com/aparajita/capacitor-splash-screen.git"},"bugs":{"url":"https://github.com/aparajita/capacitor-splash-screen/issues"},"devDependencies":{"@aparajita/capacitor-docgen":"github:aparajita/capacitor-docgen","@aparajita/capacitor-docgen-format":"github:aparajita/capacitor-docgen-format","@aparajita/eslint-config-base":"^1.1.5","@aparajita/prettier-config":"^1.0.0","@aparajita/swiftly":"^1.0.4","@capacitor/cli":"^4.3.0","@commitlint/cli":"^17.1.2","@commitlint/config-conventional":"^17.1.0","@ionic/swiftlint-config":"^1.1.2","@rollup/plugin-json":"^4.1.0","@types/node":"^18.8.1","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","commit-and-tag-version":"^10.1.0","eslint":"^8.24.0","eslint-config-prettier":"^8.5.0","eslint-config-standard":"^17.0.0","eslint-import-resolver-typescript":"^3.5.1","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.3.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.1","husky":"^8.0.1","nodemon":"^2.0.20","prettier":"^2.7.1","prettier-plugin-java":"^1.6.2","rimraf":"^3.0.2","rollup":"^2.79.1","swiftlint":"^1.0.1","typescript":"~4.8.4"},"dependencies":{"@aparajita/capacitor-logger":"latest","@capacitor/android":"^4.3.0","@capacitor/app":"^4.0.1","@capacitor/core":"^4.3.0","@capacitor/ios":"^4.3.0"},"scripts":{"clean":"rimraf dist","extract-info":"node scripts/extractPackageInfo.js","lint.eslint":"eslint --fix --cache --ext .js,.cjs,.mjs,.ts --max-warnings 0","lint.prettier":"prettier --write --cache --list-different '**/*{.ts,.js,.mjs,.md,.json,.yaml,.java}'","lint.tsc":"tsc --noEmit","lint.swift":"swiftly ios","lint":"pnpm lint.eslint . && pnpm lint.prettier . && pnpm lint.tsc && pnpm lint.swift","prebuilder":"pnpm clean && pnpm extract-info","builder":"tsc ${SOURCE_MAP:-} && rollup -c rollup.config.mjs","prebuild":"pnpm lint","build":"pnpm builder","build.dev":"SOURCE_MAP=--sourceMap pnpm build","watch":"nodemon --exec 'SOURCE_MAP=--sourceMap pnpm builder'","docgen":"docgen --api SplashScreenPlugin --output-readme README.md && docgen-format && pnpm lint.prettier README.md","open.ios":"open ios/Plugin.xcworkspace","open.android":"open -b com.google.android.studio android","verify.ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -quiet && cd ..","verify.android":"cd android && ./gradlew clean build test && cd ..","verify":"pnpm verify.ios && pnpm verify.android","prerelease":"scripts/ensure-clean.sh && pnpm build && pnpm docgen && git add README.md","release":"commit-and-tag-version --commit-all && git push --follow-tags && pnpm publish"},"homepage":"https://github.com/aparajita/capacitor-splash-screen#readme","_id":"@aparajita/capacitor-splash-screen@2.0.0","_integrity":"sha512-GB5lteh6aC7B/1/pPsKcPlfb5TEbzhPeksAXrOCpoHkSj+AJ5JECMJ8YjRZnpL6dDLYjpg8m6eVNQj64maboEw==","_resolved":"/private/var/folders/1z/fl90zpnx2v36z32z255pf8z80000gn/T/eb4936e778b548406834f3bb8b9556fe/aparajita-capacitor-splash-screen-2.0.0.tgz","_from":"file:aparajita-capacitor-splash-screen-2.0.0.tgz","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"integrity":"sha512-GB5lteh6aC7B/1/pPsKcPlfb5TEbzhPeksAXrOCpoHkSj+AJ5JECMJ8YjRZnpL6dDLYjpg8m6eVNQj64maboEw==","shasum":"1347c6e18e2b525a4ec92c51c91b019e5b5121d9","tarball":"https://registry.npmjs.org/@aparajita/capacitor-splash-screen/-/capacitor-splash-screen-2.0.0.tgz","fileCount":39,"unpackedSize":122979,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmjwfzSE0aGs4H7MyZ23B4Nr6AykwT2V5PVxcF8WgnXwIhALLFRwp7a6DbGzk7kQR9qZ4nkMMqdU3qs47bWmP99ikT"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPP/rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVKxAAghnNlJecQTXYkEklwg7wGAuwkHdTrAdP832vvoFo7bomqTOj\r\n/MRCsFiaYOIrhVsURH3aZ4yQMzPpBUyh1k9j/uvTB8p5N7wZwxk/4qlBCSJ0\r\nZyx5+3YzcgqMSH1CYxj70D7VYPt4AbnJO3cAQMeWPiWQHzzEknQiXk1ia9Bb\r\n0B3KTtn77tLwl/H33jFZd73Iu4Q8v8UHVhbRdJFq+4VVG+cftuvA8KI24Tgx\r\nH/so9WnJAPzIikZ/foAqTqG5vzsd5OKetEIEeA3R0IIdy8FQpnHLgMJlSdL8\r\nFbqtUoVkuFy4mFg0ZnEbYq1mZJzk54oqZZbgthjyKQRiENCxvpJqsws5+onN\r\n8frm4q1LMqShJwFLmQo4+WgF8bc+gbOTbZsGvZOzYCl2p155YXia1IJfx1Bg\r\noXNh+pI4BUzT2aC44Ugz/v46DtAPMQD/+nPF5hYWXY9wNQ/XkbcY4a+ogQ7H\r\n/fL+Wc6awhArJpbKc2AjdYgoB+nKIsZ54x/yhMCZp8NRCxOWNWRv86qsUr+f\r\njMhlejEHSdYOTWup9KKvw3WWIeOBmVY2RlQoRk9rzSOD3nAXbnBepEMJVMoK\r\npdVtIcQmnCWWbtaTqZLku2nA5Ue7muEBoL4BQ3jDs5xxMZpvfi+Gi3JG7I0W\r\nwqNxp7h65xlGTvWrFhUNIxBCyAbHUTRwSa8=\r\n=pydo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ckgaparajita","email":"aparajita@aparajita.com"},"directories":{},"maintainers":[{"name":"ckgaparajita","email":"aparajita@aparajita.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/capacitor-splash-screen_2.0.0_1664942059273_0.675895494462132"},"_hasShrinkwrap":false},"2.0.1":{"name":"@aparajita/capacitor-splash-screen","version":"2.0.1","description":"A Capacitor plugin that provides full native splash screen functionality","author":{"name":"Aparajita Fishman"},"license":"MIT","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","engines":{"node":">=16.15.1"},"commit-and-tag-version":{"scripts":{"postbump":"pnpm -s builder"}},"keywords":["capacitor","plugin","native","splash","splashscreen","splash screen"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"type":"git","url":"git+https://github.com/aparajita/capacitor-splash-screen.git"},"bugs":{"url":"https://github.com/aparajita/capacitor-splash-screen/issues"},"devDependencies":{"@aparajita/capacitor-docgen":"github:aparajita/capacitor-docgen","@aparajita/capacitor-docgen-format":"github:aparajita/capacitor-docgen-format","@aparajita/eslint-config-base":"^1.1.5","@aparajita/prettier-config":"^1.0.0","@aparajita/swiftly":"^1.0.4","@capacitor/cli":"^4.3.0","@commitlint/cli":"^17.1.2","@commitlint/config-conventional":"^17.1.0","@ionic/swiftlint-config":"^1.1.2","@rollup/plugin-json":"^4.1.0","@types/node":"^18.8.1","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","commit-and-tag-version":"^10.1.0","eslint":"^8.24.0","eslint-config-prettier":"^8.5.0","eslint-config-standard":"^17.0.0","eslint-import-resolver-typescript":"^3.5.1","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.3.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.1","husky":"^8.0.1","nodemon":"^2.0.20","prettier":"^2.7.1","prettier-plugin-java":"^1.6.2","rimraf":"^3.0.2","rollup":"^2.79.1","swiftlint":"^1.0.1","typescript":"~4.8.4"},"dependencies":{"@aparajita/capacitor-logger":"latest","@capacitor/android":"^4.3.0","@capacitor/app":"^4.0.1","@capacitor/core":"^4.3.0","@capacitor/ios":"^4.3.0"},"scripts":{"clean":"rimraf dist","extract-info":"node scripts/extractPackageInfo.js","lint.eslint":"eslint --fix --cache --ext .js,.cjs,.mjs,.ts --max-warnings 0","lint.prettier":"prettier --write --cache --list-different '**/*{.ts,.js,.mjs,.md,.json,.yaml,.java}'","lint.tsc":"tsc --noEmit","lint.swift":"swiftly ios","lint":"pnpm lint.eslint . && pnpm lint.prettier . && pnpm lint.tsc && pnpm lint.swift","prebuilder":"pnpm clean && pnpm extract-info","builder":"tsc ${SOURCE_MAP:-} && rollup -c rollup.config.mjs","prebuild":"pnpm lint","build":"pnpm builder","build.dev":"SOURCE_MAP=--sourceMap pnpm build","watch":"nodemon --exec 'SOURCE_MAP=--sourceMap pnpm builder'","docgen":"docgen --api SplashScreenPlugin --output-readme README.md && docgen-format && pnpm lint.prettier README.md","open.ios":"open ios/Plugin.xcworkspace","open.android":"open -b com.google.android.studio android","verify.ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -quiet && cd ..","verify.android":"cd android && ./gradlew clean build test && cd ..","verify":"pnpm verify.ios && pnpm verify.android","prerelease":"scripts/ensure-clean.sh && pnpm build && pnpm docgen && git add README.md","release.preview":"commit-and-tag-version --dry-run","release":"commit-and-tag-version --commit-all && git push --follow-tags && pnpm publish"},"homepage":"https://github.com/aparajita/capacitor-splash-screen#readme","_id":"@aparajita/capacitor-splash-screen@2.0.1","_integrity":"sha512-aPlvxjonu7syL9RD0e2CqtmFMDmIgJlkO85guQA+l+0aEvA2vuQ6gzWx6yaqXAWOeNdU71Vdi7opfuGz28ookA==","_resolved":"/private/var/folders/w2/scy6mhr52q9cvwtp_hyvn81c0000gn/T/366c10749b8db01f9f1e753e5cbf73d6/aparajita-capacitor-splash-screen-2.0.1.tgz","_from":"file:aparajita-capacitor-splash-screen-2.0.1.tgz","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-aPlvxjonu7syL9RD0e2CqtmFMDmIgJlkO85guQA+l+0aEvA2vuQ6gzWx6yaqXAWOeNdU71Vdi7opfuGz28ookA==","shasum":"57994cf49d21baae227d36ac47bc99510dff605e","tarball":"https://registry.npmjs.org/@aparajita/capacitor-splash-screen/-/capacitor-splash-screen-2.0.1.tgz","fileCount":39,"unpackedSize":123066,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+Ulo6bgOpMBjwvInj6RIRSVX+UxOMp0qI/t6yrOONSAiEAvBbQvNzjGmbmMSxvzLqOe0CYs4b4r227cu8bHJvEx/c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQKErACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgUxAAjGiNO9lzDNQ2U0gQQ4PiuUcTgm1eqUlCL+U6PRvKlLTwff+y\r\nE1EfYJdbR+LJAoTOalr+yvcRWNiGjEZkvx3oJJxpjUz+Siqsacv5a30dxkGb\r\nsNoE93HzUFLVi4Ejov3O3qyo+1vItFGwlYu9EGy7GAsDQ4gNURL+ebdSxbo+\r\nSEj67/PNduwdDFx+Cq+itNZT+sAuHJzyxaLkscnakoRcNSQT+QH6kdE84sh7\r\nGCa00K4h7RrTFQ4yg/i6aM/2t06e0SPgTy85To2Q71TMyxwy3EJbktAMmvWQ\r\nYjALTCeChq+jCyHnOvhDlxQcUkxB2sQShmzqVdp++9TvjyjJ/QyexLgVhTwP\r\nwRAnFBZEBGccX2eZkEPxEVZi5OLYQv8nXc/Nujaemw6gn+t4E7UXiCcPlrx3\r\nVsHM/O8I53PSbL+nxfRv2bQwh+pPOiJlBqEPv9AgURfYLOgIL4SZEygCM792\r\n8ofhDAlROHDxlPItY2qY3aBLyCmKDEZUOj6DNlUTTdzEaterNJqHT1JHXnZt\r\nfsZx7Gultw91j+Rf5v/cL0lbLZRaV8klHqOS0WK3P0/58RpPsMr15OXmSLNd\r\n21h0hXOnHw12/WbZbqfWmHgB9iJRRo6Vatz2NmPPXclqud6yxWzeoX6F3E1S\r\n7eQikmfdosPNpDB0ZJk5FcwqD0MGHY0yxtE=\r\n=yfjX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ckgaparajita","email":"aparajita@aparajita.com"},"directories":{},"maintainers":[{"name":"ckgaparajita","email":"aparajita@aparajita.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/capacitor-splash-screen_2.0.1_1665179946707_0.1547126885421044"},"_hasShrinkwrap":false},"2.0.2":{"name":"@aparajita/capacitor-splash-screen","version":"2.0.2","description":"A Capacitor plugin that provides full native splash screen functionality","author":{"name":"Aparajita Fishman"},"license":"MIT","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","engines":{"node":">=16.15.1"},"commit-and-tag-version":{"scripts":{"postbump":"pnpm -s builder"}},"keywords":["capacitor","plugin","native","splash","splashscreen","splash screen"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"type":"git","url":"git+https://github.com/aparajita/capacitor-splash-screen.git"},"bugs":{"url":"https://github.com/aparajita/capacitor-splash-screen/issues"},"devDependencies":{"@aparajita/capacitor-docgen":"github:aparajita/capacitor-docgen","@aparajita/capacitor-docgen-format":"github:aparajita/capacitor-docgen-format","@aparajita/eslint-config-base":"^1.1.5","@aparajita/prettier-config":"^1.0.0","@aparajita/swiftly":"^1.0.4","@capacitor/cli":"^4.3.0","@commitlint/cli":"^17.1.2","@commitlint/config-conventional":"^17.1.0","@ionic/swiftlint-config":"^1.1.2","@rollup/plugin-json":"^4.1.0","@types/node":"^18.8.1","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","commit-and-tag-version":"^10.1.0","eslint":"^8.24.0","eslint-config-prettier":"^8.5.0","eslint-config-standard":"^17.0.0","eslint-import-resolver-typescript":"^3.5.1","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.3.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.0.1","husky":"^8.0.1","nodemon":"^2.0.20","prettier":"^2.7.1","prettier-plugin-java":"^1.6.2","rimraf":"^3.0.2","rollup":"^2.79.1","swiftlint":"^1.0.1","typescript":"~4.8.4"},"dependencies":{"@aparajita/capacitor-logger":"latest","@capacitor/android":"^4.3.0","@capacitor/app":"^4.0.1","@capacitor/core":"^4.3.0","@capacitor/ios":"^4.3.0"},"scripts":{"clean":"rimraf dist","extract-info":"node scripts/extractPackageInfo.js","lint.eslint":"eslint --fix --cache --ext .js,.cjs,.mjs,.ts --max-warnings 0","lint.prettier":"prettier --write --cache --list-different '**/*{.ts,.js,.mjs,.md,.json,.yaml,.java}'","lint.tsc":"tsc --noEmit","lint.swift":"swiftly ios","lint":"pnpm lint.eslint . && pnpm lint.prettier . && pnpm lint.tsc && pnpm lint.swift","prebuilder":"pnpm clean && pnpm extract-info","builder":"tsc ${SOURCE_MAP:-} && rollup -c rollup.config.mjs","prebuild":"pnpm lint","build":"pnpm builder","build.dev":"SOURCE_MAP=--sourceMap pnpm build","watch":"nodemon --exec 'SOURCE_MAP=--sourceMap pnpm builder'","docgen":"docgen --api SplashScreenPlugin --output-readme README.md && docgen-format && pnpm lint.prettier README.md","open.ios":"open ios/Plugin.xcworkspace","open.android":"open -b com.google.android.studio android","verify.ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -quiet && cd ..","verify.android":"cd android && ./gradlew clean build test && cd ..","verify":"pnpm verify.ios && pnpm verify.android","prerelease":"scripts/ensure-clean.sh && pnpm build && pnpm docgen && git add README.md","release.preview":"commit-and-tag-version --dry-run","release":"commit-and-tag-version --commit-all && git push --follow-tags && pnpm publish"},"homepage":"https://github.com/aparajita/capacitor-splash-screen#readme","_id":"@aparajita/capacitor-splash-screen@2.0.2","_integrity":"sha512-a4sWtL2T9SW4GF/xQd5toYY7yyGq24ap/S2fFFfl4BSDTpBNu3T7IjMLLj59CiqE/ovMcwyNowItjoML7tkYnQ==","_resolved":"/private/var/folders/1z/fl90zpnx2v36z32z255pf8z80000gn/T/f58c3f73fd13e8d6eaa325f563f789e0/aparajita-capacitor-splash-screen-2.0.2.tgz","_from":"file:aparajita-capacitor-splash-screen-2.0.2.tgz","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-a4sWtL2T9SW4GF/xQd5toYY7yyGq24ap/S2fFFfl4BSDTpBNu3T7IjMLLj59CiqE/ovMcwyNowItjoML7tkYnQ==","shasum":"6ce34239f678c475e98a923ee3d923732e94cf9e","tarball":"https://registry.npmjs.org/@aparajita/capacitor-splash-screen/-/capacitor-splash-screen-2.0.2.tgz","fileCount":39,"unpackedSize":123118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfzI/6GemY6AMcBwB0C4Wpc1UtrWL9kChbPrt4uw6yAAIgZpIjvLc+H5HezXvEeNNyYyrGsyfOlAaTJiv95p/Zv3A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyGP1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq87w/8CBmwwKP1iuhRBWoDQiGfimuHt2bvMRNrKeUiIuVFVY64GDWU\r\n0u4uo9PRh16AO3UXSuEW5j8frDrf/0Ll5SuT6xGlpnDBG1Qbya3mx3F7zpls\r\ngeJnAMo4XcvMp1VJsb7/5YgkaS8EeEv+mlY8jSBoEzQu0NHdzsQk1PK2zTOf\r\n4dyMtiNpXAcwu4Ax4XSX64zH3SzCCFt64cvhZO0H0tq90KuK7rW7igtLlZrH\r\njUI7eeo7RfFxsP3l4tP5ly4YUARUrViOTac2pXRbv09ZgK90XLRmkPTir36E\r\nQwOs+7/JdZwqBwgaxzmDb+0D3ljWXJFp0g2gOokuOs/ei1Bl5zwUGWdmMHom\r\nMzCu224ba73yPr0X+ALibKcXjjUnDky82kghQvqp5zj9Djkpoy6les2d3tlF\r\nM1xxnsovTK35CqLVVd3HwF7hNK9SxqzwRKdT+Hafe/V/eJlEbMn1lNrwhALw\r\nFbcPSyeniT268FHCSq5YgAmHTi2z7jqh3LUwDGlYnHMI02brp3dLW8e3vKux\r\n6pA14CXnFnDROW5ssEO3Z7ZNoHqebcq67WQW9jO5K3oiTttSogqCFKG+CnIl\r\nxNGup50BONwOY1/oO5cCQQeDJf/f7azwQb2OhlQj1NfESrumQ9Ztvbfl+FRU\r\nHDKP0qsFNy75HcDdJ1UN1iNS6wjuTOTtNRI=\r\n=1en4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ckgaparajita","email":"aparajita@aparajita.com"},"directories":{},"maintainers":[{"name":"ckgaparajita","email":"aparajita@aparajita.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/capacitor-splash-screen_2.0.2_1674077172808_0.20743770521701776"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-02T01:42:02.568Z","1.0.1":"2021-04-02T01:42:02.891Z","modified":"2023-01-18T21:26:13.085Z","2.0.0":"2022-10-05T03:54:19.478Z","2.0.1":"2022-10-07T21:59:07.015Z","2.0.2":"2023-01-18T21:26:12.970Z"},"maintainers":[{"name":"ckgaparajita","email":"aparajita@aparajita.com"}],"description":"A Capacitor plugin that provides full native splash screen functionality","homepage":"https://github.com/aparajita/capacitor-splash-screen#readme","keywords":["capacitor","plugin","native","splash","splashscreen","splash screen"],"repository":{"type":"git","url":"git+https://github.com/aparajita/capacitor-splash-screen.git"},"author":{"name":"Aparajita Fishman"},"bugs":{"url":"https://github.com/aparajita/capacitor-splash-screen/issues"},"license":"MIT","readme":"<div class=\"markdown-body\">\n\n# capacitor-splash-screen&nbsp;&nbsp;[![npm version](https://badge.fury.io/js/@aparajita%2Fcapacitor-splash-screen.svg)](https://badge.fury.io/js/@aparajita%2Fcapacitor-splash-screen)\n\nThis [Capacitor 4](https://capacitorjs.com) plugin is a replacement for the official [Splash Screen plugin](https://capacitorjs.com/docs/apis/splash-screen) and provides complete control over native splash screens, both automatically at launch and via code.\n\n👉 **NOTE:** This plugin does not work with Capacitor < 4.\n\n[About](#about)<br>[Features](#features)<br>\n[Installation](#installation)<br>\n[Launch screen configuration](#launch-screen-configuration)<br>[Usage](#usage)<br>\n[Custom animation](#custom-animation)<br>[API](#api)\n\n## About\n\niOS and Android already provide launch screens, so why do we need this plugin?\n\nSystem launch screens by default are removed as soon as the first frame is drawn by the application being launched. In the case of an Capacitor app, that occurs when the layout with the web view is drawn. But there is a finite (and often noticeable) delay between the time when the web view is drawn and the time when the app is fully mounted and drawn within the web view.\n\nTo prevent the user from seeing a flash of a blank screen after the system launch screen disappears, this plugin allows you to extend the time the system launch screen is displayed until after the app is fully mounted and drawn. In addition, you can modify the fade out duration or alternatively you can provide your own custom code to animate the launch screen using the hooks provided by this plugin.\n\n### Changes from v1.x\n\nWhereas v1.x of this plugin supported multiple formats, this version only supports the formats supported by system launch screens. On iOS, that means storyboards; on Android that means vector drawables (or animated vector drawables on Android 12+). The reason for this is to provide an absolutely seamless transition from the system splash screen to your application.\n\nStarting with Android 12, Android provides a backward-compatible API for configuring and presenting splash screens, and it **always** shows its own splash screen if you do not customize it. Such being the case, the best approach is to work with the splash screen API to customize the splash screen.\n\n## Features\n\n- Silky smooth, seamless transitions from the system splash screen to your app.\n- Full set of hooks for implementing custom animation. 🚀\n- Full support for localization. 🇺🇸🇧🇷\n- Full support for dark mode. 🌗\n- Full support for Android 12+ splash screens.\n- Splash screen [workshop app](https://github.com/aparajita/capacitor-splash-screen-demo) lets you test splash screens and tweak timing parameters. 👀\n- Complete control over timing when testing splash screens: delay, fade in, duration, fade out. ⏱\n- Specify time units in seconds or milliseconds. ⌛\n\n## Installation\n\n```shell\npnpm add @aparajita/capacitor-splash-screen @aparajita/capacitor-logger  # npm install, yarn add\n```\n\n## Launch screen configuration\n\nThere are two types of splash screens: launch and programmatic. Configuration and usage differs depending on the type of splash screen and on the platform. When referring to Capacitor configuration, this document will assume you are using `capacitor.config.ts`.\n\nThere is a fair bit of config you have to get right to support all possible splash screen features (such as dark mode and localization) on both platforms. I have done my best to document it all below, but if you get confused, refer to the [workshop app](https://github.com/aparajita/capacitor-splash-screen-demo), which implements all of these features.\n\n### iOS\n\n- Create a launch screen storyboard and set it as the launch screen as you normally would.\n\n- In your app’s `AppDelegate.swift`, add a call to `SplashScreen.initLaunchTime()`:\n\n```swift\nimport AparajitaCapacitorSplashScreen\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n  var window: UIWindow?\n\n  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n    // ==> Add this line\n    SplashScreen.initLaunchTime()\n    return true\n  }\n```\n\n### Android\n\nFor a launch splash screen in Android, do the following:\n\n- In Android Studio, create or import a vector drawable to be the splash screen.\n- Edit your app’s `res/values/styles.xml` file to use this template:\n\n```xml\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources xmlns:tools=\"http://schemas.android.com/tools\">\n    <!-- Base application theme -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.DayNight.DarkActionBar\">\n        <!-- Customize your theme here. -->\n        <item name=\"colorPrimary\">@color/colorPrimary</item>\n        <item name=\"colorPrimaryDark\">@color/colorPrimaryDark</item>\n        <item name=\"colorAccent\">@color/colorAccent</item>\n    </style>\n\n    <!-- This style MUST appear with this name -->\n    <style name=\"AppTheme.NoActionBar\" parent=\"Theme.AppCompat.DayNight.NoActionBar\">\n        <!-- This is the standard Ionic config -->\n        <item name=\"windowActionBar\">false</item>\n        <item name=\"windowNoTitle\">true</item>\n        <item name=\"android:background\">@null</item>\n\n        <!-- OPTIONAL: Set the status and/or navigation bar color -->\n        <item name=\"android:statusBarColor\">@android:color/holo_blue_dark</item>\n        <item name=\"android:navigationBarColor\">@android:color/holo_green_dark</item>\n    </style>\n\n    <!-- This style MUST appear with this name -->\n  \t<style name=\"AppTheme.NoActionBarLaunch\" parent=\"Theme.SplashScreen\">\n        // Set this to the single background color of the splash screen.\n        // If you want to change the background color in dark mode, create\n        // a night version of the color.\n        <item name=\"windowSplashScreenBackground\">@color/systemBackground</item>\n\n        // Set this to a VectorDrawable. On API 31+ it may animated,\n        // in which case it will be animated during launch.\n        // See https://developer.android.com/guide/topics/ui/splash-screen\n        // for info on size limits.\n        <item name=\"windowSplashScreenAnimatedIcon\">@drawable/launchscreen</item>\n\n        // Set this if the parent=\"Theme.SplashScreen.IconBackground\".\n        <item name=\"android:windowSplashScreenIconBackgroundColor\" tools:targetApi=\"31\">@null</item>\n\n        // If you want a branding image to appear at the bottom, set it here.\n        <item name=\"android:windowSplashScreenBrandingImage\" tools:targetApi=\"31\">@null</item>\n\n        // Set the main app theme here (required).\n        <item name=\"postSplashScreenTheme\">@style/AppTheme.NoActionBar</item>\n    </style>\n</resources>\n```\n\n- Change `windowSplashScreenAnimatedIcon` to match the name of your splash screen drawable.\n- Change the other parameters according to your preferences.\n- In your app’s `AndroidManifest.xml`, set the `android:theme` attribute of the application activity to `\"@style/AppTheme.NoActionBarLaunch\"`.\n- In your app’s `MainActivity.java`, add a call to `SplashScreen.initLaunchTime()`:\n\n```java\nimport com.aparajita.capacitor.splashscreen.SplashScreen;\nimport com.getcapacitor.BridgeActivity;\n\npublic class MainActivity extends BridgeActivity {\n\n  @Override\n  public void onCreate(Bundle savedInstanceState) {\n    SplashScreen.initLaunchTime();\n    super.onCreate(savedInstanceState);\n  }\n}\n\n```\n\n### All platforms\n\nBecause there is an indeterminate amount of time between when the system launch screen appears and your app is loaded and starts running, it is impossible to predict exactly how long a splash screen should remain visible in order to provide a smooth transition to your app’s UI. At the same time, you want to avoid showing the splash screen for too long, because the user may think the app has frozen.\n\nThis plugin addresses this problem in two ways:\n\n- In the native code of your app, you **must** call [`initLaunchTime`](#initlaunchtime) as soon as the app is fully loaded, as shown above. This is potentially several hundred milliseconds before this plugin is loaded, which is a significant amount of time from a user perspective.\n\n- You may set a `showDuration` configuration option that specifies the **minimum** amount of time the launch screen should remain visible. When you call [`hide`](#hide) or [`animate`](#animate), the plugin will wait until the minimum duration has elapsed before hiding or animating the splash screen. This ensures that if the app is loaded quickly, the splash screen won’t just flash and disappear (unless that is what you want!).\n\n```typescript\nconst config: CapacitorConfig = {\n  plugins: {\n    SplashScreen: {\n      showDuration: 1 // 1 second\n    }\n  }\n}\n```\n\n#### Logger configuration\n\nThis plugin uses a custom logger. You can set the logger level and whether or not to log to the system console on iOS. See the `level` and `useSyslog` options in the configuration section of [`@aparajita/capacitor-logger`](https://github.com/aparajita/capacitor-logger/blob/d605d0f7de5f850967caab0b71a3305ed1c3dc8f/README.md#configuration).\n\n```typescript\nconst config: CapacitorConfig = {\n  plugins: {\n    SplashScreen: {\n      logger: {\n        level: 'debug',\n        useSyslog: true\n      }\n    }\n  }\n}\n```\n\n## Localization\n\nThis plugin supports localization of the launch screen using standard system localization mechanisms. For an example of localized launch screens on iOS and Android, see the [workshop app](https://github.com/aparajita/capacitor-splash-screen-demo).\n\n### iOS\n\nOn iOS, Apple recommends against including text in your launch storyboard, since launch screens are cached by the system. You can, however, configure your app to use separate storyboards for different languages:\n\n- Create a new storyboard for each language you want to support.\n- Create a text file called `InfoPlist.strings` (capitalization is important) in the root of your app’s source code directory. This file should contain a single line:\n\n```text\n// Set the name to the name of the base language launch storyboard.\n\"UILaunchStoryboardName\" = \"LaunchScreen.storyboard\";\n```\n\n- Add the file to your Xcode project, making sure to assign it to the app target.\n- Select the file in the navigator.\n- Open the Inspector panel and click the `Localize…` button.\n- Select the language this file is for and click `Localize`.\n- Select the project in the navigator, then the project in the main editor, and click the `Info` tab.\n- Add whatever languages you want to support to the `Localizations` list. For each language, check `InfoPlist.strings` in the dialog that appears.\n- In the `InfoPlist.strings` file created for each language, change the value of `UILaunchStoryboardName` to the name of the storyboard for that language.\n\n### Android\n\nOn Android, you can use the standard Android localization mechanisms to provide different launch screens for different languages. See the [Android documentation](https://developer.android.com/guide/topics/resources/localization) for more information.\n\n## Usage\n\nHow you show and hide splash screens differs depending on how they are used.\n\n### Launch screens\n\nYou do not have to do anything to show launch screens, they are displayed automatically when the app is launched.\n\nOnce your app is fully mounted, call [`hide`](#hide) to fade out the launch screen, or [`animate`](#animate) to animate the launch screen. If you use `animate`, your custom animation code is responsible for hiding the splash screen.\n\nBoth `hide` and `animate` take a `delay` option. `delay` **may** be necessary because:\n\n1. Capacitor creates the web view.\n1. The web view loads your app.\n1. Your app is mounted in the DOM, but has not yet been rendered.\n1. You call `hide()` or `animate()`.\n1. The web view renders the content generated by your app.\n\nWhen you call `hide()` or `animate()`, the web view may not have been fully rendered. If you hide too quickly, there will be a flash of the web view’s background color just before it renders. That’s why a small delay may be necessary.\n\n### Programmatic splash screens\n\nThis plugin also allows you to show splash screens programmatically. This is useful if you want to show a splash screen [on app suspend/resume](#showing-a-splash-screen-on-app-suspendresume) or to test and tweak the timing of a launch screen.\n\nTo show a programmatic splash screen, call [`show`](#show), passing [`SplashScreenShowOptions`](#splashscreenshowoptions) to configure the splash screen.\n\nIf you want to hide or animate the splash screen after some amount of time, you need to call [`hide`](#hide) or [`animate`](#animate) manually within `setTimeout`. For example:\n\n```typescript\nawait SplashScreen.show(showOptions)\n\nsetTimeout(() => {\n  SplashScreen.hide(hideOptions).catch(showErrorAlert)\n}, duration)\n```\n\n### Showing a splash screen on app suspend/resume\n\nYou may wish to show a splash screen every time the app suspends for security purposes, or you may wish to show a splash screen on resume for branding purposes. This plugin provides a convenience function to make that easy to do.\n\n👉 **NOTE:** Although this technique _technically_ works on Android, I advise against it, as the suspend callback is not reliably called before the app becomes inactive on different Android versions, and you will not get the intended effect.\n\n```typescript\n// Vue code\nimport { Capacitor } from '@capacitor/core'\nimport { onMounted, onUnmounted } from 'vue'\n\nlet listenerHandle: PluginListenerHandle\n\nonMounted(async () => {\n  if (Capacitor.getPlatform() === 'ios') {\n    const onSuspend = (): void => {\n      // We want to show the splash screen when we suspend\n      // so it will already be there on resume.\n      SplashScreen.show({\n        source: 'LaunchScreen_hi',\n        delay: 0,\n        showDuration: 100\n      }).catch(console.error)\n    }\n\n    const onResume = (): void => {\n      SplashScreen.hide({\n        delay: 300,\n        fadeOutDuration: 300\n      }).catch(console.error)\n    }\n\n    listenerHandle = await SplashScreen.listenToAppState({\n      onSuspend,\n      onResume\n    })\n  }\n})\n\nonUnmounted(async () => {\n  if (listenerHandle) {\n    await listenerHandle.remove()\n  }\n})\n```\n\nThe trick we are playing here is to show the splash screen as the app is suspended, so that when the app is resumed, the splash screen is already visible, and then we just need to hide it. 😎\n\n## Custom animation\n\nThis plugin provides hooks for custom animation on both iOS and Android. The [workshop app](https://github.com/aparajita/capacitor-splash-screen-demo) contains a complete example of custom animation on both platforms, which you can use as a template for your animation.\n\n👉 **NOTE:** Your custom animation code is responsible for hiding the splash screen.\n\nOnce you have implemented your custom animation code, performing the animation is just a matter of calling [`animate()`](#animate) instead of `hide()`.\n\n### Events\n\nThere are two possible animation events sent to your animation method. Of those, you are only required to respond to the `animateLaunch` event.\n\n- **animateLaunch** — Sent when the `animate()` method is called for a launch screen, after any delay specified in the animate options.\n\n- **animate** — Sent when the `animate()` method is called after calling `show()`, and after any delay specified in the animate options.\n\n### Event handler\n\nIn order to receive animation events (and thus perform animation), you need to create an animation handler method in your app’s native code. On iOS, a minimal event handler will look like this:\n\n```swift\nimport AparajitaCapacitorSplashScreen\n\nprivate let kDefaultDuration: Double = 0.7 // seconds\n\nextension AppDelegate {\n  @objc func onSplashScreenEvent(_ event: String, _ params: [AnyHashable: Any]) {\n    animate(withParams: params)\n  }\n\n  private func animate(withParams params: [AnyHashable: Any]) {\n    guard let view = params[\"splashView\"] as? UIView,\n          let options = params[\"options\"] as? [AnyHashable: Any],\n          let callbacks = params[\"callbacks\"] as? SplashScreen.AnimationCallbacks else {\n      return\n    }\n\n    let animationDuration = SplashScreen.toSeconds(Config.getDouble(\"animationDuration\", inOptions: options) ?? kDefaultDuration)\n\n    UIView.animateKeyframes(\n      withDuration: animationDuration,\n      delay: 0,\n      options: [],\n      animations: {\n        self.performAnimation(forView: view)\n      },\n      completion: { _ in\n        self.finishAnimation(forView: view, done: done)\n      }\n    )\n  }\n\n  private func performAnimation(forView view: UIView) {\n    // Your animation code goes here\n  }\n\n  private func finishAnimation(\n    forView view: UIView,\n    callbacks: SplashScreen.AnimationCallbacks)\n  {\n    // Your cleanup code goes here\n\n    // Make sure to call the done callback so control returns to the app\n    callbacks.done()\n  }\n}\n```\n\nOn Android, a minimal event handler will look like this:\n\n```java\npublic class SplashScreenAnimator {\n\n  static final long DEFAULT_ANIMATION_DURATION = 500;\n\n  public void onSplashScreenEvent(\n    SplashScreen.HookEventType event,\n    HashMap<String, Object> params\n  ) {\n    animate(params);\n  }\n\n  private void animate(HashMap<String, Object> params) {\n    AnimationCallbacks callbacks = null;\n    View splashView = null;\n    View iconView = null;\n    long duration = DEFAULT_ANIMATION_DURATION;\n\n    try {\n      splashView = (View) params.get(\"splashView\");\n      iconView = (View) params.get(\"iconView\");\n      callbacks = (AnimationCallbacks) params.get(\"callbacks\");\n      JSObject options = (JSObject) params.get(\"options\");\n      Config config = (Config) params.get(\"config\");\n\n      if (options != null && config != null) {\n        duration =\n          SplashScreen.toMilliseconds(\n            config.getDoubleOption(\n              \"animationDuration\",\n              options,\n              DEFAULT_ANIMATION_DURATION\n            )\n          );\n      }\n    } catch (Exception ex) {\n      // Handle it below\n    }\n\n    if (splashView == null || iconView == null) {\n      if (callbacks != null) {\n        callbacks.error(\n          \"Null splash or icon view\",\n          SplashScreen.ErrorType.NO_SPLASH\n        );\n      }\n\n      return;\n    }\n    // Your animation code goes here. Be sure to call\n    // callbacks.done() when the animation finishes or\n    // is cancelled.\n  }\n}\n\n```\n\nTo dispatch to the event handler on Android, your app’s `MainActivity` must implement `onSplashScreenEvent()`:\n\n```java\npublic class MainActivity extends BridgeActivity {\n\n  private final SplashScreenAnimator animator = new SplashScreenAnimator();\n\n  @Override\n  public void onCreate(Bundle savedInstanceState) {\n    SplashScreen.initLaunchTime();\n    super.onCreate(savedInstanceState);\n  }\n\n  public void onSplashScreenEvent(\n    SplashScreen.HookEventType event,\n    HashMap<String, Object> params\n  ) {\n    animator.onSplashScreenEvent(event, params);\n  }\n}\n\n```\n\n👉 **IMPORTANT**❗️\nThe `onSplashScreenEvent` method name and signature must be **exactly** as displayed above.\n\n### Event parameters\n\nEach event receives parameters from the plugin with context that you may need in performing your animation.\n\n| Param      | Type (iOS / Android)                                  | Description                                                                                                            |\n| :--------- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- |\n| source     | String                                                | The `source` option passed to `show()`, defaults to \"\\*\"                                                               |\n| splashView | UIView<br>android.view.View                           | iOS: The storyboard’s main view controller view<br>Android: A full screen `FrameLayout` which contains the `iconView`. |\n| iconView   | [unused]<br>View                                      | The splash icon                                                                                                        |\n| plugin     | CAPPlugin<br>com.getcapacitor.Plugin                  | The `SplashScreen` instance which called the event handler                                                             |\n| options    | [AnyHashable: Any]<br>com.getcapacitor.JSObject       | Options passed to the `animate()` plugin method                                                                        |\n| callbacks  | SplashScreen.AnimationCallbacks<br>AnimationCallbacks | Contains `done` and `error` functions, one of which you **must** call when the animation is completely finished        |\n\nAs noted above, you **must** call either the `done` or `error` callback when the animation is completely done, otherwise control will not be returned to the JavaScript runtime. In most cases you will do this in the animation completion function.\n\n### Android-only event parameters\n\nThe following parameters are only passed on Android:\n\n| Param    | Type              | Description                      |\n| :------- | :---------------- | :------------------------------- |\n| iconView | View              | The splash icon                  |\n| config   | Config instance   | Use to get values from `options` |\n| activity | AppCompatActivity | The current activity             |\n\n### Android-specific animation\n\nWhen a splash screen is shown on Android, the status bar and navigation bar colors are smoothly animated from their current color to the background color of the splash screen, which effectively hides them. When your splash screen animation is fading out, you need to show the status and navigation bars (if they were visible in your app).\n\nThe `callbacks` parameter on Android contains two extra methods:\n\n```java\nvoid showStatusBar(long delay, long duration, TimeInterpolator interpolator);\n\nvoid showNavigationBar(\n  long delay,\n  long duration,\n  TimeInterpolator interpolator\n);\n```\n\nCalling these methods will smoothly transition the relevant background color from the splash screen background color to the bar’s previous color. If `interpolator` is `null`, it defaults to `LinearInterpolator`.\n\nFor an example of how to use these callbacks, see [SplashScreenAnimator.java](https://github.com/aparajita/capacitor-splash-screen-demo/blob/main/android/app/src/main/java/com/aparajita/capacitor/splashscreendemo/SplashScreenAnimator.java) in the [workshop app](https://github.com/aparajita/capacitor-splash-screen-demo).\n\n#### Why no immersive mode?\n\nThere are a few reasons why this plugin does not support immersive mode:\n\n- The new system splash screens in Android 12+ do not use immersive mode, they set the status and navigation bar backgrounds to the splash screen background. This plugin endeavors to be as consistent with the system splash screen as possible.\n- Immersive mode slides the status and navigation bars offscreen, but if the user taps the screen before the splash screen is hidden they will reappear.\n- On some versions of Android, when immersive mode is entered a system dialog appears advising the user to tap the screen to show the status and navigation bars. This is not something you want to happen during your app launch.\n\n### Accessing animation options\n\nThis plugin provides a custom Config class that allows you to use different option values for each platform when passing options to `show`, `hide` and `animate`. For example, you may want a different `animationDuration` on each platform:\n\n```typescript\nSplashScreen.animate({\n  ios: {\n    animationDuration: 500\n  },\n  android: {\n    animationDuration: 700\n  }\n})\n```\n\nIn your custom animation code, if you want to get values from the options passed to `animate`, use the custom config class to retrieve those values, as shown in the event handler examples above. In brief, to retrieve a value of `<type>` (String, Double, etc.) from the options passed in the animation params, do the following on iOS:\n\n```text\nlet value = Config.get<type>(<key>, inOptions: options) ?? <default>\n```\n\nand this in Android:\n\n```text\n<type> value = config.get<type>Option(<key>, options, <default>);\n```\n\nSo to retrieve the string value \"foo\" with a default of \"bar\", you would do this on iOS:\n\n```swift\nlet foo = Config.getString(\"foo\", inOptions: options) ?? \"bar\"\n```\n\nand this in Android:\n\n```java\nString foo = config.getStringOption(\"foo\", options, \"bar\");\n```\n\n## API\n\n<docgen-index>\n\n- [`show(...)`](#show)\n- [`hide(...)`](#hide)\n- [`animate(...)`](#animate)\n- [`listenToAppState(...)`](#listentoappstate)\n- [Interfaces](#interfaces)\n- [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n---\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### show(...)\n\n```typescript\nshow(options?: SplashScreenShowOptions) => Promise<void>\n```\n\nShow the splash screen. Does not apply to launch screens.<br><br>NOTE: On Android, the size of the splash screen icon may not exactly match the actual launch screen icon size. I was not able to determine the algorithm used by Android to determine the size of the splash screen icon.\n\n| Param   | Type                                                           |\n| :------ | :------------------------------------------------------------- |\n| options | <a href=\"#splashscreenshowoptions\">SplashScreenShowOptions</a> |\n\n---\n\n### hide(...)\n\n```typescript\nhide(options?: SplashScreenHideOptions) => Promise<void>\n```\n\nHide the splash screen. You must call `hide()` or `animate()` to remove a launch screen, typically after your app is fully mounted.\n\n| Param   | Type                                                           |\n| :------ | :------------------------------------------------------------- |\n| options | <a href=\"#splashscreenhideoptions\">SplashScreenHideOptions</a> |\n\n---\n\n### animate(...)\n\n```typescript\nanimate(options?: SplashScreenAnimateOptions) => Promise<void>\n```\n\nAnimate the splash screen. You must call `hide()` or `animate()` to remove a launch screen, typically after your app is fully mounted.\n\n| Param   | Type                                                                 |\n| :------ | :------------------------------------------------------------------- |\n| options | <a href=\"#splashscreenanimateoptions\">SplashScreenAnimateOptions</a> |\n\n---\n\n### listenToAppState(...)\n\n```typescript\nlistenToAppState(options?: SplashScreenAppStateListeners) => Promise<PluginListenerHandle>\n```\n\nListen to changes in the app state and execute the relevant code. This is a convenience to allow you to easily show a splash when your app resumes. Be sure to save the result of this call somewhere. When you no longer need to listen to the app state (e.g. when a component unmounts), be sure to call the `remove()` method on the returned <a href=\"#pluginlistenerhandle\">`PluginListenerHandle`</a>.<br><br>NOTE: This cannot be reliably used on Android, as the app may be paused before the listener is called.\n\n| Param   | Type                                                                       |\n| :------ | :------------------------------------------------------------------------- |\n| options | <a href=\"#splashscreenappstatelisteners\">SplashScreenAppStateListeners</a> |\n\n**Returns:** Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;\n\n---\n\n### Interfaces\n\n#### SplashScreenShowOptions\n\nShow options may be specified separately for iOS and Android.\n\n| Prop    | Type                                                     |\n| :------ | :------------------------------------------------------- |\n| ios     | <a href=\"#splashscreenshowopts\">SplashScreenShowOpts</a> |\n| android | <a href=\"#splashscreenshowopts\">SplashScreenShowOpts</a> |\n\n#### SplashScreenShowOpts\n\n| Prop           | Type                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                     |\n| :------------- | :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| source         | string                                                   | The source of the splash screen. Does not apply to launch screens. On iOS, it may be a storyboard with the given name. On Android, it may be any vector drawable with the given name. If the name is \"\\*\", on iOS the configured LaunchScreen storyboard in the app's project will be used, on Android the value of the `windowSplashScreenAnimatedIcon` item in the launch theme will be used. |\n| delay          | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long to delay before showing the splash screen. Does not apply to launch screens.                                                                                                                                                                                                                                                                                                           |\n| fadeInDuration | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long to fade in. Does not apply to launch screens.                                                                                                                                                                                                                                                                                                                                          |\n| showDuration   | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | Launch: The minimum time to show the splash screen. If `animate()` or `hide()` is called before this time elapses, the screen will remain until the duration is finished.<br><br>`show()`: How long to show the splash screen after fade in and before fade out.                                                                                                                                |\n\n#### SplashScreenHideOptions\n\nHide options may be specified separately for iOS and Android.\n\n| Prop    | Type                                                     |\n| :------ | :------------------------------------------------------- |\n| ios     | <a href=\"#splashscreenhideopts\">SplashScreenHideOpts</a> |\n| android | <a href=\"#splashscreenhideopts\">SplashScreenHideOpts</a> |\n\n#### SplashScreenHideOpts\n\n| Prop            | Type                                                     | Description                      |\n| :-------------- | :------------------------------------------------------- | :------------------------------- |\n| delay           | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long to delay before hiding. |\n| fadeOutDuration | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long to fade out.            |\n\n#### SplashScreenAnimateOptions\n\nAnimate options may be specified separately for iOS and Android.\n\n| Prop    | Type                                                           |\n| :------ | :------------------------------------------------------------- |\n| ios     | <a href=\"#splashscreenanimateopts\">SplashScreenAnimateOpts</a> |\n| android | <a href=\"#splashscreenanimateopts\">SplashScreenAnimateOpts</a> |\n\n#### SplashScreenAnimateOpts\n\n| Prop              | Type                                                     | Description                                            |\n| :---------------- | :------------------------------------------------------- | :----------------------------------------------------- |\n| delay             | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long to delay before starting the animation.       |\n| animationDuration | <a href=\"#splashscreenduration\">SplashScreenDuration</a> | How long animation should take when calling `animate`. |\n\n#### PluginListenerHandle\n\n| Method     | Signature                    |\n| :--------- | :--------------------------- |\n| **remove** | () =&gt; Promise&lt;void&gt; |\n\n#### SplashScreenAppStateListeners\n\n### Type Aliases\n\n#### SplashScreenDuration\n\nIn options objects, when you specify a duration, it can either be in seconds or milliseconds. Any value &gt;= 10 will be considered milliseconds, any value &lt; 10 will be considered seconds.\n\n<code>number</code>\n\n</docgen-api>\n</div>\n","readmeFilename":"README.md"}