{"_id":"@cloud-ru/ds-uikit-product-flex","_rev":"9-6f1a14ff5598ddd90d0387a6c8d83d90","name":"@cloud-ru/ds-uikit-product-flex","dist-tags":{"preview":"1.0.2-preview-d50a3da1.0","latest":"1.0.3"},"versions":{"1.0.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"8a73c84d89c610711adbb819c9a4664d77614eb4","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.0.tgz","fileCount":32,"integrity":"sha512-JhPjs+IjRB8jrwgL+sn5j3BzO41hwmph4RdUMN20KkUa5iPAKkJ8Vd+YrYwQuVxdEyQwqkuF6s3zujtacoI1Ww==","signatures":[{"sig":"MEQCIBgq7wIZItSddh44Nm5O+8eQkpIFva2ZOhU4Dilk/FJiAiA1+yzJJVlss5Jat4J9CVPAMXu393ccO/WreCJnvEG99g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236873},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/private/var/folders/jp/wngmzxn90b531390g_wr81g00000gn/T/202329e4f36e52bc8b1e93a424889ae6/cloud-ru-ds-uikit-product-flex-1.0.0.tgz","_integrity":"sha512-JhPjs+IjRB8jrwgL+sn5j3BzO41hwmph4RdUMN20KkUa5iPAKkJ8Vd+YrYwQuVxdEyQwqkuF6s3zujtacoI1Ww==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.0_1787056725268_0.6910048168975984","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-preview-7665e9c3.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.1-preview-7665e9c3.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.1-preview-7665e9c3.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"3f6acca5ba5c954269ebcc4b58ac92fbe9970cae","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.1-preview-7665e9c3.0.tgz","fileCount":32,"integrity":"sha512-aj9u4O3uXJdh6QOx2TASCtkC9y8j9ieqTs1Qwm0YA7nvxSmuJ2WZTC1oFT83manbCDC9GTQQ7jvf9ooKKjJSQA==","signatures":[{"sig":"MEQCIHsUmcECQCzdcEgTZK4F7N8a4WEYoIJ22ka1Z4Npmx80AiA0umd2IgRqP8JxQQPmH/1gs1PdW2wED6WbAy+OCxUqbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236894},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.1-preview-7665e9c3.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/3fd45d84a9903396a599b1275738563d/cloud-ru-ds-uikit-product-flex-1.0.1-preview-7665e9c3.0.tgz","_integrity":"sha512-aj9u4O3uXJdh6QOx2TASCtkC9y8j9ieqTs1Qwm0YA7nvxSmuJ2WZTC1oFT83manbCDC9GTQQ7jvf9ooKKjJSQA==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"1.0.1-preview-7665e9c3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.1-preview-7665e9c3.0_1787206705923_0.3274244918279354","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-preview-fb311860.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.1-preview-fb311860.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.1-preview-fb311860.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"5d25986c94568970448dfbbf6733c7d1b4f56524","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.1-preview-fb311860.0.tgz","fileCount":32,"integrity":"sha512-cfmfCM91uZpw9tmROJU0hdcuX7Ie7AoQyqeetVchmeCrcWPbOi/mhXIT51TWVOY6fEpYuIUBmZdHwRn0wRzjqg==","signatures":[{"sig":"MEUCIQDi5b6bIvHxtVTwPJzA1LR8kiOweHBExEYbXx0CblFFdwIgaLiv17l/Gb3S4VzkaDWk7H6r2hxPK3tIMMB9oy4nVGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236894},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.1-preview-fb311860.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/7953b1358c465ea9a5a71234c69dbcc1/cloud-ru-ds-uikit-product-flex-1.0.1-preview-fb311860.0.tgz","_integrity":"sha512-cfmfCM91uZpw9tmROJU0hdcuX7Ie7AoQyqeetVchmeCrcWPbOi/mhXIT51TWVOY6fEpYuIUBmZdHwRn0wRzjqg==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"1.0.1-preview-fb311860.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.1-preview-fb311860.0_1787209006851_0.45073641057499003","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-preview-95bfb925.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.1-preview-95bfb925.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.1-preview-95bfb925.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"b42ad799d34ad7a250bf5c60f8ab504ce8cb48a3","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.1-preview-95bfb925.0.tgz","fileCount":32,"integrity":"sha512-Bj5iZT3PW54jELTzln0v9QIXZ0ZrCjfHmdqO0xUtNRaw5LpjXCwZj79zkuOUGD0do0nclNizzUzsS6TbtBH7lw==","signatures":[{"sig":"MEUCIQDO3E++T1PQ94nMyluLZ2ewo8h7mb3xc28RYLYeb8H+ggIgZu4JKc+2nZOPN/RFEg3E1wHbx04Rf3BVNyyH3dkvENQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236894},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.1-preview-95bfb925.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/2fd46cddd829e3cd52d03e620362b39f/cloud-ru-ds-uikit-product-flex-1.0.1-preview-95bfb925.0.tgz","_integrity":"sha512-Bj5iZT3PW54jELTzln0v9QIXZ0ZrCjfHmdqO0xUtNRaw5LpjXCwZj79zkuOUGD0do0nclNizzUzsS6TbtBH7lw==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"1.0.1-preview-95bfb925.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.1-preview-95bfb925.0_1787566083052_0.8185579000208616","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.1","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.1","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"587cb547cb95acbf2842966cdf6640e3bbe52168","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.1.tgz","fileCount":32,"integrity":"sha512-l0owHN1KK2cFhQNzgc2ywN9xuEwDHcqAYbI+jEM0NVbULyusoF3VQsRo2U0Lx1ZsTLhy2yykjWtrvVHeFFd6eQ==","signatures":[{"sig":"MEUCIQCLsPo0dYxPA0mHnZ4uRSboXw2uJbVXlygV55lHFZ4xzAIgHyOMjpgpN/q84Z3MCXB7K/kyXioVpffrQ+Qk+cYE9ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236944},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.1.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/4b7c6d33b6c0979f73a8d11d9b75827c/cloud-ru-ds-uikit-product-flex-1.0.1.tgz","_integrity":"sha512-l0owHN1KK2cFhQNzgc2ywN9xuEwDHcqAYbI+jEM0NVbULyusoF3VQsRo2U0Lx1ZsTLhy2yykjWtrvVHeFFd6eQ==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.1_1787569339829_0.49905844652907794","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-preview-a2208aeb.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.2-preview-a2208aeb.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.2-preview-a2208aeb.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"163bf0f244d495d827f99a659ba1af1c95812afd","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.2-preview-a2208aeb.0.tgz","fileCount":32,"integrity":"sha512-C7OnwltIjOsdRZQwTnSYeAzSSQp9DbPkUpIL6aO8Tgn0YjBRDSoX9RGFy5zK6r4fpBC7d0T/pMwL8VsW1H9ZFA==","signatures":[{"sig":"MEUCIQCy7NgcodHMNDUuvkVmHv9GZ5x/aF7GEm77Bvc0noV7mAIgGDQP6tR9FaqSAy9z/Z/ig5vrl1d/U7/IQLSr4BHHBcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH5xJTzG4DdFqtCKShsDHqMgGW6vahlECkqIV1+QMak+AiBqXwoLIrg2mxoudt1/OdUegj/jjsoDPrn2d9Wkj5waYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237091},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.2-preview-a2208aeb.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/c096986c8f2f9c27e6a72ae57ce086b3/cloud-ru-ds-uikit-product-flex-1.0.2-preview-a2208aeb.0.tgz","_integrity":"sha512-C7OnwltIjOsdRZQwTnSYeAzSSQp9DbPkUpIL6aO8Tgn0YjBRDSoX9RGFy5zK6r4fpBC7d0T/pMwL8VsW1H9ZFA==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.2-preview-a2208aeb.0_1790236674887_0.1383870055521743","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-preview-d50a3da1.0":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.2-preview-d50a3da1.0","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.2-preview-d50a3da1.0","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"41cf8bbf1df6d75054ea7ff880d243c93ad8fc86","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.2-preview-d50a3da1.0.tgz","fileCount":32,"integrity":"sha512-FFouZ+SvsvO9Iqj4G8DfUcT8s+B+FFshE9gp7w6+t5I5Ba2VUYMyfwrlMPE2pZjHij6kGUq/AXWTppT7s3EJKQ==","signatures":[{"sig":"MEUCIQDn29V/jZJgGUOm5EmxtwpBrXHt7JeBmy7ZY0M2bcl3HAIgGIIr9v2cfMwVVxOD25rq/FGWQibLlkMfXpQTlaqJ38I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDjznw/LOhhPf8nazawsOPgfJVmxQV8YQpg4ppr+c3qoAIhANNJ8fVX14lJLhMJIEs0tSL1pyMhUHF4PkhI0dSZhsYo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237091},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.2-preview-d50a3da1.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/6155798f3b46b5d78a3f030fe95ee270/cloud-ru-ds-uikit-product-flex-1.0.2-preview-d50a3da1.0.tgz","_integrity":"sha512-FFouZ+SvsvO9Iqj4G8DfUcT8s+B+FFshE9gp7w6+t5I5Ba2VUYMyfwrlMPE2pZjHij6kGUq/AXWTppT7s3EJKQ==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.2-preview-d50a3da1.0_1790327385833_0.5210986089414131","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cloud-ru/ds-uikit-product-flex","version":"1.0.2","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","_id":"@cloud-ru/ds-uikit-product-flex@1.0.2","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"df5f1c1bd6e8e128f0bd64ca988a85da65a0c5ff","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.2.tgz","fileCount":32,"integrity":"sha512-4VNfxe9XgjhSvAMhl06uQazhkfnxhhTmqR0+9NYyulDAElGVCAZROoKKgqVlHOBNCR25ADpt3TJohNzkmHSceg==","signatures":[{"sig":"MEQCIGutnUL78XtqADo4MknPs8gViuxsWKGHMwytn7yV/HNHAiBTyE6KwK30w1pDaVNCCJ9vyIKEdl3C0NLRNoylnVq6eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCedD/MZjORh+005zkIDFv5OytivO6j/FG0pY/xzooD+QIgT+UhRt+emzkyGr4B72K2Qc9IhJIz3RCjp3bMpAj7S4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237286},"main":"./dist/cjs/index.js","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.2.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"_resolved":"/tmp/e57db554be96f7a914cca2947a7dc06a/cloud-ru-ds-uikit-product-flex-1.0.2.tgz","_integrity":"sha512-4VNfxe9XgjhSvAMhl06uQazhkfnxhhTmqR0+9NYyulDAElGVCAZROoKKgqVlHOBNCR25ADpt3TJohNzkmHSceg==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds-uikit-product-flex_1.0.2_1790343762093_0.8341814082134786","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"_id":"@cloud-ru/ds-uikit-product-flex@1.0.3","bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"dist":{"shasum":"ac1d4e652ec782077a87a3f1f8c2c9f36b28df0e","tarball":"https://registry.npmjs.org/@cloud-ru/ds-uikit-product-flex/-/ds-uikit-product-flex-1.0.3.tgz","fileCount":32,"integrity":"sha512-Tl7RLMfQI5ZZ/db6fC79baWpG9Vb6fUX4JfHS9gx8f3s6OeN94UG7nyyDcGUvvrxQ+elO/53pbrU3iMHETBVvQ==","signatures":[{"sig":"MEUCIQD9imAQrWXAJVLwnAEGw+lmTm8OcIY5GrqBvf1sbV2iSQIgHPSjYT3kvYyqYvbmhNvOGSWbmkQqbfnrpx7E2/SwQTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD9xF8eoaz4jjHncRBtIZ4kCeg4gSMCkRhQIsUmp0ZDhwIgWLgfJZVu9Lp9EGgaXRW/lI8N76swbhELuahfbnNVhIA="}],"unpackedSize":237691},"main":"./dist/cjs/index.js","name":"@cloud-ru/ds-uikit-product-flex","type":"module","_from":"file:cloud-ru-ds-uikit-product-flex-1.0.3.tgz","types":"./dist/esm/index.d.ts","author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","source":"./src/index.ts","require":"./dist/cjs/index.js"}},"license":"Apache-2.0","version":"1.0.3","_npmUser":{"name":"cloud-ru-tech","email":"robot@cloud.ru"},"homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","_resolved":"/tmp/847f7af1f635f600cda45144586d1b1e/cloud-ru-ds-uikit-product-flex-1.0.3.tgz","_integrity":"sha512-Tl7RLMfQI5ZZ/db6fC79baWpG9Vb6fUX4JfHS9gx8f3s6OeN94UG7nyyDcGUvvrxQ+elO/53pbrU3iMHETBVvQ==","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"_npmVersion":"11.6.2","description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","directories":{},"maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"sideEffects":["*.css","**/*.css"],"_nodeVersion":"24.11.1","dependencies":{"classnames":"^2.5.1","@cloud-ru/ds-utils":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ds-uikit-product-flex_1.0.3_1790607053914_0.10761455123778196"}}},"time":{"created":"2026-08-18T12:38:45.065Z","modified":"2026-09-28T14:50:54.281Z","1.0.0":"2026-08-18T12:38:45.432Z","1.0.1-preview-7665e9c3.0":"2026-08-20T06:18:26.064Z","1.0.1-preview-fb311860.0":"2026-08-20T06:56:47.004Z","1.0.1-preview-95bfb925.0":"2026-08-24T10:08:03.205Z","1.0.1":"2026-08-24T11:02:19.975Z","1.0.2-preview-a2208aeb.0":"2026-09-24T07:57:54.963Z","1.0.2-preview-d50a3da1.0":"2026-09-25T09:09:45.917Z","1.0.2":"2026-09-25T13:42:42.227Z","1.0.3":"2026-09-28T14:50:54.000Z"},"bugs":{"url":"https://github.com/cloud-ru-tech/snack-v2/issues"},"author":{"name":"vvmurashov","email":"vvmurashov@cloud.ru"},"license":"Apache-2.0","homepage":"https://github.com/cloud-ru-tech/snack-v2/tree/master/packages/uikit-product-flex","repository":{"url":"git+https://github.com/cloud-ru-tech/snack-v2.git","type":"git","directory":"packages/uikit-product-flex"},"description":"Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.","maintainers":[{"name":"cloud-ru-tech","email":"robot@cloud.ru"}],"readme":"# Flex\n\n`@cloud-ru/ds-uikit-product-flex` — Контейнер для flex-раскладки: направление, выравнивание, перенос и отступы между детьми.\n\nКонтейнер для flex-раскладки. Управляет направлением, выравниванием, переносом и отступами между детьми через пропсы — без ручных `display: flex` и `gap` в разметке потребителя.\n\n## Когда использовать\n\n- Нужно расположить несколько элементов в ряд или столбец с предсказуемым отступом между ними.\n- Требуется выравнивание группы по главной (`justify`) или поперечной (`align`) оси.\n- Элементы должны переноситься на новую строку при нехватке места (`wrap`).\n\nКогда **не** нужен:\n\n- Двумерная сетка с явными строками и колонками:\n  - используйте CSS Grid.\n- Единичный элемент без соседей — обёртка-flex ничего не даёт.\n\n## Анатомия\n\n### Direction (default `row`)\n\nНаправление главной оси (проп `direction`). Тип — `Extract` валидных значений `flex-direction`:\n\n- `row` / `row-reverse` — строка (и в обратном порядке).\n- `column` / `column-reverse` — столбец (и в обратном порядке).\n\n### Justify\n\nВыравнивание по главной оси (`justify-content`). Тип — `Extract` из `CSSProperties['justifyContent']`:\n\n- `flex-start` / `center` / `flex-end` — к началу / центру / концу.\n- `space-between` / `space-around` / `space-evenly` / `stretch` — распределение свободного пространства.\n\n### Align\n\nВыравнивание по поперечной оси (`align-items`). Тип — `Extract` из `CSSProperties['alignItems']`:\n\n- `flex-start` / `center` / `flex-end` — к началу / центру / концу.\n- `self-start` / `self-end` — по краю с учётом `align-self`.\n- `baseline` — по базовой линии текста.\n- `stretch` — растянуть детей по поперечной оси.\n\n### Align content\n\nВыравнивание строк многострочного flex (`align-content`, проп `alignContent`, работает при `wrap`).\nТип — `Extract` из `CSSProperties['alignContent']`: `flex-start` / `center` / `flex-end` /\n`space-between` / `space-around` / `space-evenly` / `stretch` / `baseline`.\n\n### Wrap (default `nowrap`)\n\nПеренос детей (`flex-wrap`). Принимает `boolean` (`true` → `wrap`) либо явное значение:\n\n- `nowrap` — без переноса.\n- `wrap` — перенос на новую строку.\n- `wrap-reverse` — перенос в обратном порядке.\n\n### Gap (default нет)\n\nОтступ между детьми. Пропсы `gap` (CSS `gap`), `columnGap` (`column-gap`) и `rowGap`\n(`row-gap`) принимают **только** токен модульной шкалы (m = модуль 8px, привязан к\ndimension-токенам DS). Произвольные числа/строки не поддерживаются.\n\nМодульная шкала:\n\n- `025m` — 2px\n- `050m` — 4px\n- `1m` — 8px\n- `2m` — 16px\n- `3m` — 24px\n- `4m` — 32px\n- `5m` — 40px\n- `6m` — 48px\n- `7m` — 56px\n- `8m` — 64px\n- `9m` — 72px\n- `10m` — 80px\n\nТокены резолвятся через `data-*` + SCSS в CSS-переменные `--sn-primitive-dimension-*` (тема, override через CSS), без инлайн-стилей.\n\n### Overflow\n\nПоведение переполнения по осям (`overflow` / `overflowX` / `overflowY`). Тип — `Extract` из\n`CSSProperties['overflow']`:\n\n- `visible` — контент выходит за границы (по умолчанию).\n- `hidden` / `clip` — обрезается.\n- `scroll` — всегда со скроллом.\n- `auto` — скролл при переполнении.\n\n### Size (width / height / flex)\n\n`width`, `height` и `flex` используют один тип `Size`:\n\n- keyword `ElementSize` — `max-content` / `min-content` / `fit-content` / `auto` / `inherit` / `initial` / `unset`. Резолвится через `data-*` + SCSS.\n- число — интерпретируется как px для `width`/`height` (`width={200}`), как `flex-grow` для `flex` (`flex={1}`). Инлайн-стилем.\n- CSS-строку — `'50%'`, `'12rem'`, для `flex` — shorthand `'1 1 auto'`. Инлайн-стилем.\n\n`fullWidth` — shorthand для `width: 100%`.\n\n## Установка\n\n```bash\npnpm add @cloud-ru/ds-uikit-product-flex\n```\n\n```ts\nimport { Flex } from '@cloud-ru/ds-uikit-product-flex'\nimport '@cloud-ru/ds-uikit-product-flex/style.css'\n```\n\n## Примеры использования\n\n### Тулбар\n\nГлавная и вторичные действия по краям, выравнивание по центру.\n\n```tsx\nimport { Button } from '@cloud-ru/ds-button';\nimport { Flex } from '@cloud-ru/ds-uikit-product-flex';\n\nexport function Toolbar() {\n  return (\n    <Flex justify='space-between' align='center' gap='2m' fullWidth>\n      <Button label='Назад' view='outline' appearance='neutral' />\n      <Flex gap='1m'>\n        <Button label='Отмена' view='outline' appearance='neutral' />\n        <Button label='Сохранить' />\n      </Flex>\n    </Flex>\n  );\n}\n```\n\n### Вертикальный стек\n\ndirection='column' + gap для колонки одинаковой ширины.\n\n```tsx\nimport { Button } from '@cloud-ru/ds-button';\nimport { Flex } from '@cloud-ru/ds-uikit-product-flex';\n\nexport function Stack() {\n  return (\n    <Flex direction='column' gap='1m' width={220}>\n      <Button label='Первый' fullWidth />\n      <Button label='Второй' fullWidth view='outline' appearance='neutral' />\n      <Button label='Третий' fullWidth view='outline' appearance='neutral' />\n    </Flex>\n  );\n}\n```\n\n### Перенос\n\nwrap + gap в узком контейнере фиксированной ширины.\n\n```tsx\nimport { Flex } from '@cloud-ru/ds-uikit-product-flex';\n\nconst items = ['React', 'TypeScript', 'SCSS', 'Vite', 'Storybook', 'Playwright'];\n\nconst chipStyle = {\n  display: 'inline-flex',\n  alignItems: 'center',\n  padding: '4px 12px',\n  borderRadius: 16,\n  background: 'var(--sn-theme-color-neutral-background1Level)',\n  boxShadow: 'inset 0 0 0 1px var(--sn-theme-color-available-borderColor)',\n} as const;\n\nexport function WrapTags() {\n  return (\n    <Flex wrap gap='1m' width={240}>\n      {items.map(item => (\n        <span key={item} style={chipStyle}>\n          {item}\n        </span>\n      ))}\n    </Flex>\n  );\n}\n```\n\n## Props\n\n**FlexProps**\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `align` | `\"baseline\"` \\| `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"self-end\"` \\| `\"self-start\"` \\| `\"stretch\"` | — | Выравнивание по поперечной оси (`align-items`). |\n| `alignContent` | `\"baseline\"` \\| `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"space-around\"` \\| `\"space-between\"` \\| `\"space-evenly\"` \\| `\"stretch\"` | — | Выравнивание строк многострочного flex (`align-content`, работает при `wrap`). |\n| `as` | `ElementType` | — | Элемент или компонент для рендера. По умолчанию `div`. |\n| `children` | `ReactNode` | — | Содержимое контейнера. |\n| `className` | `string` | — | Дополнительный класс. |\n| `columnGap` | `\"025m\"` \\| `\"050m\"` \\| `\"10m\"` \\| `\"1m\"` \\| `\"2m\"` \\| `\"3m\"` \\| `\"4m\"` \\| `\"5m\"` \\| `\"6m\"` \\| `\"7m\"` \\| `\"8m\"` \\| `\"9m\"` | — | Отступ между колонками (CSS `column-gap`). Только токен модульной шкалы (см. `gap`). |\n| `data-test-id` | `string` | — | Стабильный идентификатор для e2e/tests. |\n| `direction` | `\"column\"` \\| `\"column-reverse\"` \\| `\"row\"` \\| `\"row-reverse\"` | — | Направление главной оси (`flex-direction`). По умолчанию `row`. |\n| `flex` | `Size` | — | Значение CSS-свойства `flex`. Keyword (`ElementSize` — `auto` / `max-content` / … → <br/> через `data-*`), число (`flex-grow`) или shorthand-строка (`'1 1 auto'`). |\n| `fullWidth` | `boolean` | `false` | Растянуть контейнер на всю ширину родителя (`width: 100%`). |\n| `gap` | `\"025m\"` \\| `\"050m\"` \\| `\"10m\"` \\| `\"1m\"` \\| `\"2m\"` \\| `\"3m\"` \\| `\"4m\"` \\| `\"5m\"` \\| `\"6m\"` \\| `\"7m\"` \\| `\"8m\"` \\| `\"9m\"` | — | Отступ между детьми (CSS `gap`). Только токен модульной шкалы (привязан к <br/> dimension-токенам DS). <br/> <pre> <br/> 025m - 2px <br/> 050m - 4px <br/> 1m - 8px <br/> 2m - 16px <br/> 3m - 24px <br/> 4m - 32px <br/> 5m - 40px <br/> 6m - 48px <br/> 7m - 56px <br/> 8m - 64px <br/> 9m - 72px <br/> 10m - 80px <br/> </pre> |\n| `height` | `Size` | — | Высота контейнера. Keyword (`ElementSize`), число (px) или CSS-строка (`'50%'`). |\n| `innerRef` | `PolymorphicRef` | — | Ref на реальный DOM-элемент/инстанс, который рендерится через `as`. |\n| `justify` | `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"space-around\"` \\| `\"space-between\"` \\| `\"space-evenly\"` \\| `\"stretch\"` | — | Выравнивание по главной оси (`justify-content`). |\n| `overflow` | `\"auto\"` \\| `\"clip\"` \\| `\"hidden\"` \\| `\"scroll\"` \\| `\"visible\"` | — | Переполнение по обеим осям (`overflow`). |\n| `overflowX` | `\"auto\"` \\| `\"clip\"` \\| `\"hidden\"` \\| `\"scroll\"` \\| `\"visible\"` | — | Переполнение по горизонтали (`overflow-x`). |\n| `overflowY` | `\"auto\"` \\| `\"clip\"` \\| `\"hidden\"` \\| `\"scroll\"` \\| `\"visible\"` | — | Переполнение по вертикали (`overflow-y`). |\n| `rowGap` | `\"025m\"` \\| `\"050m\"` \\| `\"10m\"` \\| `\"1m\"` \\| `\"2m\"` \\| `\"3m\"` \\| `\"4m\"` \\| `\"5m\"` \\| `\"6m\"` \\| `\"7m\"` \\| `\"8m\"` \\| `\"9m\"` | — | Отступ между строками (CSS `row-gap`). Только токен модульной шкалы (см. `gap`). |\n| `style` | `CSSProperties` | — | Инлайн-стили, домешиваются последними и перекрывают `width`/`height`/`flex`. |\n| `width` | `Size` | — | Ширина контейнера. Keyword (`ElementSize`), число (px) или CSS-строка (`'50%'`). |\n| `wrap` | `Wrap` | — | Перенос детей (`flex-wrap`). `true` → `wrap`, `false` → `nowrap`, <br/> либо явное значение `nowrap` \\| `wrap` \\| `wrap-reverse`. |\n\n#### Related types\n\n- `Align` = `\"baseline\"` \\| `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"self-end\"` \\| `\"self-start\"` \\| `\"stretch\"`\n\n- `AlignContent` = `\"baseline\"` \\| `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"space-around\"` \\| `\"space-between\"` \\| `\"space-evenly\"` \\| `\"stretch\"`\n\n- `Direction` = `\"column\"` \\| `\"column-reverse\"` \\| `\"row\"` \\| `\"row-reverse\"`\n\n- `GapToken` = `\"025m\"` \\| `\"050m\"` \\| `\"10m\"` \\| `\"1m\"` \\| `\"2m\"` \\| `\"3m\"` \\| `\"4m\"` \\| `\"5m\"` \\| `\"6m\"` \\| `\"7m\"` \\| `\"8m\"` \\| `\"9m\"`\n\n- `Justify` = `\"center\"` \\| `\"flex-end\"` \\| `\"flex-start\"` \\| `\"space-around\"` \\| `\"space-between\"` \\| `\"space-evenly\"` \\| `\"stretch\"`\n\n- `Overflow` = `\"auto\"` \\| `\"clip\"` \\| `\"hidden\"` \\| `\"scroll\"` \\| `\"visible\"`\n\n- `PolymorphicRef` = `ComponentPropsWithRef<T>[\"ref\"]`\n\n- `Size` = `number | (string & {}) | ElementSize`\n\n- `Wrap` = `\"nowrap\"` \\| `\"wrap\"` \\| `\"wrap-reverse\"`\n\n## Do / Don't\n\n- ✅ Задавайте отступы через `gap` (токен модульной шкалы) — единый ритм с дизайн-системой.\n- ❌ Не вставляйте distance-обёртки или `margin` между детьми вручную.\n- ✅ Для произвольной ширины/высоты используйте `width` / `height` (число, keyword `ElementSize` или CSS-строка).\n- ❌ Не оборачивайте `Flex` в дополнительный `div` со своим `display: flex` ради выравнивания.\n- ✅ Берите `Flex` для одномерной раскладки (ряд или столбец).\n- ❌ Не стройте на `Flex` двумерные сетки — это задача CSS Grid.\n- ✅ Полиморфизм через `as` (`as='nav'`, `as='ul'`) — семантический тег без потери раскладки.\n- ❌ Не дублируйте `Flex` ради смены тега — передайте `as`.\n","readmeFilename":"README.md"}