{"_id":"@budarin/app-zoom-service","_rev":"7-2a37707def9a55edda5d1208500a1e16","name":"@budarin/app-zoom-service","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@budarin/app-zoom-service","version":"1.0.0","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.0","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"4de9adc0045250675855d51e25d9c7d4421a9274","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.0.tgz","fileCount":9,"integrity":"sha512-A82f8Y1tJ3jeU/Q2e2tubn6K5D2B26mvNPjcFjLlGMUZu36p6/0gYAQ4IfWFfJ2p8VzwFr/SQWPth7XhURr7LA==","signatures":[{"sig":"MEYCIQDYuiB1LvWO8VwpSKxakHtzy6Ai5cGas++60UJM7dmVoQIhAOA+hnEUMDEPuYqhLz6TAsGJKJCm158TFP0MCrPdPcRE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5538},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.0.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\14b0e688fda07f895ceb9a76796d8b14\\budarin-app-zoom-service-1.0.0.tgz","_integrity":"sha512-A82f8Y1tJ3jeU/Q2e2tubn6K5D2B26mvNPjcFjLlGMUZu36p6/0gYAQ4IfWFfJ2p8VzwFr/SQWPth7XhURr7LA==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.0_1759330913622_0.8962801973857271","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@budarin/app-zoom-service","version":"1.0.1","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.1","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"0be0ccf215ef1aa9553dda7c29245a5afc3b1401","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.1.tgz","fileCount":9,"integrity":"sha512-0yh27lfAi9/bx7IhOaX2GNLS8GGWr6x3nw27YGGGz3LCPeyW6qfqYQaE60McPIPh7PeJRCkkNy46gJsNiM/vcQ==","signatures":[{"sig":"MEUCIQDgwVRTcvFnWBTqVgvrizSRsg/UWON+l+zLIqZ/abntEgIgDyvnJo3I86USV7e+phIycYbOuX4InYJmeeNjj+fVJ0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7636},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.1.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\d2b42ea09a69f503a73699958cb25c6a\\budarin-app-zoom-service-1.0.1.tgz","_integrity":"sha512-0yh27lfAi9/bx7IhOaX2GNLS8GGWr6x3nw27YGGGz3LCPeyW6qfqYQaE60McPIPh7PeJRCkkNy46gJsNiM/vcQ==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.1_1759331183377_0.35214316748084995","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@budarin/app-zoom-service","version":"1.0.2","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.2","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"8f396c7a08bd4a60d1462f9cbcd2a3d1cae25031","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.2.tgz","fileCount":9,"integrity":"sha512-K/kEv2s3qi5H3xLp/rDMpU10S/iSskJivZxu9aiyZg+A+MA3iDC1gJpZHhamru65NLcNVMVoUk8myXAul7Thmw==","signatures":[{"sig":"MEUCIGS+c5S2TcuS/i1h0eY068sYJYt3jp5fJ+hXEmFQ7zs6AiEAl79mHHIY3BQz8FNcpu0zpxTQEncOGh9yZ3VlGVCQ+1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7896},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.2.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\b7d992e7ed9c76b8ebbe7da1e00d6a77\\budarin-app-zoom-service-1.0.2.tgz","_integrity":"sha512-K/kEv2s3qi5H3xLp/rDMpU10S/iSskJivZxu9aiyZg+A+MA3iDC1gJpZHhamru65NLcNVMVoUk8myXAul7Thmw==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.2_1759331991120_0.9332787164785097","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@budarin/app-zoom-service","version":"1.0.3","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.3","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"3fe683457b863c0563a09614d16acfed002e0534","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.3.tgz","fileCount":9,"integrity":"sha512-UUbqhlbiNORbbOxenIT3pM8Dq6PtY+M3PS5WbEkwC3URtSAhvKpMeecdz7j+SNSywvVdt8vcpp2Os/dySbDIEA==","signatures":[{"sig":"MEUCIQDwgND9aSUmZvvgmuTHGWVzBXWA69CAwbZMQ9+4kNnuvAIgfdLrKSpwG7Nf5UXXAk1h/1ztOZNnJVlom2AU3XEna2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8571},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\ccd6ec7b5ba2e2fa02ee26c8fda13a2a\\budarin-app-zoom-service-1.0.3.tgz","_integrity":"sha512-UUbqhlbiNORbbOxenIT3pM8Dq6PtY+M3PS5WbEkwC3URtSAhvKpMeecdz7j+SNSywvVdt8vcpp2Os/dySbDIEA==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.3_1759332718247_0.47419247446384105","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@budarin/app-zoom-service","version":"1.0.4","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.4","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"f08436a8d27e3750b633fd78de43d8faa441e73a","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.4.tgz","fileCount":8,"integrity":"sha512-S9xIXMV7wuf1wI8gvPoI77cLFOuzifzABjh+nvbnOzrbWcW9hBALE3GXZGNpcBvTZUzn+Wn/1Qi8gaog2U1l6Q==","signatures":[{"sig":"MEUCIQCnPNT3sRqrqwiqoIE0pcrxIMluPtxsL6IAekthOP/OcAIgQM35kf0cf1jcyrmPaePIQuqaMR3dLB+4xPrj59wx8ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7597},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.4.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\5f974e7b549862a7a7424b9c737c9dcc\\budarin-app-zoom-service-1.0.4.tgz","_integrity":"sha512-S9xIXMV7wuf1wI8gvPoI77cLFOuzifzABjh+nvbnOzrbWcW9hBALE3GXZGNpcBvTZUzn+Wn/1Qi8gaog2U1l6Q==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.4_1759335949273_0.620084543708036","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@budarin/app-zoom-service","version":"1.0.5","keywords":["application","zoom","service"],"author":{"name":"Vadim Budarin"},"license":"MIT","_id":"@budarin/app-zoom-service@1.0.5","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"dist":{"shasum":"6709c926040c445a935d184ec98d71f9bf61ac42","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.5.tgz","fileCount":8,"integrity":"sha512-TR6n1+F4s/l1TPQxSatFs3leQt6k45SINXi8AY45+qgcOaM4LYnAnAx9sOsq/GkT1fw/oK4B2HO9Ptw2s0oIPg==","signatures":[{"sig":"MEQCIHtmZmJs3BSfaskUvE5aUGpzHvNONDwpGednMZhRKCENAiBw+8hSBcUKya9F3B90ZvSrc2OMN6YCLDpI1DG9Ac8zYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9218},"main":"dist/index.js","type":"module","_from":"file:budarin-app-zoom-service-1.0.5.tgz","types":"dist/index.d.ts","scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","publish-package":"pnpm build && pnpm publish --access=public","upgrade-dependencies":"pnpm upgrade -i"},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\3b3c5302d96d46ac1f8cd498320ae79c\\budarin-app-zoom-service-1.0.5.tgz","_integrity":"sha512-TR6n1+F4s/l1TPQxSatFs3leQt6k45SINXi8AY45+qgcOaM4LYnAnAx9sOsq/GkT1fw/oK4B2HO9Ptw2s0oIPg==","_npmVersion":"11.6.0","description":"Add zoom service to application","directories":{},"_nodeVersion":"24.8.0","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/app-zoom-service_1.0.5_1759402579131_0.5243127749182257","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@budarin/app-zoom-service","version":"1.0.6","description":"Add zoom service to application","author":{"name":"Vadim Budarin"},"keywords":["application","zoom","service"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","dependencies":{"prettier":"^3.6.2","typescript":"^5.9.3"},"scripts":{"build":"tsc && cp src/*.css dist/","type-check":"tsc --noEmit","pnpm-install":"pnpm install","upgrade-dependencies":"pnpm upgrade -i","publish-package":"pnpm build && pnpm publish --access=public"},"_id":"@budarin/app-zoom-service@1.0.6","_integrity":"sha512-MHtzt2fsdSYFaFtlDYXI/ygUELncHdAxSwcSVh3wkeQo6O9hRNmsShn+BlrS8QPPS8gQa52PbEjGIKUxuZCOCw==","_resolved":"C:\\Users\\Vadim\\AppData\\Local\\Temp\\92e5bae624123e376bdca83e8c1ebf43\\budarin-app-zoom-service-1.0.6.tgz","_from":"file:budarin-app-zoom-service-1.0.6.tgz","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-MHtzt2fsdSYFaFtlDYXI/ygUELncHdAxSwcSVh3wkeQo6O9hRNmsShn+BlrS8QPPS8gQa52PbEjGIKUxuZCOCw==","shasum":"c5c1ef816d822638f79b9b283d1d8de45d0e9da8","tarball":"https://registry.npmjs.org/@budarin/app-zoom-service/-/app-zoom-service-1.0.6.tgz","fileCount":8,"unpackedSize":9490,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDcY7ThjCFfzXcXNo45Zz8VXEkcoePZIZ7RimP0AvC/UAiB+vyesGJ/nrKTUZR17caYpiq3XcgG0apYJv8lcfCAPHg=="}]},"_npmUser":{"name":"budarin","email":"budarin-vv@yandex.ru"},"directories":{},"maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/app-zoom-service_1.0.6_1761943717616_0.41390230495667235"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-01T15:01:53.539Z","modified":"2025-10-31T20:48:38.038Z","1.0.0":"2025-10-01T15:01:53.816Z","1.0.1":"2025-10-01T15:06:23.566Z","1.0.2":"2025-10-01T15:19:51.357Z","1.0.3":"2025-10-01T15:31:58.412Z","1.0.4":"2025-10-01T16:25:49.471Z","1.0.5":"2025-10-02T10:56:19.329Z","1.0.6":"2025-10-31T20:48:37.820Z"},"author":{"name":"Vadim Budarin"},"license":"MIT","keywords":["application","zoom","service"],"description":"Add zoom service to application","maintainers":[{"name":"budarin","email":"budarin-vv@yandex.ru"}],"readme":"# @budarin/app-zoom-service\r\n\r\nСервис для добавления функциональности масштабирования в веб-приложения.\r\nДанный сервис поможет тем, у кого стили не позволяют контролировать zoom при помощи изменения размера шрифта корневого элемента (по разным причинам).\r\n\r\n## Описание\r\n\r\n`@budarin/app-zoom-service` предоставляет простой способ добавления масштабирования к веб-приложению. Состояние хранится через переданный объект хранилища, совместимый по методам с `localStorage`.\r\n\r\n## Установка\r\n\r\n```bash\r\npnpm add @budarin/app-zoom-service\r\n```\r\n\r\n## Использование\r\n\r\n```typescript\r\nimport { ZoomService } from '@budarin/app-zoom-service';\r\n// CSS автоматически импортируется при импорте ZoomService\r\n\r\n// Передаём ссылку на существующий объект хранилища (совместимый с localStorage)\r\nconst zoomService = new ZoomService(localStorage);\r\n\r\n// Инициализация с сохраненным значением\r\nzoomService.initZoom();\r\n\r\n// Установка уровня масштабирования (в процентах)\r\nzoomService.setZoom(120); // 120%\r\n\r\n// Получение текущего уровня масштабирования\r\nconst currentZoom = zoomService.getZoom(); // 120\r\n```\r\n\r\n### Кастомное хранилище\r\n\r\n```typescript\r\nimport { ZoomService } from '@budarin/app-zoom-service';\r\n\r\nconst memory = new Map<string, string>();\r\nconst customStorage = {\r\n    getItem(key: string): string | null {\r\n        return memory.has(key) ? memory.get(key)! : null;\r\n    },\r\n    setItem(key: string, value: string): void {\r\n        memory.set(key, value);\r\n    },\r\n};\r\n\r\nconst zoomService = new ZoomService(customStorage);\r\n```\r\n\r\n**Важно:** CSS файл автоматически импортируется при импорте `ZoomService`. Убедитесь, что ваш сборщик (Webpack, Vite, Rollup и т.д.) поддерживает импорт CSS файлов из node_modules.\r\n\r\n## API\r\n\r\n### ZoomService\r\n\r\n#### constructor(storage: LocalStorage)\r\n\r\nПринимает ссылку на объект, имеющий методы `getItem(key: string): string | null` и `setItem(key: string, value: string): void`.\r\n\r\n#### initZoom(): void\r\n\r\nИнициализирует сервис, загружая сохраненный уровень масштабирования из переданного хранилища и применяя его к странице.\r\n\r\n#### setZoom(zoom: number)\r\n\r\nУстанавливает уровень масштабирования.\r\n\r\n**Параметры:**\r\n\r\n- `zoom` - уровень масштабирования в процентах (75-150)\r\n\r\n#### getZoom(): number\r\n\r\nВозвращает текущий уровень масштабирования.\r\n\r\n**Возвращает:**\r\n\r\n- `number` - текущий уровень масштабирования в процентах (по умолчанию 100)\r\n\r\n## Особенности\r\n\r\n- Явная инициализация через объект-хранилище (`localStorage` или совместимый)\r\n- Автоматическое сохранение состояния в переданное хранилище\r\n- Ограничение диапазона масштабирования от 75% до 150%\r\n- CSS-переменные для интеграции с существующими стилями\r\n- TypeScript поддержка\r\n\r\n## CSS переменные\r\n\r\nСервис устанавливает следующие CSS переменные:\r\n\r\n- `--app-zoom-level` - текущий уровень масштабирования\r\n- `--app-zoom-ratio` - коэффициент для расчета размеров\r\n\r\n## Лицензия\r\n\r\nMIT\r\n","readmeFilename":"README.md"}