{"_id":"@capawesome/capacitor-text-zoom","_rev":"4-9368b351430403ef12253544142c2dd0","name":"@capawesome/capacitor-text-zoom","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@capawesome/capacitor-text-zoom","version":"0.0.1","keywords":["capacitor","plugin","native"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-text-zoom@0.0.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/text-zoom/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"0660e8fbe55e703a1d53e174b686e08472056823","tarball":"https://registry.npmjs.org/@capawesome/capacitor-text-zoom/-/capacitor-text-zoom-0.0.1.tgz","fileCount":41,"integrity":"sha512-0P1+ENS+4O7r6B/ZPm4+TTCWGQdNYbEqFd7ezi9GDNrhj0BPU7aTxGA7i8vwRBkcl/U6s3NW9KTa/ZZ5h40PCw==","signatures":[{"sig":"MEUCIQDui67b6P6dziF/y8ylXU0NGBJyohdnZbkpTgyt7SkqegIgXiwxRDBqD28EbvpWE1sZNEIctFDYRLPTB+X14rElP1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44480},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"e18228f8362b044cd453aba542fe8e0a02fd996f","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api TextZoomPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"robingenz","email":"mail@robingenz.dev"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.13.0","description":"Capacitor plugin for reading and controlling the WebView text zoom.","directories":{},"_nodeVersion":"24.16.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-text-zoom_0.0.1_1783426860628_0.26973530430000503","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@capawesome/capacitor-text-zoom","version":"0.1.0","keywords":["capacitor","plugin","native","capacitor-plugin","text zoom","text size","font size","font scale","text scaling","accessibility","webview"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-text-zoom@0.1.0","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/text-zoom/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"4b454b403e1ca0fc8e183a32f6d881ba0c2d7766","tarball":"https://registry.npmjs.org/@capawesome/capacitor-text-zoom/-/capacitor-text-zoom-0.1.0.tgz","fileCount":41,"integrity":"sha512-X+WLpYXxbtd/ZxRvpDUosq07stBSujTLBlC6nB56y0DA4rtq6lzM3feUfgr6G4ABNBPgpaDpEkUSmzq+8rDIAg==","signatures":[{"sig":"MEYCIQDaQ/u25aYIQjfaxX0wsPmwGgxwEJurSDSMswXrsnJUzwIhANBxZ7GWLH1fxeKM1p1dIuGqH/YRN/fnmv2+wkAD3Aeg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-text-zoom@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48997},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"1ce17b1fd14c43b2f1d5d3c2da82221e1d1dca37","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api TextZoomPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02113bdc-4084-4741-b064-edab34f2f5cb"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin for reading and controlling the WebView text zoom on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-text-zoom_0.1.0_1784015609250_0.3856243897257987","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@capawesome/capacitor-text-zoom","version":"0.1.1","keywords":["capacitor","plugin","native","capacitor-plugin","text zoom","text size","font size","font scale","text scaling","accessibility","webview"],"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","_id":"@capawesome/capacitor-text-zoom@0.1.1","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/text-zoom/","bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"dist":{"shasum":"d6c44276e4618c27a928c7925425ddcf06c8bdf1","tarball":"https://registry.npmjs.org/@capawesome/capacitor-text-zoom/-/capacitor-text-zoom-0.1.1.tgz","fileCount":41,"integrity":"sha512-78Ta+tN15Iw5CFu+Yymb1flf2UTmCKNTINe+A6XGGu0kZ3faHq2TRlGhYKDuPQ9YhEjon/jeUQHEsJS7FCJyZA==","signatures":[{"sig":"MEUCIQCX2Za/aI7/K86UyUXPAQ0NpXHoRdh8VziibACJEKSKrAIgWOYNuI3niWuznhLcZczkN4qbP0lYvIXr+5UR0NwYcUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-text-zoom@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49006},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","funding":[{"url":"https://github.com/sponsors/capawesome-team/","type":"github"},{"url":"https://opencollective.com/capawesome","type":"opencollective"}],"gitHead":"3e61f4b412f9f3f512c21169bb135bbb23a67e6d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api TextZoomPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02113bdc-4084-4741-b064-edab34f2f5cb"}},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/capawesome-team/capacitor-plugins.git","type":"git"},"_npmVersion":"11.16.0","description":"Capacitor plugin for reading and controlling the WebView text zoom on Android and iOS.","directories":{},"_nodeVersion":"24.18.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-text-zoom_0.1.1_1784103064086_0.5254918535766542","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@capawesome/capacitor-text-zoom","version":"0.1.2","description":"Capacitor plugin for reading and controlling the WebView text zoom on Android and iOS.","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"funding":[{"type":"github","url":"https://github.com/sponsors/capawesome-team/"},{"type":"opencollective","url":"https://opencollective.com/capawesome"}],"homepage":"https://capawesome.io/docs/sdks/capacitor/text-zoom/","keywords":["capacitor","plugin","native","capacitor-plugin","text zoom","text size","font size","font scale","text scaling","accessibility","webview"],"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api TextZoomPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd ..","prepublishOnly":"npm run build"},"devDependencies":{"@capacitor/android":"8.0.0","@capacitor/cli":"8.4.2","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/ios":"8.0.0","@ionic/eslint-config":"0.4.0","eslint":"8.57.0","prettier-plugin-java":"2.9.7","rimraf":"6.1.2","rollup":"4.62.3","swiftlint":"2.0.0","typescript":"5.9.3"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"publishConfig":{"access":"public"},"gitHead":"7c1937ed10b7de86ca2c1cdc3539a2735fd69a00","_id":"@capawesome/capacitor-text-zoom@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-FYbSluPwah4b9XYd5YpyuITbjdUMaCdabY9jY54Q3Xb0VjY+YMJ2PyrPM/EI+qUqGDi1fr4bgTTC/xrA2kWF/Q==","shasum":"5273d74c5c9b8c2dfed93e7bbd575246a96984a7","tarball":"https://registry.npmjs.org/@capawesome/capacitor-text-zoom/-/capacitor-text-zoom-0.1.2.tgz","fileCount":41,"unpackedSize":48860,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capawesome%2fcapacitor-text-zoom@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGWukEWv9VFXo0HUMFAwI11mhH3dWJ7aLNWFTR3T/QZvAiAtuCU0W4QDodJNwKcAgdBzYf2EfaVHoZ7X/+wrzzsx/g=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:02113bdc-4084-4741-b064-edab34f2f5cb"}},"directories":{},"maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-text-zoom_0.1.2_1788337425073_0.296784809221571"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T12:21:00.430Z","modified":"2026-09-02T08:23:45.629Z","0.0.1":"2026-07-07T12:21:00.832Z","0.1.0":"2026-07-14T07:53:29.395Z","0.1.1":"2026-07-15T08:11:04.213Z","0.1.2":"2026-09-02T08:23:45.231Z"},"bugs":{"url":"https://github.com/capawesome-team/capacitor-plugins/issues"},"author":{"name":"Robin Genz","email":"mail@robingenz.dev"},"license":"MIT","homepage":"https://capawesome.io/docs/sdks/capacitor/text-zoom/","keywords":["capacitor","plugin","native","capacitor-plugin","text zoom","text size","font size","font scale","text scaling","accessibility","webview"],"repository":{"type":"git","url":"git+https://github.com/capawesome-team/capacitor-plugins.git"},"description":"Capacitor plugin for reading and controlling the WebView text zoom on Android and iOS.","maintainers":[{"name":"robingenz","email":"mail@robingenz.dev"}],"readme":"# Capacitor Text Zoom Plugin\n\nCapacitor plugin for reading and controlling the WebView text zoom.\n\n<div class=\"capawesome-z29o10a\">\n  <a href=\"https://cloud.capawesome.io/\" target=\"_blank\">\n    <img alt=\"Deliver Live Updates to your Capacitor app with Capawesome Cloud\" src=\"https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1\" />\n  </a>\n</div>\n\n## Features\n\n- 🔍 **Read zoom**: Read the current text zoom of the WebView.\n- 🔠 **Set zoom**: Set the text zoom, e.g. to offer your own text-size setting.\n- ♿ **Preferred zoom**: Read the device's preferred text zoom to respect the operating system's font size settings.\n- 🤝 **Compatibility**: Works alongside the [Accessibility Preferences](https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/) plugin, whose font scale is a natural input for the text zoom.\n- 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.\n- 🔁 **Up-to-date**: Always supports the latest Capacitor version.\n\nMissing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!\n\n## Use Cases\n\nThe Text Zoom plugin is typically used to make the text size of an app adjustable, for example:\n\n- **Custom text-size settings**: Offer an in-app setting that lets users increase or decrease the text size with `setZoom(...)`.\n- **Accessibility**: Read the device's preferred text zoom with `getPreferredZoom()` and apply it to respect the operating system's font size settings.\n- **Reading-focused apps**: Let users of news, book, or documentation apps adjust the text size to their comfort.\n- **Restoring the zoom on app launch**: Read the persisted value from a preferences plugin and re-apply it with `setZoom(...)` on startup.\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 0.x.x          | >=8.x.x           | Active support |\n\n## Installation\n\nYou can use our **AI-Assisted Setup** to install the plugin.\nAdd the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:\n\n```bash\nnpx skills add capawesome-team/skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```\n Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-text-zoom` plugin in my project.\n```\n\nIf you prefer **Manual Setup**, install the plugin by running the following commands:\n\n```bash\nnpm install @capawesome/capacitor-text-zoom\nnpx cap sync\n```\n\nThis plugin is available on **Android** and **iOS**. On Web, all methods reject as unimplemented.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Usage\n\nThe following examples show how to read the current text zoom, read the device's preferred text zoom, and set the text zoom of the WebView.\n\n### Read the current text zoom\n\nGet the current text zoom of the WebView, where `1.0` equals `100%` (no zoom). Only available on Android and iOS:\n\n```typescript\nimport { TextZoom } from '@capawesome/capacitor-text-zoom';\n\nconst getZoom = async () => {\n  const { zoom } = await TextZoom.getZoom();\n  return zoom;\n};\n```\n\n### Read the preferred text zoom of the device\n\nGet the preferred text zoom based on the operating system's font size settings, for example to use it as an input for `setZoom(...)`. Only available on Android and iOS:\n\n```typescript\nimport { TextZoom } from '@capawesome/capacitor-text-zoom';\n\nconst getPreferredZoom = async () => {\n  const { zoom } = await TextZoom.getPreferredZoom();\n  return zoom;\n};\n```\n\n### Set the text zoom\n\nSet the text zoom of the WebView. The value must be greater than `0` and is not persisted across app restarts. Only available on Android and iOS:\n\n```typescript\nimport { TextZoom } from '@capawesome/capacitor-text-zoom';\n\nconst setZoom = async () => {\n  await TextZoom.setZoom({ zoom: 1.5 });\n};\n```\n\n## Migration from `@capacitor/text-zoom`\n\nThis plugin is a drop-in alternative to the official [`@capacitor/text-zoom`](https://www.npmjs.com/package/@capacitor/text-zoom) plugin with a slightly more explicit API:\n\n| `@capacitor/text-zoom`       | `@capawesome/capacitor-text-zoom`      |\n| ---------------------------- | -------------------------------------- |\n| `get()` → `{ value }`        | `getZoom()` → `{ zoom }`               |\n| `getPreferred()` → `{ value }` | `getPreferredZoom()` → `{ zoom }`    |\n| `set({ value })`             | `setZoom({ zoom })`                    |\n\n## API\n\n<docgen-index>\n\n* [`getPreferredZoom()`](#getpreferredzoom)\n* [`getZoom()`](#getzoom)\n* [`setZoom(...)`](#setzoom)\n* [Interfaces](#interfaces)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### getPreferredZoom()\n\n```typescript\ngetPreferredZoom() => Promise<GetPreferredZoomResult>\n```\n\nGet the preferred text zoom of the device based on the operating system's\nfont size settings.\n\nThis value can be used as an input for `setZoom(...)` to respect the\nuser's system font size preference.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#getpreferredzoomresult\">GetPreferredZoomResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### getZoom()\n\n```typescript\ngetZoom() => Promise<GetZoomResult>\n```\n\nGet the current text zoom of the WebView.\n\nOnly available on Android and iOS.\n\n**Returns:** <code>Promise&lt;<a href=\"#getzoomresult\">GetZoomResult</a>&gt;</code>\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### setZoom(...)\n\n```typescript\nsetZoom(options: SetZoomOptions) => Promise<void>\n```\n\nSet the text zoom of the WebView.\n\nThe zoom is not persisted across app restarts. Persist the value with a\npreferences plugin and re-apply it on app launch if needed.\n\nOnly available on Android and iOS.\n\n| Param         | Type                                                      |\n| ------------- | --------------------------------------------------------- |\n| **`options`** | <code><a href=\"#setzoomoptions\">SetZoomOptions</a></code> |\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### GetPreferredZoomResult\n\n| Prop       | Type                | Description                                                  | Since |\n| ---------- | ------------------- | ------------------------------------------------------------ | ----- |\n| **`zoom`** | <code>number</code> | The preferred text zoom where `1.0` equals `100%` (no zoom). | 0.1.0 |\n\n\n#### GetZoomResult\n\n| Prop       | Type                | Description                                                | Since |\n| ---------- | ------------------- | ---------------------------------------------------------- | ----- |\n| **`zoom`** | <code>number</code> | The current text zoom where `1.0` equals `100%` (no zoom). | 0.1.0 |\n\n\n#### SetZoomOptions\n\n| Prop       | Type                | Description                                                                         | Since |\n| ---------- | ------------------- | ----------------------------------------------------------------------------------- | ----- |\n| **`zoom`** | <code>number</code> | The text zoom to set where `1.0` equals `100%` (no zoom). Must be greater than `0`. | 0.1.0 |\n\n</docgen-api>\n\n## Platform Notes\n\n### iOS\n\nThe text zoom is implemented via the `-webkit-text-size-adjust` CSS property, which only takes effect when the WebView runs in **mobile content mode**. On iPad, the WebView defaults to desktop content mode, so `setZoom(...)` has no visible effect unless you set the following in your `capacitor.config`:\n\n```json\n{\n  \"ios\": {\n    \"preferredContentMode\": \"mobile\"\n  }\n}\n```\n\n### Persistence\n\nThe text zoom is **not** persisted across app restarts. Persist the value with a preferences plugin (e.g. [`@capacitor/preferences`](https://www.npmjs.com/package/@capacitor/preferences)) and re-apply it on app launch if needed.\n\n## FAQ\n\n### How is this plugin different from other similar plugins?\n\nIt lets you read and set the WebView text zoom on Android and iOS, and it can also read the device's preferred zoom so your app can respect the operating system's font size settings for better accessibility. The API is explicit and fully typed, supports both CocoaPods and Swift Package Manager on iOS, and is actively maintained against the latest Capacitor and OS versions, with clear platform notes for cases like iPad content mode. If you only need a fixed text size, you may not need it at all; if you want an adjustable, accessibility-aware text size, it is built for exactly that.\n\n### How is this plugin different from the official `@capacitor/text-zoom` plugin?\n\nThis plugin is a drop-in alternative to the official `@capacitor/text-zoom` plugin with a slightly more explicit API: `get()` becomes `getZoom()`, `getPreferred()` becomes `getPreferredZoom()`, and `set({ value })` becomes `setZoom({ zoom })`. See the [migration table](#migration-from-capacitortext-zoom) above for a side-by-side comparison.\n\n### Why does `setZoom` have no effect on iPad?\n\nOn iOS, the text zoom is implemented via the `-webkit-text-size-adjust` CSS property, which only takes effect when the WebView runs in mobile content mode. On iPad, the WebView defaults to desktop content mode, so you need to set `preferredContentMode` to `mobile` in the `ios` section of your `capacitor.config` (see [Platform Notes](#platform-notes)).\n\n### Is the text zoom persisted across app restarts?\n\nNo, the text zoom is not persisted. Persist the value with a preferences plugin such as `@capacitor/preferences` and re-apply it with `setZoom(...)` on app launch if needed.\n\n### How do I respect the user's system font size?\n\nCall `getPreferredZoom()` to read the preferred text zoom of the device based on the operating system's font size settings, and pass the returned value to `setZoom(...)`. This way, the text size of your app follows the user's system preference.\n\n### Which platforms are supported?\n\nThe plugin is available on Android and iOS. On Web, all methods reject as unimplemented.\n\n### Can I use this plugin with Ionic, React, Vue or Angular?\n\nYes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.\n\n## Related Plugins\n\n- [Accessibility Preferences](https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/): Read the user's system accessibility preferences, such as the font scale.\n- [Screen Reader](https://capawesome.io/docs/sdks/capacitor/screen-reader/): Interact with screen readers.\n- [Text Interaction](https://capawesome.io/docs/sdks/capacitor/text-interaction/): Enable and disable text interaction (selection, magnifier, callout menu) in the app's WebView.\n\n## Newsletter\n\nStay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/text-zoom/CHANGELOG.md).\n\n## License\n\nSee [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/text-zoom/LICENSE).\n","readmeFilename":"README.md"}