{"_id":"@brandup/ui-kit","_rev":"55-e3f70a0e424b983858d196b95e7d388f","name":"@brandup/ui-kit","dist-tags":{"latest":"1.2.6"},"versions":{"1.0.1":{"name":"@brandup/ui-kit","version":"1.0.1","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.1","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"98e05f5deefc60cf0cf1e4cdde5ee332e7d41248","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.1.tgz","fileCount":8,"integrity":"sha512-xqPY2TMs0eANnPal5F3ITJgFDKHaH3LRhsPe158FEmf4DMK5aFW4Xy4oJCIg/Kj4PWmmKvBEjEvuI1OIxqxCUQ==","signatures":[{"sig":"MEQCIG7XboC4+b5/LxdRPkA5P7dgj4QBbBCFW/xfv4+KYarZAiBx8bU75tslnSqcRtCscE1NpoZFCvcpmHO+6B/YiUvTfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8902},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.1_1746432681867_0.9330134357779729","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@brandup/ui-kit","version":"1.0.2","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.2","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"b04330dd028990febea578e728b958a51961364b","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.2.tgz","fileCount":10,"integrity":"sha512-M8MeDUeNwhUg/S3ZBcHxO3diWRt2mkMCCZj/TMfNx+nvKhV4S7SL8WqgiTh9aFHYtUfX/Wmv90Qzj/FxutHb4A==","signatures":[{"sig":"MEUCIGqOnkJlhtezo3N83h7gbaZ4QfFs7GRk70dFUD+xOXg4AiEA9SQa9DCT/h2fXLD0Zl5VuOng5iegqjNr05BQB/mBAIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13200},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.2_1746450311491_0.2541533020318565","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@brandup/ui-kit","version":"1.0.3","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.3","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"b37743bfcc8e6f47f8f6f252816805459e7fa5b7","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.3.tgz","fileCount":10,"integrity":"sha512-FiKlu/eqgrkWD8FCfHU6O7ZXrdr7arLJufTsoQWoGnYROnntFssL14NQFqh6xtkVu3ve+zX6QpRB/8XZyCR96g==","signatures":[{"sig":"MEUCIQDLsM5IgCpi/CI140EfYdT9+YNQZL0sV8sHTBQwCJWmDwIgX/Y5AD04gvNe0bBOPynab43CsQ354f9yIvYTD6NlT+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14918},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.3_1746531626532_0.14986181490791517","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@brandup/ui-kit","version":"1.0.4","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.4","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"34c0cc1372d674b0f16e24319a8ef653e3d937be","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.4.tgz","fileCount":10,"integrity":"sha512-plD04MHSOU4h3qXXkoJCWLnH0eq3GaWKYufbu9gsHWokhw/BzsM+VXciRh9wQDnpu/093dKPDEKKzvb/eTIiKw==","signatures":[{"sig":"MEQCIHuyNJJWhi5+vk14lsEqA4yhr/V1uDF6Oy+utho2ZCLYAiBT3xmIAPSBlTlC0QGO/Rr3mw1f0d/Oj4dO4/+R0cwwcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15397},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.4_1746536721031_0.12172351556719851","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@brandup/ui-kit","version":"1.0.5","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.5","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"1287ae75c75b72fa0910d15171cfb6d7d67e8b7e","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.5.tgz","fileCount":10,"integrity":"sha512-Jy8iajVsrnGSGNR9TtyLK6f6zh6KnIjEmM0pbClfi/YsvsvaKkX0+h19hC2dWXBKkD3aw6XBWpgWuv8RHdYxQg==","signatures":[{"sig":"MEQCIARwNsj9Ts5lBvoYFcnbACHoIzYGI6CPunwOz8r24LteAiBSo4JvdMPp99Rg0aKqie/JfdGCO0xO9VfiWnsvjnTkxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16109},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.5_1746587869039_0.09975343835107098","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@brandup/ui-kit","version":"1.0.6","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.6","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"521ad97b730e4fbc31c4c783b7f8db166f426f71","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.6.tgz","fileCount":10,"integrity":"sha512-fJHQmxgahMLg6SnhO2fZ0MHBxHJwOHiId2Wvu7O0L3e4YaGLscNANKM8zOzRsqIajdHHssp5D5NM3x+y222VgQ==","signatures":[{"sig":"MEUCIQC/lGlLwAG+mByEkI9XakVGeM46Ai5BhLCIQZPGe5MGngIgNh2a/Oxb7fnHm9jKItv07BiAsjrbwni5DLwj6CBhSqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16153},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.6_1746589891292_0.8727574859756868","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@brandup/ui-kit","version":"1.0.7","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.7","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"79c8fb5812531d58c443041a1ef3fec759a4c84d","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.7.tgz","fileCount":10,"integrity":"sha512-KWPxnaql/unI8FDi/QCIKtS3+qR8uQ8+bvkC3lS3kjLCY6l1AZlgSR+zDtI4DkH+qli3+nBibuRhVXfsgAP0FA==","signatures":[{"sig":"MEYCIQC0eno6YXV86D6Yj2vNgwDn4tmiuKYX9/lfmPQ2+jvHrgIhAI5C+cPf2NtTqCjSsE2PBUVyIblppwbMDVv72eukPVsI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16172},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.7_1746592981365_0.40072273555014415","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@brandup/ui-kit","version":"1.0.8","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.8","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"1946759e809970ac8db9f0851aa6bd04daeb9075","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.8.tgz","fileCount":10,"integrity":"sha512-EYKb1KWikBEjTWGdmhgqL43Zq+tsZ0PhfEKHP++GPtSM/f3EBRMo7U3LOVdL2vDhBdgtHMWo5x+WEO96dbDBuA==","signatures":[{"sig":"MEYCIQDsfN2pnNvcCbf4TfVUrRL1e6H2u2ak7WFtKyufRynWmAIhANTT49180Xe/sRg6DQWMb9DYRVvtRGsreVI++lZDhNpv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16232},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.8_1746847411466_0.1754665426466604","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@brandup/ui-kit","version":"1.0.9","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.9","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"b71961ba3d89e1ec3643d74520ba326de5028972","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.9.tgz","fileCount":10,"integrity":"sha512-/jK6nnRhbYf3yg9eXO2cFHbmQXiYdB9zbSW9AWlyzHyiA257gzlJDjg6Zrd/GT2PUpE0DObV+KtKotAlvUJV5Q==","signatures":[{"sig":"MEYCIQDIgt3RXBJ8rODYXoyNQcujegBl73B0a+uT//WF92wJggIhAOCt7+i1kjqKtB5lyXG+sDjuSZPU0HItd9cfhShaUQfy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16106},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.9_1747541484515_0.45440203460228545","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@brandup/ui-kit","version":"1.0.10","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.10","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"1d0340c8b1c609ff4ccba6b6ec3c746997a3a05c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.10.tgz","fileCount":12,"integrity":"sha512-iId0FrGs23acBoIFB/rXpp7OQL/F6/ZQTIhVlpezhhD/PIP9OPXArTnRhN6PCt+l0rhDHQTE+4v3weLr0O1mZw==","signatures":[{"sig":"MEYCIQC0ZpbKpACD3k/HfY4bG0eHogvthUYD++zatN0AIfl1GgIhAKGZIbAxXLemqekYs7JTS4M0Aezs+6RjW/hCpNbAPu5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19834},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.10_1748233337621_0.22075212006165779","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@brandup/ui-kit","version":"1.0.11","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.11","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"cb2ad9ffba04b8dc20098795c3188e51fa3f9312","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.11.tgz","fileCount":13,"integrity":"sha512-uqWXPHhjKF1qHDjFfBNSY2sZK3BuunUa4Uvk3la35ifVqV8z6pMPDTqGm0QZ0lBooA9AJV3MhFNLrVNu1/1WfQ==","signatures":[{"sig":"MEUCIG7ExvKT0+P+I0I60P1VcH9PouwZ5PVwzEIi2vBLChZCAiEA+baoOfO65XeCwelSu2M5a4LfgbrzDF2TJ9rJmPVkPbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20654},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","actor":{"name":"dkovyazin","type":"user","email":"it@brandup.online"},"email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.11_1750667639434_0.6392788923811432","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@brandup/ui-kit","version":"1.0.12","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.12","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"831e63032b40f64c5a9fd8fa0c91c0cff1c8539c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.12.tgz","fileCount":13,"integrity":"sha512-M+UmBf9bgTaqxehQJGOWbFclUyFi4a6Vt8InXHUJp4C5ArnVRwiKFrkUYuu+oFgSL73PjQCsprECnVKDdifDEg==","signatures":[{"sig":"MEQCIGvHlLgNLb5Bsv6cCTKnHjVc47lCQ1nIFAA1CdBfUu6OAiAV/tm3GZUcJ5MVoIo+uaX3+1gCEpr5LR26YIjPPHtLIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20654},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","actor":{"name":"dkovyazin","type":"user","email":"it@brandup.online"},"email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.12_1750734721429_0.749566784124877","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@brandup/ui-kit","version":"1.0.13","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.13","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"0a947eef0a567057204087d6b563b8883dd18fed","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.13.tgz","fileCount":13,"integrity":"sha512-vnG10E9WjzrpUHNg+WR6BTQB6UgfkFrL+u6vFj43F/tXVWKvjXD09RsgSj5ygmHlXapVEv3S971RKjJOkqHVeg==","signatures":[{"sig":"MEQCIC9Cv1Y2dbO2CS4I1zbq/H9/QHt/8HXLFpYw49a2qQICAiBOvg8yBxTjslXOu2rbfOoC9vfdOxPHxRqjr+i5cIqonQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20654},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","actor":{"name":"dkovyazin","type":"user","email":"it@brandup.online"},"email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.13_1750735811858_0.3816667456415703","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@brandup/ui-kit","version":"1.0.14","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.14","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"40d70b86644ed6119165d377a94a93d205db2d84","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.14.tgz","fileCount":13,"integrity":"sha512-WR+p44pARf6q2PsqwW3Vc5HOwz9J+a6FNPeF3gyRw+s+JrWFWUA4RbvTsJ5gwyW2HSX3EmfPBNRhB2iqpSbp7g==","signatures":[{"sig":"MEQCICoUAmDEsacoAQpPXhAnOA3nxiQXfo9y43VtKNKBKzIbAiB0yg0XnRyLBblSuwkbQgkJLaGxqXngPHIZmez/prndhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20654},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","actor":{"name":"dkovyazin","type":"user","email":"it@brandup.online"},"email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.14_1750750087739_0.8471994381088366","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@brandup/ui-kit","version":"1.0.18","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.18","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"a8651f99d75f07e5ad75aa475b40b6126da5ce18","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.18.tgz","fileCount":13,"integrity":"sha512-ndIYTop0Wspz3iisHlcybAl5uBmrZHbXVK+cnn4gP/Mc3HS5CgO7EFb+YXevgFfPl2ew1D0GEe6jxKOXo21Tjg==","signatures":[{"sig":"MEQCIC0ncgBJ5nvhnxpimA3ZBx77pKZUuFt7MfKyvrTVrbdEAiB/MysudDG/mGlgsMa7K+t+ez2Cclz+VMuf7YTakQ2DLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20797},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","actor":{"name":"dkovyazin","type":"user","email":"it@brandup.online"},"email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@brandup/ui-app":"^1.0.32"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.18_1751209985813_0.6655898799075501","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@brandup/ui-kit","version":"1.0.19","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.19","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"c06c4cc51c3e2fbdd05fb129ed90d09623d7dc4e","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.19.tgz","fileCount":13,"integrity":"sha512-AWQVI05gyzcpQ6JVfPo9mb1KIGAIq7I2Jg8Hf0kb8oxmf4fAwb7Ma8n7ME5iygxYRUvIwMYyUlMmhSmwvq7trw==","signatures":[{"sig":"MEUCIQDSgPIuG1J0jabGlLFKaeF1htL0f61jIWIZvkYPtjtZIQIgHOxob3GMC5/5aKFXe+M8Gr+0jNue0nnBjA/qEt2BNf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20797},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.3","dependencies":{"@brandup/ui-app":"^1.0.37"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.19_1753189408794_0.26713647483390535","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@brandup/ui-kit","version":"1.0.20","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.20","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"b1a4e1b34e8e024551167929d537896cf359bd01","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.20.tgz","fileCount":13,"integrity":"sha512-sb+trzwfCInloSL0L0yyAM4g88GCYysMOD7VT54/W3xOVL2Tmuk8/XOHnFDUrEqAbGX48EIxOQKc4xc53K88xg==","signatures":[{"sig":"MEQCIA+c5VtOBZixH49VufHP6z8zMnVJbKJaeBktjSYSrPRzAiB1LfeW0ipRZOSjH01tNV1GklQ/H1sofPlmzsmwsVQ5Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21743},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"@brandup/ui-app":"^1.0.37"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.20_1756199537277_0.06374334801486548","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@brandup/ui-kit","version":"1.0.21","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.21","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"4ced3478206ddda6519d02aede66241527318b86","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.21.tgz","fileCount":13,"integrity":"sha512-nZSBlh7Toz5XcCX7xnkWtftMflurxxl2uXMri+HR6Lf2GkQM11o+sRBuVN/7ivsivzxzilgc03UwdLXlkQnjnw==","signatures":[{"sig":"MEQCIBOC/z4P6WnJbS980fAeCPSlJoD3Vu1fIl/s7uw0TyBdAiBCY7zWXQ/gTP7kzH0QWmMbnL36hPzxw41gdErMOaKTHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21743},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@brandup/ui-app":"^1.0.38"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.21_1762007228109_0.10666371162962007","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@brandup/ui-kit","version":"1.0.22","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.22","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"ac8d851a33f4d24dd687f45615b3399821b5eb77","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.22.tgz","fileCount":13,"integrity":"sha512-bu4iVPm7gPojHR5GfJssrtf7t3AktM1va33guL19GW+skrnjNf0dr8jd2vYaSKeuwZ0Ng6tJSqnjFf6tnc3mjw==","signatures":[{"sig":"MEUCIHLzo+pbVx899jSbkRIeVKwbYW7swKwIkyILtUilCM/sAiEA53fjfv15YkYTsOPmwcon9zAci4lPH+q49Fd9KpAPlNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21743},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@brandup/ui-app":"^1.0.39"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.22_1762497092378_0.11396086850514409","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@brandup/ui-kit","version":"1.0.23","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.23","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"cdf54406267c0cc5b04de1f078526f8b4d0a0b9c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.23.tgz","fileCount":13,"integrity":"sha512-JfDP4lhKqf3tPWpodZbmt3mi8zRpVhXt4POsvCE/9gKKoFjB43tzt7d2cBTJT4rQz49OOLu9CFGvBeQWuYhn2Q==","signatures":[{"sig":"MEUCIGic6fRK3SJ5jJRrLzJaEafIOoAFRzrVJH1pyMtYKR5+AiEA3A0yj6tjQcYViQCJ01xgsNaOzVFTY2x9xfglLnSMC7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21743},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@brandup/ui-app":"^1.0.39"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.23_1762504111350_0.667313292502149","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@brandup/ui-kit","version":"1.0.24","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.24","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"42c5abf900241cc01c662066c2ef9ec7b3258ceb","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.24.tgz","fileCount":13,"integrity":"sha512-eyaSPWNXNpQ3i/tQAFdm9Gn4wPvx+HpdJqapiBfwaIEw2r6LgB/2cTs33APGtevwuukzYVUpL/fnYpvvTQk+gA==","signatures":[{"sig":"MEUCIQD7To65F0KvJhHnchdsQAgwdOzsvyHWysdKNDj5H5x79wIgaf4iF9WHv7WItLiGBKNTWVNzSdjkHrI/yQ72TYbLDw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21987},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@brandup/ui-app":"^1.0.40"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.24_1771766510937_0.7436301267351071","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@brandup/ui-kit","version":"1.0.25","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.25","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui/npm/brandup-ui-input","bugs":{"url":"https://github.com/brandup-online/brandup-ui/issues","email":"it@brandup.online"},"dist":{"shasum":"c8a360104e62b7541f466c26ac3e36192e0cf575","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.25.tgz","fileCount":13,"integrity":"sha512-o+Q5bmMlSyv8ObumB18E3BQzjpaiylfsQG+v5OHyGkQCfSjmVFTd6v5/IcZ+zzZC/DoHrqzYHQ0IEfuUFTzlmQ==","signatures":[{"sig":"MEQCIG0xAclGpD79vMByfFQhQGwE8ww8Y/eWPXDuTr70s1FrAiB0x7gKjMP/6J2Ozok55pM5AbOyTl/DB2ZIlfJgXWhzww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21987},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Input control type and styles.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@brandup/ui-app":"^1.0.41"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.25_1773195767198_0.640643211328954","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@brandup/ui-kit","version":"1.0.26","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.26","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"6444604255b3e0c3a323f77e2272897cf09943b2","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.26.tgz","fileCount":14,"integrity":"sha512-rIxO/q7qZGLMYt+/4gEqtRGFVVDC/vOTEeuS6DLlSJ9mNPd5e3s2AfJk8aCVg4C2miYigBX+LNRXq/olDSMLhA==","signatures":[{"sig":"MEQCIGRoHG+qR4XA8P7o2UH9qeNOUP8gGRFJcdJxwq9yJ+xWAiAxV83iqtProssmi5MUFDxLMc8XgT+tpZDzyd8rij1xHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22076},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^1.0.44"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.26_1780053883903_0.5129557070488726","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@brandup/ui-kit","version":"1.0.28","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.28","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"ea85339e2a3b73b2c24deee4477801a1602123f5","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.28.tgz","fileCount":14,"integrity":"sha512-GV5gGaVQFkWtJZno0VjoTWY7HrxxRn5zf6vVRYRfw24SyKLBrHyecGiNqFc6KdQ3orXA2UFQPH70aYPm8X9SGQ==","signatures":[{"sig":"MEYCIQC2zljfufD2sgl2h15TTtqr24V08mkY/7+ekf00KvNdZQIhALqgCoudEOEY0HSM4byK0vGiBPnrK4AN9RRz6Ucf9ao7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23872},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^2.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.28_1780334930487_0.17701748210047175","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@brandup/ui-kit","version":"1.0.30","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.30","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"9cb3885c89195d11cca4b6c1dcaf9cdddd62b248","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.30.tgz","fileCount":14,"integrity":"sha512-0vhWjuS37+6YVK44SkPHdxXoIPuea+oHkJSu74Py+qq1o5MHneKp+4Di0aIZx/0cN2DV3IbVEh1zAO3BfnFxqw==","signatures":[{"sig":"MEUCIQDlhVABu3FVJxgcP9e4f8VA78kkf94qkJJ92H4nekrV0wIgOGWqChW60Fmgi4SeShjUuylDKrQ9WkYhqUM34NUYjBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23872},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^2.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.30_1780404691597_0.23003029901024008","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@brandup/ui-kit","version":"1.0.34","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.34","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"44ce342d5c7eb107fc41a422a4dc358753b8a370","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.34.tgz","fileCount":14,"integrity":"sha512-BXcCNaYKzIhJ2xroxviFvBMPQsp/M3xegIx6JGoOdZdaGO01Tw920PK2MkzJ21Ae76WCKsMJ+M7f3Knuleuv1w==","signatures":[{"sig":"MEYCIQDiQHK6aypYqXmKhp99uj4NoPCCkcZy5FyPjPKFfq6Q0QIhAJlxVnswYJ9QzWMpXcza2tmwzKMJYidN5AYHb9c4c9ej","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24334},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^2.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.34_1780562617003_0.1425850097091601","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@brandup/ui-kit","version":"1.0.35","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.35","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"854cd65aee6a858ecffd86b1fa5ac34b2700840f","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.35.tgz","fileCount":14,"integrity":"sha512-tpyDMUMDOMWIWjQgj2SeHfKmrThb51OPXO2ZCTkwa0P0T/kEpBcon0l3nLJ7lpUqHhdQ4W3c0WqBOj66YotA7A==","signatures":[{"sig":"MEYCIQC0HLHdaJ54S78u4J4o7ZpAfVWtvnQCkada6QYUHNb7rwIhANumi3LXQt+2bFeBKgtnAmlUn6JbCDlIlxIW1XCBisbN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24334},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^2.0.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.35_1780650719909_0.6596580761510931","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@brandup/ui-kit","version":"1.0.36","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.36","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"fe81e8f5c3cf631c521c1f59ec353567b1a8096c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.36.tgz","fileCount":14,"integrity":"sha512-Ro+KcliXozUlsjM8aNFQNyZTgNF4GVNBg51hnHzFvx8mA3j6/rBjVDJr2ZcKiSmlwor5X1i3A4qBdgWJaqnl+Q==","signatures":[{"sig":"MEQCIHBcxudvjogpqXhQbLC0+/ezYgjUI3Q+4gxw2eQtYDOvAiBomw7avgOMrhL/Qk0Ek3nMOE02KQdhsQQzrdd8ngnVtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24383},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Input control type and styles.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@brandup/ui-app":"^2.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.36_1780651544175_0.07613644445011292","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@brandup/ui-kit","version":"1.0.38","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.38","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"b81ea7daac6e1aaf9f18e623cb625af515375216","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.38.tgz","fileCount":14,"integrity":"sha512-y5MQdrFgEeQTfD6PNgZQo/YnquK2WhzaPJ4T+myYMwJGfPXhsJLIGfAqx0SWbPsstTo4vLXBNN1wDS1USYKz7Q==","signatures":[{"sig":"MEUCIEtslNmSZzK/dbMIXTz3W1m4GrEkJC/xaujpEStwMn58AiEAxtdBmZ6OJdqrebCS20BMSfhINRysukW4Ofkt37zDkHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24440},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.38_1785878791171_0.16350229685326756","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@brandup/ui-kit","version":"1.0.39","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.39","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"d075ca4e5b5f4b0c84fbeac176a6d12eddb7d7ab","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.39.tgz","fileCount":16,"integrity":"sha512-sYsc4C4jHpjVfjFZQvdNV4Crhs6pXAqw0GCfK1i+UUxCOs0TP2iRL8WTY6qd+dsZGu6pam2R8F2PngsfdcNlqg==","signatures":[{"sig":"MEUCIGxHfqZuKfpSv0B95r+ns746/it2TeSNZQwerdyRrJXDAiEAsouH7rKoBdB1EBstzHY5P8TLZDHhzYPdf3z9hSRDt/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31428},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.39_1785923248030_0.724583264729425","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@brandup/ui-kit","version":"1.0.40","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.40","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"228fa2c36ea8bbb59a1d88d88b4eaca144ec1018","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.40.tgz","fileCount":16,"integrity":"sha512-IixUtC4WrEm9CsD5/pfMNcBKqdDlNXbS7uJd7Hqajxk9+YvZFZ7+eGVK0wrRuj2tsV/eu8Qg9U466rlt2ARpLw==","signatures":[{"sig":"MEQCIAMvHZg8+K3EGlC5Gfig6nOBz8+wc6t4jhBi6qXKhpvnAiB6m/lpCWcFnN6icKqGcml6OGmPw1UalhtUsQLC15u5Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31428},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.40_1785931062326_0.4871251101355347","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@brandup/ui-kit","version":"1.0.41","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.41","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"3bd5a43dcd2358798be3fd374f9f8b99c6f3d586","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.41.tgz","fileCount":18,"integrity":"sha512-ebay1zYDfj53swfB1Odvdm3dKQT9tLFCu4BdFgEwpioKQFseTcW9zQGPJCmEhdrdpusn/8sBbZusTC6LEJ6HjQ==","signatures":[{"sig":"MEUCIQCKWRmSoWaEey7RvTWKXJ3L+62bhGgjFZ0gDoKUiABnbgIgJzGfzw8di1Em0sTI5Xf5rFLgKxzZbf2qQSu12VqQA5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36684},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.41_1785959953711_0.6114157158163365","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"@brandup/ui-kit","version":"1.0.42","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.42","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"35253b8943e8c4e47ad604efd647285f24412786","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.42.tgz","fileCount":18,"integrity":"sha512-TFel9ZcB1qam6lUlt1jjzZK0kK4fY2b6sMWex5ykjJOHXEPRZR9Q5J9YMVKm5OzA+xdYbVgiiZTsm3z4MEDbzw==","signatures":[{"sig":"MEQCIGF8GckK8lyOU6pTQIbZkXFZLDUAflUoHEcrYW82rEGhAiAR5b8scTRPzueQG1I6XbaNpRjVw2jERqniX+ANg1BVTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36684},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.42_1785972865131_0.49002752228283475","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"@brandup/ui-kit","version":"1.0.43","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.43","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"7407ddf07e97d9d43554bbe6cc8e19f52f230c0b","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.43.tgz","fileCount":18,"integrity":"sha512-gsaWwsVv1CxXmXalec4DCr55dzoupxiV/9zWngTGHpJVZkQPoN60LmZ2/QKe77OIwLLVvJ9JZyBZHxrWPWtLMQ==","signatures":[{"sig":"MEUCIG3lH1eUBMTZnjIv1Dzfk9iyV/JgQ3fQgH/cKwbD4QfaAiEA5oF69pMhlurHZ0pMXFaE/lE6dt2Ezk+dq9SPqo1GZ7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36684},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.43_1785974663808_0.4678261067022771","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@brandup/ui-kit","version":"1.0.44","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.44","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"22f132e40748c1e575a9ee3b0978e3e017442d9c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.44.tgz","fileCount":18,"integrity":"sha512-uwHvu7uMk1PWz/QoQ1+/0XmhUe+v4OQdn49AdNE9cmghjjnEhXT8v1B/5fv6g2AakCROkkm2NYESiVqo6Az6ng==","signatures":[{"sig":"MEQCIEFSBDw/9kII23DW5jGS/PlvF1GQLydkb8RyH6mN2r3xAiABgRThbrk1pIxEn0q7ycS7o+XU67BQd3Ve0qN3a20p+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39396},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.44_1786005041103_0.26019251981467884","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"@brandup/ui-kit","version":"1.0.45","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.45","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"f1ac5428046a569fa55a7be52efd34362135cae6","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.45.tgz","fileCount":19,"integrity":"sha512-bnFQ1MOPA9eB7gzYkg5TL8t6QSSOVze7RW8lhzd3hT0D5XwW7Q05eATXSNW4a+12c9tPyCOIkX/KA36xhlYdYw==","signatures":[{"sig":"MEUCIQCBqVBStpRwe3xpAM0lKNzEDSRhMjVslOrxaa5jEi3GQgIgPyPg53y/X4lWwJPPT4vbCITWGgEqmBb0gUwPufjlG4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40236},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.45_1786015929313_0.06896743327276766","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"name":"@brandup/ui-kit","version":"1.0.47","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.47","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"e75befde420bcfc693554ffada817c480011f117","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.47.tgz","fileCount":20,"integrity":"sha512-TpwcdZc1vlXWlXW+AHeElm1lktNrO/SzrAheSO0bU7oF4NX0GgWoaJfPpvT4Q8vvgXbR7PHBgZ8QyXaCvh67Sg==","signatures":[{"sig":"MEYCIQCTIlxQbnZNn6rOn7Pi9ulay4wCQPCTV70gzwKdlXCNTAIhAKEMukDFgbtf17M+M5SfoR3HCsJJEBRIU6W8EN+2j+Uf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50044},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.47_1786046802553_0.5381249306952565","host":"s3://npm-registry-packages-npm-production"}},"1.0.48":{"name":"@brandup/ui-kit","version":"1.0.48","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.48","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"a443a3ea29fd1e69feb17a9d130a80281fe884c2","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.48.tgz","fileCount":20,"integrity":"sha512-MocUuHioiuQ8FlMOeErKX+PTIG7A+peZQuaaxIdS/D/0wiqohcRxYCoc8PqHFlVu4OfR5aYCINYk1BARzBogEA==","signatures":[{"sig":"MEUCIQD7Epm90gLD4yGzoTHz5p/Hpt9Ru6XSG+K320QdY9PUpAIgHi1KCl4dbqiy9lFC0UQ+yqdJiVbZxG4PkI4+BzhS5ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50044},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.48_1786077472640_0.17132800890144906","host":"s3://npm-registry-packages-npm-production"}},"1.0.49":{"name":"@brandup/ui-kit","version":"1.0.49","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.49","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"e4725d0355163cf44d09ea3082ee37cb93003e91","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.49.tgz","fileCount":20,"integrity":"sha512-a6QJttB5difym6xjvcelVJkgLJ7uf4jd8sq6vfFqND/ugqn0awc1i3G+C0uO2eIeZNqjNbM4j9wyI+QEpcXw3A==","signatures":[{"sig":"MEUCIQCnRTdILRoFdypkMK+ZoMe/O5vNc2ZiwuUV3YgwRUvuXQIgNlJWO/ieNIv0Vy7eK4qZHX5+uBGxaG3pQXR7J+cTUFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50044},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.49_1786102374929_0.12852657452398808","host":"s3://npm-registry-packages-npm-production"}},"1.0.50":{"name":"@brandup/ui-kit","version":"1.0.50","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.50","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"c33e0423e9407b037f98345193094de2327e8c9f","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.50.tgz","fileCount":20,"integrity":"sha512-nfCcyQd8zKDhaALUp9fdDkPdxXmQoK+8xra2m3GedYMQvyPlYxGO9WjSu5KfcK57Pa8KXmcsFM01sTeAynVVFw==","signatures":[{"sig":"MEUCICoMp0wkenGYq0cTn+sD7ESJ+GuPHx34eX4uCCjAGseuAiEA9MGzpMCm1hb+EVUTyS7wnPpOroTQ6sXRttcJt061InU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56705},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.50_1786125402878_0.42105336552403694","host":"s3://npm-registry-packages-npm-production"}},"1.0.51":{"name":"@brandup/ui-kit","version":"1.0.51","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.51","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"549e55b22864e70a5dc7bef68a603811e823ccc7","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.51.tgz","fileCount":20,"integrity":"sha512-l205wC3T0bk2wWB5pNw+PM+MXqfhH9z0TsMRF4fTgfphQYVxBmpvJEGDdh7bsphnDjk4V/dK/swBBm3eTh0EOg==","signatures":[{"sig":"MEUCIHwFYPe4FOEJe3SB7NI5phNu6oiBwt1kEKfz1HncUq6GAiEA3wnESY5deAxn5nly4rqAR+efAHSCGzIKgiHXEoAYlA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56705},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.51_1786368792577_0.8544365566330256","host":"s3://npm-registry-packages-npm-production"}},"1.0.52":{"name":"@brandup/ui-kit","version":"1.0.52","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.52","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"18a0a410772f41b8abd82ca5f55dd0d59e6a1b0c","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.52.tgz","fileCount":20,"integrity":"sha512-TT6GpRmnxGO9g8sdzsGhJ85CLrcT8kjPfsJo9uzlv8E8JfBCSkmVuqV6QSm+fWOGPndVFrOts/IyF9a6LBKJnQ==","signatures":[{"sig":"MEYCIQCkiOBSj5L3fxcdWL7qPGoBXMRZ0+hksBE9Q8Sr3QqqxQIhAKExiF4jOF88Htzo0QKycST2sio6ULyAb8mvvMmH00xl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56705},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.52_1786902513524_0.9511015974159356","host":"s3://npm-registry-packages-npm-production"}},"1.0.53":{"name":"@brandup/ui-kit","version":"1.0.53","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.53","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"e0271c42313ac380732d8a68b57266fbdf13a577","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.53.tgz","fileCount":20,"integrity":"sha512-YbUsUiJsWjDbWEmHdOpVhNoSPcRS6FphlXjlJEIo0xNW85QNoQpbMR4KmE/cKW7vLZ/6qfLEhXsn2d7Nrl3pFg==","signatures":[{"sig":"MEYCIQDNPUfTfk98C5I/wggWJNYDkL30O4Gc13+YuEaOVJ1X8gIhAMrclCfbFNzcAds0EwehIGv3utKjnf1iR0cAh1K+7cvC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57946},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.53_1787137454712_0.24373104940771007","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"@brandup/ui-kit","version":"1.0.54","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.54","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"6ea318641f7bf9c5051b071a34719c1df5fa4b9e","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.54.tgz","fileCount":21,"integrity":"sha512-67qHwc5xwZ7BzKhN0O5IFe30ytdHccflDc9dFvRUMDDYmN+4HKFM1WgZ3jGxeIQ0kgKsJIeWA+GlrP2CJPUPgw==","signatures":[{"sig":"MEUCIGy8teo0kg79awekCvYx0yMpJXk2buAakIke6c6a1kk3AiEAtUzjm2qh1O9RCpio25chWl4r4PLB+cVlWK2BgW4Tosw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67130},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.54_1787380910577_0.9683740419126332","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"@brandup/ui-kit","version":"1.0.55","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.55","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"3afd2c643fe740527c454096a1b02efac6f3c42b","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.55.tgz","fileCount":21,"integrity":"sha512-xLiGhmSw2BiGRc2t9QuwwX3vQQdn8QZwQSZDmSvq3dCYnh6uV/Cm3abSatk/R6vZXts1Xyru9i+zFF1bnK1ASg==","signatures":[{"sig":"MEUCIHbsfRlJRe7KIhuGo7j1w6JNjDrC0xUgO5fPYO4Q8SgMAiEAu+4LNNYxmOqfeGr+vnOx0VZD53M/2AsBj1AH9Hx240Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67130},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.55_1787384709256_0.010580310388816905","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"@brandup/ui-kit","version":"1.0.56","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.56","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"17da875cc0d1caf068d24420df7a29fa7ec01ec7","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.56.tgz","fileCount":21,"integrity":"sha512-s20UnMXW0irc3m6PUOoVg+valkr2Daf+ScwJMcwaKc8v9r36JjDE4zDHqD0gJ+ZmDjY77jIaO1qgunEMS6zFQQ==","signatures":[{"sig":"MEUCICNsGZSFz9PR2q5dFVh7s6nFjlWOwrluqqvQc1vhvrTQAiEAxcsN1RhddNB1KeoxFeF1c78md3pYSJZRLXQmlQExDk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67130},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.56_1787499626774_0.9655643874733724","host":"s3://npm-registry-packages-npm-production"}},"1.0.57":{"name":"@brandup/ui-kit","version":"1.0.57","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.57","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"ca721e92fa5e1795d1bb21c0950e00a4c425ae45","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.57.tgz","fileCount":21,"integrity":"sha512-Dv9sPHxMY+mWetc/sGeeX0sskpd09I7PBe2nKG5gaiPPiv2DSXMYHVEQz8mxMrMP45QW+Pphq92ARTWW7BJ8Pg==","signatures":[{"sig":"MEQCIF+HiPgPLgO8+uJ6C9+e0HFRWGJYEATitG0Bx0U6NMGuAiBVmzeRSomuxDp5OKgR6P0Rp77P1yMPB/2FnyzJvUr4Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67130},"main":"source/index.ts","type":"module","types":"source/index.ts","_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.57_1787505841968_0.14691573642770672","host":"s3://npm-registry-packages-npm-production"}},"1.0.58":{"name":"@brandup/ui-kit","version":"1.0.58","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.0.58","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"ad4faf8eda90e57c810246a36f1d7727deb9e1bd","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.0.58.tgz","fileCount":28,"integrity":"sha512-hS44HjI5lIC02BYQhrjiD62X0TIhu7HvgMwgWawLuiVOB6cakqd1fvyKXspHER6TmblLdt5ff7k7WVZwpMdsEw==","signatures":[{"sig":"MEYCIQCaTFgyH8xPwQZlhl6aXhuoe+DC2P411RAMvHvRQiW+ygIhAMvfWNv8TaqO9DP8AprdOQoh65g6g+X+C9jdTtmIyQfr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157377},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.0.58_1787737053737_0.28384163008770047","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@brandup/ui-kit","version":"1.1.1","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.1.1","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"11cc3cf34a7fdb20ca75c4faff5e6a3f6f89ad34","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.1.1.tgz","fileCount":35,"integrity":"sha512-r/oZ6WCUM01BKTiVTgDi6uXI5qWopgGvkCabVLtVnNONdBNnDOMx+xwxQQz7gvwpQLqDqtMCqv3foIJExwBIfg==","signatures":[{"sig":"MEYCIQCSkZz+BSfTWufM773uscePZTXY1Tb0MSM2WBS6AfshIgIhAOYnn5kwfZklPDSLhNNIkz9Tmebdk1jx7w/IAArvXMey","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272804},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.1.1_1788352925330_0.16433423535762137","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@brandup/ui-kit","version":"1.2.1","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.2.1","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"b83fcf457716ffcdf6729480bd1221bddc740edb","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.2.1.tgz","fileCount":35,"integrity":"sha512-W8tfw5CVDT2dbYD96bXBWflyQvcYpXlIQ9HPzRSeX2vMxLuCXeW3IAr1N4qda0E2Wep1KnCocdfYfSrLQJ5Jag==","signatures":[{"sig":"MEQCIC993QuBA6e0yWQ5TKELB+4ZA/WAruYPp548/POH/1CeAiAh+cRENQ04YidRyrsa40NCpHXuBYgEhsK9AMRDd9NUuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278280},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.2.1_1788960731965_0.6156423956291912","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@brandup/ui-kit","version":"1.2.2","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.2.2","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"08ab760ceab15c929adadee0a6f27edc228128ba","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.2.2.tgz","fileCount":35,"integrity":"sha512-plqlaY7fNij+sQXj5tVYZZh1JgZJNXIiB0F6Qf0081fpG9TFZTIXy+LNVHqNRmCdgEEJ+9mnW0F28DQeNM+pNA==","signatures":[{"sig":"MEQCIG3EqmwnGWcnBododY0MV5fZFY274zbSDXMjRQZafJ4RAiBOJF6WFKE9bXAr9ePybC+YuopnaM1w31CJri3UGw8L7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279377},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./position":"./source/position.ts","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.2.2_1788983910041_0.12556007168670735","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@brandup/ui-kit","version":"1.2.4","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.2.4","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"5da41b8a1fba2eadd7ca7eb3c2841ec112a518e6","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.2.4.tgz","fileCount":37,"integrity":"sha512-uC7oSYiIO4H1m4Apbqyx6gxea0DFXm9FiztKiiold1qFFKhPWROpD5XhlUvR5tDk7EiJxixMB0zAk9Xt88CTSA==","signatures":[{"sig":"MEQCIHUiyENh+fDwZj3jPcMPsdGNARBQXi9+FuqikrSiXiz0AiB0IfAB2HKfJ2evXgYfXMFgJLPXW6nNGFGU0cPKLXdtuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290532},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./i18n":"./source/i18n.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./locale/*":"./locale/*","./position":"./source/position.ts","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.2.4_1789193752058_0.7794847429615268","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@brandup/ui-kit","version":"1.2.5","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","_id":"@brandup/ui-kit@1.2.5","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"dist":{"shasum":"627a02c9141efb4566e0ddc7394e5efbc3740e37","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.2.5.tgz","fileCount":37,"integrity":"sha512-rdxUuzQXAjSjNjbHofX5ybg8Clv/+/CthxV+fUXbxYI3Odfz2TfWaWRyAp+JukQd8a74ANxp5ykCtQYOj++00Q==","signatures":[{"sig":"MEYCIQCJFtMtoq8bdbi5J8AtGH0z/JApYq8NVJWjdVSAfAMlOQIhAKxS3ntFaVNTlV/GN54OIJjaLfL4Cl/Rdm+Ovwa0Ubsi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290532},"main":"source/index.ts","type":"module","types":"source/index.ts","exports":{".":"./source/index.ts","./env":"./source/env.ts","./i18n":"./source/i18n.ts","./text":"./source/utils/text.ts","./names":"./source/names.ts","./svg/*":"./svg/*","./build/*":"./build/*","./locale/*":"./locale/*","./position":"./source/position.ts","./vars.less":"./vars.less","./package.json":"./package.json","./source/*.less":"./source/*.less"},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"repository":{"url":"git+https://github.com/brandup-online/brandup-ui-kit.git","type":"git"},"_npmVersion":"10.9.8","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@brandup/ui-app":"^2.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui-kit_1.2.5_1789198259906_0.6518434032362879","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"publishConfig":{"access":"public"},"name":"@brandup/ui-kit","description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","keywords":["brandup","javascript","typescript","ui"],"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","repository":{"type":"git","url":"git+https://github.com/brandup-online/brandup-ui-kit.git"},"bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"type":"module","license":"Apache-2.0","version":"1.2.6","main":"source/index.ts","types":"source/index.ts","exports":{".":"./source/index.ts","./names":"./source/names.ts","./i18n":"./source/i18n.ts","./locale/*":"./locale/*","./env":"./source/env.ts","./position":"./source/position.ts","./text":"./source/utils/text.ts","./vars.less":"./vars.less","./source/*.less":"./source/*.less","./build/*":"./build/*","./svg/*":"./svg/*","./package.json":"./package.json"},"dependencies":{"@brandup/ui-app":"^2.0.15"},"_id":"@brandup/ui-kit@1.2.6","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Q99xCadDpsygUB52NQM2cQDHizxYMceRqMRMASIMtBioQXa+hrx0aPu6P79tSDwDu7p+pgfUhwkhIs4S0xDfHQ==","shasum":"bfba49a0183a67ee50d963544adaf10527ea3667","tarball":"https://registry.npmjs.org/@brandup/ui-kit/-/ui-kit-1.2.6.tgz","fileCount":37,"unpackedSize":290532,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDjRWjAq7XT4dHFmNwlHI8CrrjpE6Cr2pARrNM4w+kdMgIge4ETd7IqVpF9DYj70bMSsXIy6dqIgeqRMKNNLdbcmNc="}]},"_npmUser":{"name":"dkovyazin","email":"it@brandup.online"},"directories":{},"maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui-kit_1.2.6_1789399564474_0.651135044661677"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-05T08:11:21.866Z","modified":"2026-09-14T15:26:04.846Z","1.0.1":"2025-05-05T08:11:22.072Z","1.0.2":"2025-05-05T13:05:11.682Z","1.0.3":"2025-05-06T11:40:26.788Z","1.0.4":"2025-05-06T13:05:21.191Z","1.0.5":"2025-05-07T03:17:49.239Z","1.0.6":"2025-05-07T03:51:31.478Z","1.0.7":"2025-05-07T04:43:01.542Z","1.0.8":"2025-05-10T03:23:31.672Z","1.0.9":"2025-05-18T04:11:24.701Z","1.0.10":"2025-05-26T04:22:17.813Z","1.0.11":"2025-06-23T08:33:59.592Z","1.0.12":"2025-06-24T03:12:01.584Z","1.0.13":"2025-06-24T03:30:12.030Z","1.0.14":"2025-06-24T07:28:07.910Z","1.0.18":"2025-06-29T15:13:06.006Z","1.0.19":"2025-07-22T13:03:28.967Z","1.0.20":"2025-08-26T09:12:17.452Z","1.0.21":"2025-11-01T14:27:08.323Z","1.0.22":"2025-11-07T06:31:32.567Z","1.0.23":"2025-11-07T08:28:31.545Z","1.0.24":"2026-02-22T13:21:51.061Z","1.0.25":"2026-03-11T02:22:47.376Z","1.0.26":"2026-05-29T11:24:44.041Z","1.0.28":"2026-06-01T17:28:50.616Z","1.0.30":"2026-06-02T12:51:31.737Z","1.0.34":"2026-06-04T08:43:37.138Z","1.0.35":"2026-06-05T09:12:00.051Z","1.0.36":"2026-06-05T09:25:44.313Z","1.0.38":"2026-08-04T21:26:31.297Z","1.0.39":"2026-08-05T09:47:28.194Z","1.0.40":"2026-08-05T11:57:42.476Z","1.0.41":"2026-08-05T19:59:13.866Z","1.0.42":"2026-08-05T23:34:25.309Z","1.0.43":"2026-08-06T00:04:24.018Z","1.0.44":"2026-08-06T08:30:41.240Z","1.0.45":"2026-08-06T11:32:09.461Z","1.0.47":"2026-08-06T20:06:42.690Z","1.0.48":"2026-08-07T04:37:52.898Z","1.0.49":"2026-08-07T11:32:55.069Z","1.0.50":"2026-08-07T17:56:43.031Z","1.0.51":"2026-08-10T13:33:12.751Z","1.0.52":"2026-08-16T17:48:33.677Z","1.0.53":"2026-08-19T11:04:14.870Z","1.0.54":"2026-08-22T06:41:50.723Z","1.0.55":"2026-08-22T07:45:09.400Z","1.0.56":"2026-08-23T15:40:26.923Z","1.0.57":"2026-08-23T17:24:02.153Z","1.0.58":"2026-08-26T09:37:33.871Z","1.1.1":"2026-09-02T12:42:05.475Z","1.2.1":"2026-09-09T13:32:12.101Z","1.2.2":"2026-09-09T19:58:30.170Z","1.2.4":"2026-09-12T06:15:52.194Z","1.2.5":"2026-09-12T07:31:00.061Z","1.2.6":"2026-09-14T15:26:04.625Z"},"bugs":{"url":"https://github.com/brandup-online/brandup-ui-kit/issues","email":"it@brandup.online"},"author":{"name":"Dmitry Kovyazin","email":"it@brandup.online"},"license":"Apache-2.0","homepage":"https://github.com/brandup-online/brandup-ui-kit/npm/brandup-ui-kit","keywords":["brandup","javascript","typescript","ui"],"repository":{"type":"git","url":"git+https://github.com/brandup-online/brandup-ui-kit.git"},"description":"Base UI kit: reset, typography, form field styles, PopupManager and app middleware.","maintainers":[{"name":"dkovyazin","email":"it@brandup.online"}],"readme":"# @brandup/ui-kit\n\n[![Build Status](https://dev.azure.com/brandup/BrandUp%20Core/_apis/build/status%2FBrandUp%2Fbrandup-ui-kit?branchName=main)](https://dev.azure.com/brandup/BrandUp%20Core/_build/latest?definitionId=81&branchName=main)\n\nБазовый пакет UI-кита: сброс стилей, типографика, стили полей ввода, модальное окно, PopupManager и middleware для `@brandup/ui-app`.\n\n## Установка\n\n```bash\nnpm i @brandup/ui-kit\n```\n\nПакеты кита поставляются **исходниками**: TypeScript и Less, без сборки. Бандлер проекта\nсобирает их вместе со своим кодом — это даёт теме подстановку переменных на сборке и убирает\nиз дерева зависимостей вторую копию `@brandup/ui`. Взамен от проекта требуется настройка,\nи она не сводится к установке пакета.\n\n### Что должен уметь бандлер\n\n| Что | Зачем |\n| --- | --- |\n| Транспилировать `.ts` **внутри `node_modules/@brandup`** | пакеты приезжают исходниками; конфигурация «не трогать node_modules» на них и спотыкается |\n| Компилировать `.less` с `modifyVars` темы | иначе кит соберётся со своими умолчаниями, а `uikit.vars.less` проекта ни на что не повлияет |\n| Отдавать `.svg` строкой (`asset/source`) | иконки внутри кита вставляются в разметку как текст, а не подключаются адресом |\n\n### webpack\n\nКлючевая строка — `exclude`: обычное `exclude: /node_modules/` оставляет исходники кита\nbabel'у неизвестными, и сборка падает на первом же из них — `Module parse failed: Unexpected\ntoken` в `node_modules/@brandup/ui-kit/source/index.ts`.\n\n```js\nconst path = require(\"path\");\nconst MiniCssExtractPlugin = require(\"mini-css-extract-plugin\");\nconst parseLessVars = require(\"@brandup/ui-kit/build/parse-less-vars.cjs\");\n\nmodule.exports = {\n    entry: \"./src/index.ts\",\n    resolve: { extensions: [\".ts\", \".js\"] },\n    module: {\n        rules: [\n            {\n                test: /\\.(ts|js)$/,\n                // пакеты кита — единственное, что транспилируется из node_modules\n                exclude: { and: [/node_modules/], not: [/@brandup/] },\n                use: \"babel-loader\",\n            },\n            {\n                test: /\\.less$/,\n                use: [\n                    MiniCssExtractPlugin.loader,\n                    { loader: \"css-loader\", options: { importLoaders: 1 } },\n                    {\n                        loader: \"less-loader\",\n                        options: { lessOptions: { modifyVars: parseLessVars(\"uikit.vars.less\") } },\n                    },\n                ],\n            },\n            { test: /\\.svg$/, type: \"asset/source\" },\n        ],\n    },\n    plugins: [new MiniCssExtractPlugin()],\n    output: { path: path.resolve(__dirname, \"dist\"), clean: true },\n};\n```\n\n`babel.config.js` к нему — обычный:\n\n```js\nmodule.exports = {\n    presets: [\"@babel/preset-env\", \"@babel/preset-typescript\"],\n    plugins: [\"@babel/plugin-transform-runtime\"],\n};\n```\n\nЗависимости сборки: `webpack webpack-cli babel-loader @babel/core @babel/preset-env\n@babel/preset-typescript @babel/plugin-transform-runtime @babel/runtime css-loader less\nless-loader mini-css-extract-plugin`.\n\nБолее полный конфиг — с темой отдельным файлом, оптимизацией SVG и разделением чанков —\nлежит в [примере](../brandup-ui-example/webpack.config.js).\n\n### vite\n\nVite сам разбирает TypeScript и Less, поэтому от проекта нужна одна настройка — тема.\nИз зависимостей достаточно `less`. Конфигурация в проекте с `\"type\": \"module\"` — таким его\nсоздаёт `npm create vite`:\n\n```js\nimport { createRequire } from \"node:module\";\n\n// parse-less-vars — CommonJS-модуль: из ESM-конфигурации он берётся через createRequire\nconst parseLessVars = createRequire(import.meta.url)(\"@brandup/ui-kit/build/parse-less-vars.cjs\");\n\nexport default {\n    css: { preprocessorOptions: { less: { modifyVars: parseLessVars(\"uikit.vars.less\") } } },\n};\n```\n\nВ проекте без `\"type\": \"module\"` то же самое пишется обычным `require` и `module.exports`.\n\nОтдельно исключать пакеты кита из `optimizeDeps` не нужно: их предсборка проходит вместе\nсо стилями и в `dev`, и в `build`.\n\n### Тема\n\n`uikit.vars.less` в корне проекта — переопределения [входов кита](TOKENS.md). Файла может\nне быть вовсе: тогда `parseLessVars` бросит ошибку, поэтому пустой файл лучше создать сразу.\nНачинать стоит с палитры — семи цветов и пропорций, из которых выведено остальное\n(см. [Палитра](#палитра)).\n\n## Подключение middleware\n\nЗарегистрируйте `uiKitMiddlewareFactory` в сборщике приложения. Middleware автоматически регистрирует команду `ui-popup-toggle` для управления попапами.\n\n```typescript\nimport { ApplicationBuilder } from \"@brandup/ui-app\";\nimport { uiKitMiddlewareFactory } from \"@brandup/ui-kit\";\n\nconst builder = new ApplicationBuilder({});\nbuilder.useMiddleware(uiKitMiddlewareFactory);\n\nconst app = builder.build({ basePath: \"/\" });\napp.run();\n```\n\n## Кнопка\n\nКнопку кит оформляет классом, а не тегом: кнопкой бывает и `<a>` (переход, оформленный\nдействием), а чужой `<button>` внутри стороннего виджета наш вид только сломал бы.\n\n```html\n<button type=\"button\" class=\"ui-button primary\">Сохранить</button>\n<button type=\"button\" class=\"ui-button\">Отмена</button>\n<a href=\"/\" class=\"ui-button ghost\">Пропустить</a>\n```\n\nВид, тон, размер и состояние — отдельные классы, и они складываются на одной кнопке:\n`ui-button primary danger mini` — маленькая залитая кнопка разрушающего действия. Имена короткие,\nв стилях всегда пишутся при `.ui-button` (см. [Соглашение](#соглашение)).\n\n| Класс | Что делает |\n| --- | --- |\n| — | Обычное действие: рамка и заливка поля ввода |\n| `primary` | Главное действие набора — залито акцентом |\n| `ghost` | Третьестепенное — ни рамки, ни заливки, вес ссылки при раскладке кнопки |\n| `danger` | Тон разрушающего действия: меняет акцент, поэтому идёт с любым видом |\n| `mini` | Уменьшенная — 32px вместо 46px, значок 16px |\n| `wide` | Во всю ширину — узкая колонка, телефон |\n| `disabled` | Выключена. У `<button>` то же делает атрибут; класс нужен ссылке |\n| `loading` | Ждём ответа: подпись гаснет, поверх неё кольцо, нажатия не проходят |\n\n`loading` меняет только вид, поэтому скринридеру о состоянии скажет хост — `aria-busy=\"true\"`\nрядом с классом. Ширина кнопки при этом не меняется: подпись остаётся на месте и становится\nпрозрачной, иначе соседи по ряду дёргались бы на каждый запрос.\n\nЕсли ссылки у вас оформлены (`a { text-decoration: underline }` и подобное), исключите из них\nкнопки — `a:not(.ui-button)`: правило с тегом и псевдоклассом (`a:hover`) весит больше одного\nкласса, и ссылка-кнопка получила бы по наведению чужой цвет и подчёркивание.\n\nФокус с клавиатуры кнопка показывает рамкой (`:focus-visible`): у полей ввода кит гасит `outline`,\nпоказывая фокус их собственным видом, а у кнопки такого вида нет — без рамки путь по Tab\nстановится невидимым.\n\nНастраивается переменными, переопределить их можно и на поддереве:\n\n```less\n.admin-panel {\n    --button-accent: #2f6feb;\n    --button-radius: 22px;\n    --button-height: 40px;\n}\n```\n\n| Переменная | По умолчанию |\n| --- | --- |\n| `--button-height` / `--button-height-mini` | `46px` (высота поля ввода) / `32px` |\n| `--button-padding-lr` / `--button-padding-lr-mini` | `15px` / `10px` |\n| `--button-gap` | `8px` — между значком и подписью |\n| `--button-radius`, `--button-border-width`, `--button-border-color`, `--button-fill` | от поля ввода |\n| `--button-color`, `--button-font-size`, `--button-font-weight` | `#222`, `14px`, `500` |\n| `--button-accent` / `--button-accent-color` | заливка и подпись залитой кнопки |\n| `--danger--button-accent` | `#d64545` |\n| `--hover--button-tint` / `--active--button-tint` | `12%` / `20%` — насколько темнее под курсором |\n| `--hover--button-tint-color` / `--active--button-tint-color` | `#000` / `#000` — что подмешивается: чёрный темнит, белый светлит |\n| `--disabled--button-opacity` | `0.5` |\n| `--focus--button-ring-width` / `--focus--button-ring-offset` / `--focus--button-ring-color` | выведены из общих `--focus-ring-*` |\n| `--button-spinner-size` | `16px` |\n\nПод курсором и при нажатии кнопка темнеет: к заливке подмешивается `--hover--button-tint-color`\nна долю `--hover--button-tint`. Тёмной заливке темнеть некуда — отрицательной доли не бывает,\n`color-mix` такого не принимает, — поэтому светление задаётся цветом. Токен обычный, так что\nпереопределяется и на отдельном виде:\n\n```css\n.ui-button.primary {\n    --hover--button-tint-color: #fff;\n    --active--button-tint-color: #fff;\n    --hover--button-tint: 8%; /* белый заметнее чёрного — долю берут меньше */\n}\n```\n\nТем же цветом отвечают на курсор отмеченный чекбокс (`--hover--checkbox-tint-color`) и кнопка\nтулбара поля ввода (`--hover--input-toolbar-button-tint-color`): в Less они выведены из кнопочного,\nпоэтому тема, собранная из исходников, задаёт одно значение на всех. На живой странице каждый\nпереопределяется отдельно — но кнопочный и чекбоксовый действуют где угодно, вплоть до одного\nэлемента, а тулбарный только в `:root`: его заливка там же и выводится, и в поддереве считаться\nзаново не будет. Поддереву нужен готовый `--hover--input-toolbar-button-fill`.\n\nЗначок внутри кнопки следует за цветом подписи (`--svg-fill: currentColor`), поэтому на залитой\nкнопке он не остаётся тёмным. Вращение кольца отключается вместе с остальной анимацией\n(`prefers-reduced-motion`) — вместо него кольцо ровно пульсирует.\n\n## Чекбокс, тумблер и радио\n\nВид элемента выбора следует за его смыслом, а смысл объявляет разметка. Чекбокс — «отмечено или\nнет» в наборе, который уходит вместе с формой; тумблер — «включено или выключено» прямо сейчас,\nи в ARIA у него своя роль. Роль и задаёт вид:\n\n```html\n<label><input type=\"checkbox\" /> Согласен с условиями</label>\n<label><input type=\"checkbox\" role=\"switch\" /> Показывать уведомления</label>\n<label><input type=\"radio\" name=\"delivery\" /> Самовывоз</label>\n```\n\nДо версии, в которой это разошлось, `input[type=checkbox]` кит безусловно рисовал тумблером —\nобычного чекбокса получить было нельзя, — а `input[type=radio]` не оформлял вовсе, и радиокнопка\nстояла в форме нативной рядом с оформленными полями. Скринридер при этом читал «флажок» там, где\nнарисован переключатель.\n\n**Что нужно поправить при переходе.** Если у вас `<input type=\"checkbox\">` стоял ради вида\nпереключателя — допишите ему `role=\"switch\"`, иначе на его месте окажется квадратный чекбокс.\n\nТретий вид чекбокса — «часть набора отмечена» — ставится только из сценария, атрибута для него\nв разметке нет:\n\n```typescript\ncheckboxElem.indeterminate = true; // вместо галочки — чёрточка\n```\n\nСостояния общие с полем ввода: наведение, `readonly`, `disabled`, `:user-invalid`. Отмеченный\nэлемент под курсором темнеет — на долю `--hover--checkbox-tint`, общую с кнопкой, и тем же\nцветом `--hover--checkbox-tint-color`: тёмная тема, где кнопки светлеют, светлит и отметку. У выключенного\nотметка гасится, но остаётся видимой — иначе выключенный отмеченный не отличить от выключенного\nпустого. Фокус все трое показывают кольцом браузера: своего вида фокуса у них нет, и кит его\nбольше не снимает.\n\n`readonly` у чекбокса и радио в HTML не существует — браузер такой атрибут не читает. Кит рисует\nпо нему закрытый вид и отменяет переключение, в том числе с клавиатуры: пробел на таком элементе\nничего не меняет. Отмена включается сама при импорте пакета — не с регистрацией middleware\nи не вызовом из кода: закрытый вид рисуют стили, безусловно всем, кто их подключил, и приди\nповедение отдельно, у части проектов элемент выглядел бы закрытым и при этом менялся.\n\nНажатия при этом до элемента доходят: отменяется только переключение, само событие не гасится —\nобработчик хоста (подсказка, почему поле закрыто) его увидит. Курсор над таким элементом обычный,\nа правила наведения его пропускают, чтобы он не отзывался на указатель как рабочий.\n\nСкринридеру про закрытое поле скажет `aria-readonly` — его пишет хост. Заменой `disabled` это\nне является: выключенное значение с формой не уходит, а прочитанное — уходит, ради чего\n`readonly` обычно и берут.\n\n| Переменная | По умолчанию |\n| --- | --- |\n| `--checkbox-size` | `20px` — сторона чекбокса и диаметр радио |\n| `--checkbox-fill-checked` | `@accent` — заливка отмеченного |\n| `--checkbox-mark` | `@accent-contrast` — галочка и чёрточка поверх заливки |\n| `--checkbox-mark-width` | `2px` — толщина галочки |\n| `--radio-dot` | `@accent-contrast` — точка внутри радио |\n| `--hover--checkbox-tint` | `12%` — насколько темнеет отмеченный под курсором |\n| `--hover--checkbox-tint-color` | `#000` — что подмешивается, выведено из кнопочного |\n| `--toggler-height` / `--toggler-padding` | `30px` / `3px` — высота тумблера и поля вокруг круглешка |\n| `--toggler-round-fill` | цвет круглешка |\n\nПереезд круглешка отключается вместе с остальной анимацией (`prefers-reduced-motion`).\n\n## PopupManager\n\nСтатический менеджер для управления всплывающими панелями.\n\nСоседние попапы друг друга вытесняют: два меню в шапке одновременно раскрытыми быть не должны.\nВложенный ложится поверх родителя — подменю, панель смайликов внутри раскрытой панели. Родство\nопределяется по кнопке: стоящая **внутри** открытого попапа раскрывает подменю, стоящая на\nстранице — самостоятельный попап, который открытые вытесняет.\n\n### Разметка\n\nДобавьте CSS-класс `ui-popup` на элемент попапа.\n\n```html\n<!-- Кнопка-инициатор рядом с попапом — команда ui-popup-toggle регистрируется middleware -->\n<button data-command=\"ui-popup-toggle\">Меню</button>\n<div class=\"ui-popup\">...</div>\n```\n\n### API\n\n```typescript\nimport { PopupManager } from \"@brandup/ui-kit\";\n\n// Показать попап (открытый другой закрывается; этот же — остаётся открытым)\nPopupManager.open(popupElem, {\n    initiator: buttonElem, // необязательно: кнопка, от которой раскрылся попап\n    onClose: () => { },    // необязательно: callback при закрытии\n});\n\n// Переключить — поведение кнопки: открытый закрывается. Возвращает, открыт ли попап после вызова\nconst opened = PopupManager.toggle(popupElem, { initiator: buttonElem }); // boolean\n\n// Закрыть попап и всё, что раскрыто из него\nPopupManager.close(popupElem);\n\n// ...или закрыть все\nPopupManager.close();\n// close() принимает попап, поэтому обработчиком её передают обёрнутой:\n// someApi.on(\"navigate\", () => PopupManager.close());\n\n// Проверить, открыт ли какой-либо попап\nPopupManager.isOpened(); // boolean\n\n// ...или именно этот\nPopupManager.isOpened(popupElem); // boolean\n\n// Сколько открыто и какой сверху — тот, которому достанется Escape\nPopupManager.count; // number\nPopupManager.current; // HTMLElement | null\n```\n\n`open()` только показывает: повторный вызов по уже открытому попапу ничего не меняет — это нужно\nтому, кто показывает попап по внешнему событию или перерисовывает его содержимое. Закрытие\nповторным нажатием по кнопке — работа `toggle()`, ею же пользуется команда `ui-popup-toggle`.\n\n### Позиционирование\n\nПо умолчанию координаты попапа — дело проекта: правило вида `left: calc(100% + 10px)` работает\nкак работало, кит его не трогает. Но такой попап у правого края экрана уезжает за него, поэтому\nменеджер умеет ставить его сам:\n\n```typescript\nPopupManager.toggle(popupElem, { initiator: buttonElem, position: true });\n```\n\nС `position: true` попап встаёт под кнопкой, **переворачивается** на другую сторону, если на своей\nне помещается, и **сдвигается** вдоль неё, чтобы не вылезти за край экрана. Пока попап открыт,\nон держится за якорем: прокрутка страницы или внутреннего контейнера его не бросает.\n\n```typescript\nPopupManager.toggle(popupElem, {\n    initiator: buttonElem,\n    position: {\n        placement: \"right-start\", // сторона и выравнивание; по умолчанию \"bottom-start\"\n        gap: 8,                   // зазор до якоря, по умолчанию 4\n        viewportPadding: 12,      // насколько близко подпускать к краю экрана, по умолчанию 8\n        flip: false,              // не переворачивать\n        fallback: \"bestFit\",      // не влезая нигде — вставать туда, где места больше\n        flipAlign: true,          // менять выравнивание, если не помещается вдоль стороны\n        shift: false,             // не сдвигать\n        clampCross: true,         // прижимать и поперёк стороны, по умолчанию нет\n        anchor: fieldElem,        // якорь, отличный от кнопки\n    },\n});\n```\n\n`anchor` нужен, когда кнопка меньше того, у чего попап должен стоять: список раскрывают кнопкой\nвнутри поля ввода, а вставать он должен по всему полю.\n\n### Как выбирается место\n\nСторона выбирается сама: если на запрошенной попап не помещается, а на противоположной помещается,\nон переворачивается — это `flip`, он включён по умолчанию. Свободное место меряется от краёв **экрана**\nс отступом `viewportPadding`, а не от краёв блока, в котором лежит кнопка. Считается это заново на\nкаждом кадре прокрутки, поэтому открытый попап переворачивается на ходу, когда кнопка уезжает к низу\nэкрана.\n\nНе помещаясь ни на одной стороне, попап по умолчанию остаётся на запрошенной — там его хотя бы ждут,\nа к краю прижмёт `shift`. `fallback: \"bestFit\"` меняет это: попап встаёт туда, где свободного места\nбольше. Это про длинное меню на низком экране — обрезано оно будет в любом случае, но с большей\nстороны видно больше.\n\nВыравнивание вдоль стороны само не меняется: `bottom-start` держит попап по левому краю кнопки, даже\nесли он свешивается вправо. `flipAlign: true` включает и это — `start` меняется на `end` и обратно,\nкогда с запрошенным попап уходит за край экрана. У `center` противоположного нет, поэтому за ним\nпробуются оба конца.\n\nВажно: `flipAlign`, как и всё здесь, считает от края **экрана**. Попап, свешивающийся за свой блок,\nно оставшийся на экране, переполнением не считается — если нужно выровнять его по правому краю кнопки\nвсегда, задайте `placement: \"bottom-end\"` явно.\n\n`clampCross` прижимает элемент к экрану и поперёк стороны. По умолчанию этого не делается: поперёк\nэлемент держится за якорь зазором, и сдвинуть его там значило бы оторвать от того, к чему он\nотносится. Нужно оно тому, кто принадлежит не точке, а всему полю: панель форматирования стоит над\nтекстом, и над самой верхней строкой места нет — лечь на текст лучше, чем уйти за край экрана.\n\nСторона задаётся как `<сторона>` или `<сторона>-<выравнивание>`: `top`, `bottom`, `left`, `right`\nи `start`, `center`, `end`. Выравнивание без стороны не задаётся — оно всегда вдоль неё.\n\nНиже `@adaptive-tablet-small` попап показывается окном по центру (см. [Узкий экран](#узкий-экран)),\nи в этом режиме координаты не пишутся: признак объявляет сам стиль токеном `--popup-window-mode`,\nчтобы граница не жила ещё и числом в сценарии.\n\nРасчёт доступен и отдельно — для подсказки, своего меню, чего угодно:\n\n```typescript\nimport { computePosition, positionElement, trackPosition } from \"@brandup/ui-kit\";\n\n// чистый расчёт: прямоугольники числами, числа обратно\ncomputePosition(anchorRect, { width, height }, { width, height }, { placement: \"top-center\" });\n\n// разовая установка и слежение, пока не позовут отписку\nconst { side, align } = positionElement(tooltipElem, wordElem, { placement: \"top-center\" });\nconst stop = trackPosition(tooltipElem, wordElem);\n```\n\nРезультат говорит, где элемент встал на самом деле: после переворота это не та сторона, которую\nпросили. `side` и `align` отдаются отдельными полями — по ним рисуют хвостик подсказки и\nнаправление появления. Поле `placement` всегда полное: на запрос `bottom` вернётся `bottom-center`,\nпоэтому сравнивать его с тем, что передали, не нужно — для этого есть `side` и `align`.\n\nМесто считается не по экрану, а по коробке, в которой элемент видно на самом деле: `clippingRect`\nобходит предков и сужает экран каждым, кто режет содержимое. Обёртка страницы с `overflow: hidden`\nвысотой по содержимому обрезает всё, что раскрывается ниже последнего элемента, — экран при этом\nсообщает, что место есть, и расчёт по экрану оставлял бы элемент там, где его обрезали. Оси\nспрашиваются порознь: `overflow-x: clip` с `overflow-y: visible` — рабочая пара, и считать такую\nкоробку режущей по обеим отняло бы ровно тот запас, ради которого её так и написали.\n\nФиксированный элемент раскладывается от вьюпорта, поэтому `overflow: hidden` по дороге вверх до\nнего не достаёт — если только предок не сделал себя контейнером через `transform` или `filter`.\nАбсолютному достают все. Границу можно задать и руками — опцией `boundary`; `clippingRect`\nэкспортирован отдельно, им пользуется дропдаун, который позиционируется своими классами.\n\nКоординаты вьюпортные, элемент ставится `position: fixed`. Предок с `transform`, `filter` или\n`contain` делает контейнером себя, и координаты пересчитываются в его систему — попап внутри\nблока с анимацией перехода встаёт там, где нужно. Пересчёт делается по замеру: трансформация,\nпоявившаяся уже во время показа, до следующего замера не учитывается.\n\nСвои инлайновые `position` / `left` / `top` / `right` / `bottom` и поля `margin` элемента\nзапоминаются и возвращаются на место, когда слежение снимают. `positionElement` берёт элемент\nна себя не на время вызова, а начиная с него: координаты держатся, только пока никто их не\nтрогает. Тому, кто поставил элемент один раз и дальше пользуется им для другого, нужен\n`clearPosition`; тому, кто переставляет его снова и снова, — не нужен ничего.\n\nРазмер элемента и якоря отслеживается: список, догрузивший строки, или поле, выросшее вместе\nс текстом, пересчитываются сами, без прокрутки и изменения окна.\n\n### Состояния\n\nПока попап открыт, классы расставлены так:\n\n| Элемент   | Класс               | Имя                          |\n| --------- | ------------------- | ---------------------------- |\n| Попап     | `ui-popup-opened`   | `UIKIT.POPUP.CLASS.OPENED`   |\n| Инициатор | `ui-popup-expanded` | `UIKIT.POPUP.CLASS.EXPANDED` |\n| `body`    | `body-popup-opened` | `UIKIT.POPUP.CLASS.BODY`     |\n\nКлассы состояния страницы кит именует с префикса `body-`, а не `ui-`: по имени видно, что искать\nкласс нужно на `<body>`, а не на элементе компонента.\n\nКласс на `body` — точка расширения для страницы: например, чтобы придержать фон, пока попап открыт.\nСтавит и снимает его [менеджер слоёв](#слои), считая слои: попап поверх модального окна, закрывшись,\nне отпустит страницу, которую придержало окно.\n\nИнициатору, кроме класса, проставляется состояние для скринридера: `aria-expanded` (`true`/`false`)\nи `aria-controls` с идентификатором попапа. Идентификатора нет в разметке — менеджер выдаёт свой.\n\n### Закрытие\n\nПопап закрывается кликом мимо себя, повторным кликом по инициатору, клавишей `Escape` и навигацией\nприложения. Свои обработчики `Escape` компоненту не нужны — попап встаёт в [стек слоёв](#слои),\nи нажатие снимает только верхний слой: попап, раскрытый над модальным окном, закрывается один,\nокно под ним остаётся.\n\nС вложенными это работает так же поштучно: `Escape` снимает подменю и оставляет меню под ним,\nклик внутри родителя закрывает раскрытое из него, клик мимо всех закрывает цепочку целиком.\nЗакрытие идёт сверху вниз, поэтому фокус возвращается по цепочке — из подменю на его кнопку\nв родителе, а не сразу на страницу.\n\nФокус возвращается на инициатор сам — но только если к моменту закрытия он оставался внутри попапа\n(то есть в попап зашли с клавиатуры). Фокус, оставшийся в поле — так открывают панель смайликов —\nили уведённый пользователем в другое место, менеджер не трогает.\n\n### Узкий экран\n\nДо `@adaptive-tablet-small` (850px) попап позиционируется относительно инициатора. Ниже этой ширины\nрядом с кнопкой места уже нет, поэтому попап отрывается от неё и показывается окном по центру экрана\nс затемнением — `position: fixed`, ширина по экрану до `--popup-window-max-width`, прокрутка страницы\nпод ним придержана через `body.body-popup-opened`. Собственные `top` / `left` / `width` попапа в этом\nрежиме перекрываются: правила кита идут с `body` в селекторе и весят больше, чем два класса.\n\nНастраивается переменными `--popup-backdrop`, `--popup-window-inset`, `--popup-window-max-width`.\n\nГеометрия этого режима объявлена через `!important`, и это осознанно. Ниже брейкпоинта попап\nперестаёт быть поверхностью у кнопки и становится окном по центру — а всё, что проект написал,\nчтобы поставить его у кнопки (`left: calc(100% + 10px)`, `top`, ширина), должно здесь перестать\nдействовать. Такие правила пишут вложенными настолько, насколько вложена разметка проекта, и весом\nэто не выиграть: селектор кита — (0,2,1), а любое правило из трёх классов его перебивает. Тогда\n`left`, безобидный для абсолютно позиционированного блока, уводит ставший `fixed` попап за край\nэкрана, и от него остаётся одна подложка. Поднимать вес бесполезно — потребитель вложит на уровень\nглубже, не собираясь ни с чем спорить. Размеры окна при этом остаются настраиваемыми: их задают\nпеременные выше, а не эти объявления.\n\nЛовушки фокуса в этом режиме нет: за экраном попапа остаются достижимые с клавиатуры элементы\nстраницы. Если попап — полноценный диалог, берите `Modal`.\n\nПрокрутку держит `overflow: hidden` на `body` — в Safari на iOS этого не всегда достаточно, страница\nпод попапом может тянуться. Оговорка общая для попапа, модального окна и списка дропдауна.\n\n## Modal\n\nБазовое модальное окно: затемнение, шапка с заголовком и крестиком, тело. Наследник наполняет `body` в своём конструкторе и живёт до `close()`; само окно знает только про рамку, слои и закрытие.\n\n```typescript\nimport { Modal } from \"@brandup/ui-kit\";\n\nclass ConfirmModal extends Modal {\n    constructor() {\n        super({ title: \"Удалить?\", className: \"confirm-modal\", closeOnBackdrop: false });\n\n        this.body.append(/* ... */);\n    }\n}\n\nconst modal = new ConfirmModal();\nmodal.onClosed(() => {\n    /* отпустить то, что придержали на время окна */\n});\n```\n\n| Параметр | По умолчанию | Что задаёт |\n| --- | --- | --- |\n| `title` | — | Заголовок в шапке |\n| `className` | — | Дополнительный класс на корне окна |\n| `closeOnBackdrop` | `true` | Закрывать по клику вне окна |\n| `closeButton` | `true` | Крестик в шапке. С `false` шапка без заголовка не рисуется вовсе, а закрытие остаётся за Esc, подложкой и кнопками самого окна |\n\n| Член | Описание |\n| --- | --- |\n| `body` | Тело окна — его наполняет наследник |\n| `close()` | Закрыть окно (то же делают крестик, Esc и клик по подложке) |\n| `onClosing()` | Хук наследника перед закрытием — окно ещё на экране: отдать результат, прибрать за собой |\n| `onClosed(handler)` | Подписка на закрытие — окна уже нет: срабатывает ровно один раз, чем бы оно ни кончилось; на уже закрытом окне — сразу |\n\nЗакрытие идёт через систему команд кита (`ui-modal-close`), поэтому свои кнопки закрытия достаточно объявить тем же `data-command`. Пока окно открыто, на `<body>` висит класс `body-modal-opened` (`UIKIT.MODAL.CLASS.BODY`) — страница под ним не прокручивается. Класс считается по числу открытых окон: закрытое поверх другого окно прокрутку не вернёт.\n\n### Фокус и доступность\n\nОкно — полноценный диалог, поэтому фокусом занимается [менеджер слоёв](#слои):\n\n- фокус заводится внутрь окна сразу после того, как наследник наполнил тело (первый элемент, до которого доходит Tab, а если такого нет — само окно);\n- окно, поставившее фокус само (поле правки, кнопка по умолчанию), менеджер не перебивает;\n- `Tab` и `Shift+Tab` не уходят из окна на страницу под ним, а по кругу возвращаются в него — в том числе из окна, лежащего ниже;\n- по закрытию фокус возвращается туда, откуда окно открыли. Подписчики `onClosed` выполняются после этого — вернуть каретку в своё поле они могут сами;\n- `Escape` снимает только верхнее окно;\n- окно объявляет себя `role=\"dialog\"` с `aria-modal=\"true\"`, а заголовок из `title` — своим именем через `aria-labelledby`.\n\n## Имена\n\nКлассы, команды, события и подписи каждый пакет кита отдаёт одним объектом из `names.ts` —\nроссыпи `*_CLASS` / `*_COMMAND` / `CHANGE_EVENT` больше нет. Модуль имён не имеет побочных\nэффектов: имена можно взять, не притаскивая стили и код контрола. Блок `TEXT` — подписи\nпо умолчанию, их переопределяет приложение (см. «Локализация»).\n\n```typescript\n// коротким путём — без стилей и кода кита\nimport { UIKIT } from \"@brandup/ui-kit/names\";\n// или из общего входа, если пакет и так подключён\nimport { UIKIT } from \"@brandup/ui-kit\";\n\nUIKIT.POPUP.CLASS.ROOT;         // \"ui-popup\" — сам попап\nUIKIT.POPUP.CLASS.OPENED;       // \"ui-popup-opened\"\nUIKIT.POPUP.CLASS.EXPANDED;     // \"ui-popup-expanded\" — на кнопке-инициаторе\nUIKIT.POPUP.CLASS.BODY;         // \"body-popup-opened\" — на <body>\nUIKIT.POPUP.COMMAND.TOGGLE;     // \"ui-popup-toggle\"\nUIKIT.MODAL.CLASS.ROOT;         // \"ui-modal\"\nUIKIT.MODAL.CLASS.BODY;         // \"body-modal-opened\"\nUIKIT.MODAL.CLASS.ELEMENT;      // части окна: BACKDROP, WINDOW, HEADER, TITLE, BODY, CLOSE\nUIKIT.MODAL.COMMAND.CLOSE;      // \"ui-modal-close\"\nUIKIT.MODAL.TEXT.CLOSE;         // подпись крестика (см. «Локализация»)\nUIKIT.SCROLLABLE.CLASS;         // \"ui-scrollable\"\n```\n\nТак же устроены `INPUT`, `DROPDOWN`, `TEXTBOX`, `RICHEDITOR` и `MESSAGEEDITOR` — каждый в своём\nпакете и с тем же коротким путём: `@brandup/ui-dropdown/names`, `@brandup/ui-textbox/names`\nи так далее. Единственное, что модуль имён импортирует, — реестр подписей `@brandup/ui-kit/i18n`\n(он сам без импортов и без побочных эффектов), поэтому за одной строкой класса по-прежнему\nне приходят ни стили, ни код контрола — этим путём пакеты кита берут имена друг у друга.\n\n### Соглашение\n\nДлина имени показывает, откуда класс видно:\n\n| Вид | Примеры | Кому принадлежит |\n| --- | --- | --- |\n| `ui-<блок>` и `ui-<блок>-<часть>` | `ui-textbox`, `ui-textbox-input`, `ui-popup`, `ui-richeditor-toolbar` | то, что видно вне корня контрола: сам корень, поле-носитель, окна и панели в `body` |\n| короткое имя | `modal-window`, `decorator`, `emoji-group`, `invalid`, `expanded` | часть внутри своего корня и состояние — их всегда пишут вложенно |\n| `body-<...>-opened` | `body-popup-opened`, `body-modal-opened`, `body-dropdown-opened` | состояние всей страницы, его ищут на `body` |\n\nПолное имя обязано быть уникальным на странице — по нему элемент находят снаружи или пишет\nв разметке сам хост (поле-носитель `ui-textbox-input`: класс на нём прячет поле до того, как\nконтрол соберётся). Внутри корня повторять имя пакета незачем; имя под-блока в коротком остаётся,\nкогда одного слова мало: `toolbar-button`, а не `button`.\n\nРядом с именами кит отдаёт отдельным входом признаки окружения — их берёт база ввода, которой\nобщий вход не нужен:\n\n```typescript\nimport { IS_TOUCH_DEVICE, isCoarsePointer, hasUserScrolled, resetUserScroll } from \"@brandup/ui-kit/env\";\n```\n\nТретий такой вход — `@brandup/ui-kit/text` с `textTag()`: он собирает элемент, вставляя строку\nтекстом, а не разметкой, и нужен всем, кто показывает чужой текст (подсветка сообщения, заголовки\nокон) — тоже без остального кита.\n\nЧем пакет отдаёт наружу, записано в его `exports`: сам пакет, `./names`, `./env`, `./text`\nи `./i18n` (у кита), словари подписей (`./locale/*`), стили (`./source/*.less`, `./vars.less`,\n`./build/*`) и иконки. Путь внутрь `source/*.ts` не разрешается — то, на что можно опираться,\nобъявлено явно.\n\n## Локализация\n\nПодписи контролов по умолчанию английские. Приложение объявляет свои одним вызовом при старте —\nдо того, как контролы построятся:\n\n```typescript\nimport { setTexts } from \"@brandup/ui-kit/i18n\";\nimport kitRu from \"@brandup/ui-kit/locale/ru.json\";\nimport dropdownRu from \"@brandup/ui-dropdown/locale/ru.json\";\n\nsetTexts(kitRu);\nsetTexts(dropdownRu);\n```\n\nРусский словарь возит каждый пакет, у которого есть подписи: `@brandup/ui-kit`, `@brandup/ui-dropdown`,\n`@brandup/ui-textbox`, `@brandup/ui-richeditor` и `@brandup/ui-messageeditor`. Взять можно и часть —\n`setTexts` принимает любое подмножество и сливается с тем, что объявили раньше:\n\n```typescript\nsetTexts({ dropdown: { PLACEHOLDER: \"Выберите город\" } });\n```\n\nСвои подписи типизированы: каждый пакет объявляет свой неймспейс, поэтому опечатка в имени\nнеймспейса или ключа не компилируется, а редактор подсказывает и то и другое. Пояснение к каждой\nподписи — там же, у объявления.\n\n### Что чем переопределяется\n\n| Уровень | Чем задаётся | Про что говорит |\n| --- | --- | --- |\n| контрол | `data-*` в разметке или опция экземпляра — там, где контрол их принимает | подпись именно этого контрола: «Выберите город» |\n| приложение | `setTexts` | язык приложения целиком |\n| пакет | значение по умолчанию в `names.ts` | английский текст, с которым пакет поставляется |\n\nПодпись конкретного контрола сильнее: `data-emptytext` на элементе переживает любой `setTexts`.\n\n### Когда вызывать\n\nПодпись попадает в разметку в момент постройки контрола, поэтому `setTexts` вызывают до того:\nв старте приложения, рядом с подключением middleware. Объявленные позже подписи получат только\nте контролы, которые построятся после вызова, — у собранных ранее в разметке уже лежит текст.\nСмена языка на лету означает пересборку контролов.\n\n### Свой набор подписей\n\nСвой контрол объявляет неймспейс тем же способом, каким это делают пакеты кита, и получает\nпереопределение от приложения бесплатно:\n\n```typescript\nimport { declareTexts } from \"@brandup/ui-kit/i18n\";\n\ndeclare module \"@brandup/ui-kit/i18n\" {\n    interface KitTexts {\n        gallery: { EMPTY: string };\n    }\n}\n\nexport const GALLERY = {\n    TEXT: declareTexts(\"gallery\", { EMPTY: \"No images\" }),\n};\n```\n\nОбъект живой: читать подпись нужно там, где строится разметка. Значение, сохранённое в свою\nконстанту на загрузке модуля, замрёт на умолчании.\n\n## Слои\n\nВсё, что показывается поверх страницы, — попап, модальное окно, раскрытый список `DropDown` —\nвстаёт в общий стек слоёв. Стек нужен там, где слои оказываются друг над другом: попап внутри\nокна, список внутри попапа. Он решает три вещи, которые слой в одиночку решить не может:\n\n- **`Escape`** — слушатель один на весь стек, и нажатие закрывает только верхний слой. Слой,\n  разобравшийся с клавишей сам (`preventDefault`), менеджер не трогает — так строка ввода ссылки\n  в панели форматирования отменяет правку, не закрывая ничего вокруг.\n- **Придержанная прокрутка** — класс на `body` считается по числу попросивших его слоёв\n  и снимается по последнему.\n- **Фокус** — ловушка внутри слоя и возврат туда, откуда слой открыли.\n\nКомпонентам кита ничего для этого делать не нужно — они уже клиенты стека. Менеджер нужен своему\nслою: подсказке, боковой панели, галерее.\n\n```typescript\nimport { LayerManager } from \"@brandup/ui-kit\";\n\nconst layer = LayerManager.push({\n    close: () => panel.hide(),      // обязательное: чем закрыть слой\n    element: panelElem,             // корень слоя — для ловушки и проверки, внутри ли фокус\n    bodyClass: \"body-my-panel-opened\", // класс на body, пока слой открыт (префикс body- — соглашение кита)\n    trapFocus: true,                // держать фокус внутри\n    returnFocus: buttonElem,        // куда вернуть фокус (по умолчанию — откуда взяли; false — не возвращать)\n    closeOnEscape: true,            // по умолчанию да\n});\n\n// закрывшись своим путём, слой снимает себя со стека\nlayer.release();\n```\n\n| Член | Описание |\n| --- | --- |\n| `LayerManager.push(options)` | Поставить слой; возвращает `Layer` |\n| `LayerManager.closeTop()` | Закрыть верхний слой; `false` — закрывать было нечего |\n| `LayerManager.closeAll()` | Закрыть все слои сверху вниз — это делает `UiKitMiddleware` при навигации |\n| `LayerManager.count` | Сколько слоёв открыто |\n| `Layer.isTop` | Верхний ли слой — то есть ему ли достанется `Escape` |\n| `Layer.isOpened` | Открыт ли слой |\n| `Layer.release()` | Снять слой со стека, не закрывая его: зовётся из его собственного закрытия |\n\nВозврат фокуса делается, только если к моменту закрытия он остался внутри слоя или потерялся\nна `body`. Фокус, уведённый пользователем в другое место, — его выбор, и менеджер его не забирает.\n\n### Порядок слоёв\n\nКто над кем рисуется, задаётся переменными, а не числами по файлам пакетов:\n\n| Переменная | По умолчанию | Слой |\n| --- | --- | --- |\n| `--layer-popup` | `1000` | Попап, панель форматирования редактора |\n| `--layer-dropdown` | `var(--layer-popup)` | Раскрытый список `DropDown` |\n| `--layer-modal` | `2000` | Модальное окно — над всем, что раскрыто на странице |\n\n## Прокручиваемые области\n\nКласс `ui-scrollable` оформляет полосу прокрутки одинаково во всех компонентах кита — тонкая, без стрелок, со скруглённым ползунком, «парящая»: не касается краёв коробки. Над полосой курсор всегда обычная стрелка, а не курсор элемента (над полем ввода это была бы текстовая каретка).\n\n```typescript\nimport { UIKIT } from \"@brandup/ui-kit\";\n\nconst list = DOM.tag(\"div\", { class: UIKIT.SCROLLABLE.CLASS });\n```\n\nНастраивается CSS-переменными прямо на элементе:\n\n| Переменная | По умолчанию | Что задаёт |\n| --- | --- | --- |\n| `--scrollbar-size` | `6px` | Толщина видимой полосы (место под неё — толщина плюс `--scrollbar-edge-inset` с обеих сторон) |\n| `--scrollbar-thumb` | `#8696a0` | Цвет ползунка |\n| `--scrollbar-thumb-radius` | `3px` | Скругление ползунка |\n| `--scrollbar-thumb-min` | `30px` | Минимальная длина ползунка — на длинном содержимом он не вырождается в точку |\n| `--scrollbar-track-inset` | `6px` | Отступ вдоль полосы: её концы не доходят до углов коробки |\n| `--scrollbar-edge-inset` | `6px` | Отступ поперёк: полоса отходит от края коробки |\n\nОформление держится на `::-webkit-scrollbar`: стандартные `scrollbar-width`/`scrollbar-color` не задаются намеренно — Blink при них отдаёт системную полосу со стрелками. Браузерам без `::-webkit-scrollbar` (Firefox) стандартные свойства выдаются отдельным правилом; отступы и минимальная длина там не действуют — Firefox ими не управляется.\n\nУ элемента со скруглением полосу лучше уводить внутрь — на вложенный прокручиваемый элемент, иначе угол выглядит срезанным (так сделаны `TextBox` и `MessageEditor`).\n\n### Полоса прокрутки страницы\n\nМесто под полосой прокрутки страницы зарезервировано всегда — `scrollbar-gutter: stable` на `html` и `body`. Без этого страница дёргается по ширине каждый раз, когда прокрутку придерживают (`body-popup-opened`, `body-modal-opened`) или контент перестаёт её требовать: полоса пропадает, вьюпорт становится шире на её толщину.\n\nЦеной этого на странице, которой прокрутка не нужна, остаётся пустая полоса. Если такое поведение не нужно, выключите резерв переменной:\n\n```css\n:root {\n    --scrollbar-gutter: auto;\n}\n```\n\nБраузеры без поддержки `scrollbar-gutter` (Safari до 18.2) объявление игнорируют, но там, где полосы накладные (iOS, Android), ширина и так не прыгает.\n\n## Утилиты\n\n```typescript\nimport { IS_TOUCH_DEVICE, isCoarsePointer, hasUserScrolled, resetUserScroll } from \"@brandup/ui-kit\";\n\n// true на touch-устройствах (мобильные, планшеты)\nif (IS_TOUCH_DEVICE) { ... }\n\n// true, когда основной указатель грубый — палец или стилус. В отличие от IS_TOUCH_DEVICE\n// ноутбук с сенсорным экраном сюда не попадает: работают на нём мышью\nif (isCoarsePointer()) { ... }\n\n// true, если пользователь сам прокручивал страницу с момента её показа. Нужно отложенным\n// действиям, которые двигают вид (автофокус контрола ввода). Считаются жесты — колесо, свайп,\n// полоса прокрутки, автопрокрутка средней кнопкой, клавиши прокрутки, действие которых никто\n// не отменил, — а не событие scroll: его поднимает и программная прокрутка\nif (!hasUserScrolled()) { ... }\n\n// забыть прокрутку — показана другая страница. При навигации это делает UiKitMiddleware,\n// перед тем как новую страницу нарисуют: её контролы должны видеть уже чистый признак\nresetUserScroll();\n```\n\n## Стили\n\nПодключите стили через импорт в точке входа — они включаются автоматически вместе с пакетом.\n\n### box-sizing\n\nКит объявляет `box-sizing: border-box` на своих селекторах — поле ввода, кнопка, окно, попап —\nи этим ограничивается. Разметка проекта остаётся на том, что в ней уже было: стили приезжают\nс обновлением пакета, и переключать `box-sizing` всей странице значило бы менять размеры блоков,\nпро которые кит ничего не знает, — блок с `width` и `padding` тихо теряет ширину, а сломанное\nвидно далеко от компонентов кита.\n\nПроекту, которому одно соглашение на всю страницу нужно, оно доступно отдельным файлом —\nподключается после кита и осознанно:\n\n```less\n@import \"@brandup/ui-kit/source/border-box.less\";\n```\n\n### Переменные Less\n\nПереопределите значения в файле `uikit.vars.less` в корне проекта перед сборкой. Файл с переменными по умолчанию: [vars.less](vars.less).\nПолный список входов — имя, умолчание, CSS-токен и что задаёт — в [TOKENS.md](TOKENS.md).\n\nФайл темы можно разложить на несколько: `@import` в нём разворачивается — и рядом лежащий, и адрес в пакет (`@import (reference) \"@brandup/ui-kit/vars.less\";`). Имя, похожее на вход кита, но им не являющееся (`@fontSize` вместо `@font-size`), сборка называет вслух: молча оно не действовало бы вовсе.\n\n### Палитра\n\nВерх [vars.less](vars.less) — сырьё, из которого выведено всё остальное. Сайт перекрашивается им, а не перечислением сотни входов:\n\n```less\n// цвет\n@surface: #fff;      // фон страницы, полей и всплывающих поверхностей\n@ink: #222;          // основной текст\n@line: #aaa;         // граница в покое\n@line-hover: #666;   // она же под курсором\n@accent: #222222;    // фирменный цвет: фокус, главная кнопка, переключатель\n@accent-contrast: #fff;\n@danger: #d64545;\n\n// пропорции\n@space: 8px;\n@radius: 0;              // поля и кнопки\n@radius-overlay: 5px;    // попап и модальное окно\n@border-width: 1px;\n@control-height: 46px;   // общая у поля и кнопки — они стоят в одну строку\n@control-padding-lr: 15px;\n```\n\nВходы компонентов остаются входами: любой из них по-прежнему переопределяется поимённо, когда общего правила не хватает, и такое переопределение сильнее палитры. Оборотная сторона — тема, выраженная через `@input-*` и `@button-*`, палитре уже не подчиняется: `@main-background: #fff` в файле темы победит любой `@surface`.\n\nПалитра отдаётся и в CSS — `--surface`, `--ink`, `--accent`, `--space`, `--radius` и остальные: правилу проекта, которому нужен фирменный цвет, не нужно заводить третье значение рядом.\n\n### Перекраска на живой странице\n\nВходы выведены из палитры ссылкой на её CSS-токен, а не вычисленным значением: в `:root` уезжает `--input-border-color: var(--line)`, а не `#aaa`. Производные поэтому считает браузер, и переопределение палитры двигает их без пересборки — тёмная тема умещается в семь значений:\n\n```css\n:root[data-theme=\"dark\"] {\n    --surface: #101014;\n    --ink: #e8e8ea;\n    --line: #3a3a42;\n    --line-hover: #6b6b78;\n    --accent: #4f8cff;\n    --accent-contrast: #0b0b0f;\n    --danger: #ff6b6b;\n}\n```\n\nЗа ними едет всё, что из них выведено: заливка и рамка полей, главная кнопка, переключатель, кольцо фокуса, попап и модальное окно. То же работает на поддереве — `.admin-panel { --accent: #2f6feb }` перекрашивает только его.\n\nТем же способом можно переопределить и отдельный вход — `--button-radius: 22px`, — но начинать стоит с палитры: вход, заданный поимённо, за ней уже не следует.\n\nЧего в палитре нет и быть не может: границы адаптива (`@adaptive-*`). CSS-переменную не читает ни медиазапрос, ни less-арифметика, поэтому такие значения остались числами и меняются только пересборкой.\n\n### Тема отдельным файлом\n\nОбычная сборка запекает тему в бандл, и сменить её нельзя иначе как пересобрав всё. `build/build-theme.cjs` собирает из тех же исходников отдельный `theme.css` — только блоки `:root`. Он подключается после бандла и перекрывает его умолчания:\n\n```js\nconst buildTheme = require(\"@brandup/ui-kit/build/build-theme.cjs\");\n\nawait buildTheme({\n    theme: \"uikit.vars.less\",\n    variants: [{ selector: ':root[data-theme=\"dark\"]', theme: \"dark.vars.less\" }],\n    out: \"wwwroot/dist/theme.css\",\n});\n```\n\nВариант — дельта поверх основной темы: тёмная меняет цвета, а кегль и пропорции берёт у основной, и в файл попадает только то, что действительно отличается. Шести строк палитры хватает на два с лишним десятка токенов.\n\nЧего это не даёт: значения в файле вычислены заранее. Переопределить в браузере одну `--accent` и ждать, что за ней поедут производные, нельзя — их считает less при сборке этого файла, а не браузер.\n\n**Адаптивные брейкпоинты:**\n\n```less\n@adaptive-desktop-small: 1650px;\n@adaptive-notebook:      1550px;\n@adaptive-notebook-small: 1370px;\n@adaptive-tablet:        1030px;\n@adaptive-tablet-small:  850px;\n@adaptive-mobile:        500px;\n@adaptive-mobile-small:  370px;\n```\n\n**Общие:**\n\n```less\n@main-background: #fff;\n@font-size:       14px;\n@font-family:     system-ui, ...;\n@font-weight:     400;\n@line-height:     130%;\n@text-color:      #222;\n```\n\n**Заголовки (`h1`–`h5`):**\n\n```less\n@h-line-height: 130%;\n@h1-font-size:  56px;  @h1-font-weight: 600;\n@h2-font-size:  50px;  @h2-font-weight: 600;\n@h3-font-size:  28px;  @h3-font-weight: 600;\n@h4-font-size:  22px;  @h4-font-weight: 600;\n@h5-font-size:  18px;  @h5-font-weight: 600;\n```\n\n**SVG:**\n\n```less\n@svg-size:   20px;\n@svg-fill:   @text-color;\n@svg-stroke: none;\n```\n\n**Блок контента (класс `content-width`):**\n\n```less\n@content-max-width:    1280px;\n@content-min-width:    320px;\n@content-padding-lr:   40px;\n```\n\n**Попапы:**\n\n```less\n@popup-fill:          @main-background;\n@popup-color:         @text-color;\n@popup-border-radius: 5px;\n@popup-box-shadow:    0px 4px 8px 2px rgba(0,0,0,0.12);\n```\n\n**Поля ввода:**\n\n```less\n@input-height:    46px;\n@input-padding-lr: 20px;\n@input-fill:      #fff;\n@input-color:     @text-color;\n@input-font-size: 14px;\n\n// Состояния: hover, focus, readonly, disabled, invalid, incorrect\n@hover--input-border-color:    #666;\n@focus--input-border-color:    #222;\n@readonly--input-fill:         #f7f7f7;\n@disabled--input-fill:         #eee;\n@invalid--input-border-color:  red;\n```\n\n### parseLessVars\n\nУтилита для чтения Less-переменных в конфигурации webpack.\n\n```js\nconst parseLessVars = require(\"@brandup/ui-kit/build/parse-less-vars.cjs\");\n\n// Читает uikit.vars.less из корня проекта\nconst vars = parseLessVars();\n\n// Или явно указать путь к файлу\nconst vars = parseLessVars(\"path/to/variables.less\");\n// { '@main-color': '#ff0000', '@font-size': '16px', ... }\n```\n\nИспользование в конфигурации `less-loader`:\n\n```js\n{\n    loader: \"less-loader\",\n    options: {\n        lessOptions: {\n            modifyVars: parseLessVars(),\n        },\n    },\n}\n```\n","readmeFilename":"README.md"}